《Python程序設(shè)計與算法基礎(chǔ)教程》課件(含思政案例) Ch16 數(shù)據(jù)庫訪問_第1頁
《Python程序設(shè)計與算法基礎(chǔ)教程》課件(含思政案例) Ch16 數(shù)據(jù)庫訪問_第2頁
《Python程序設(shè)計與算法基礎(chǔ)教程》課件(含思政案例) Ch16 數(shù)據(jù)庫訪問_第3頁
《Python程序設(shè)計與算法基礎(chǔ)教程》課件(含思政案例) Ch16 數(shù)據(jù)庫訪問_第4頁
《Python程序設(shè)計與算法基礎(chǔ)教程》課件(含思政案例) Ch16 數(shù)據(jù)庫訪問_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Ch16數(shù)據(jù)庫訪問本章要點:16.1數(shù)據(jù)庫基礎(chǔ)16.2Python數(shù)據(jù)庫訪問模塊16.3使用sqlite3模塊連接和操作SQLite數(shù)據(jù)庫16.4使用SQLiteStudio查看和維護(hù)SQLite數(shù)據(jù)庫資源下載提示2課件等資源:掃描封底的“課件下載”二維碼,在公眾號“書圈”中下載。素材(源碼):掃描本書目錄上方的二維碼下載。講解視頻:掃描封底刮刮卡中的二維碼,再掃描書中相應(yīng)章節(jié)中(位于每章最前)的二維碼,作為開源的補(bǔ)充閱讀和學(xué)習(xí)資源。

案例研究:掃描封底刮刮卡中的二維碼,再掃描書中相應(yīng)章節(jié)中(位于每章最后)的二維碼,可以在線學(xué)習(xí)。每章練習(xí)題:掃描封底刮刮卡中的二維碼,再掃描每章習(xí)題部分的二維碼,下載本章練習(xí)題電子版。

題庫平臺:教師登錄網(wǎng)站(),聯(lián)系客服開通教師權(quán)限數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫存儲數(shù)據(jù)的倉庫,即存儲在計算機(jī)系統(tǒng)中結(jié)構(gòu)化的、可共享的相關(guān)數(shù)據(jù)的集合數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)用于管理數(shù)據(jù)的計算機(jī)軟件定義數(shù)據(jù)、操作數(shù)據(jù)以及維護(hù)數(shù)據(jù)目前流行的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品適合于企業(yè)用戶的網(wǎng)絡(luò)版DBMS:如Oracle、MicrosoftSQLServer、IBMDB2等適合于個人用戶的桌面DBMS:如MicrosoftAccess等數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,DBS)計算機(jī)硬件、操作系統(tǒng)、DBMS、開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員(DatabaseAdministrator,DBA)、用戶關(guān)系數(shù)據(jù)庫常用的數(shù)據(jù)庫模型層次模型(HierarchicalModel)、網(wǎng)狀模型(NetworkModel)、關(guān)系模型(RelationalModel)和面向?qū)ο蟮臄?shù)據(jù)模型(ObjectOrientedModel)一對一:如一個部門只能有一個經(jīng)理,而一個經(jīng)理只能在一個部門任職,部門和經(jīng)理為一對一的聯(lián)系。一對多:如一個部門有多名員工,而一名員工只能在一個部門工作,部門和員工為一對多的聯(lián)系。多對多:如一名學(xué)生可以選修多門課程,而一門課程可以有多名選修的學(xué)生,學(xué)生和課程是多對多的聯(lián)系。關(guān)系數(shù)據(jù)庫關(guān)系模型世界由實體(Entity)和聯(lián)系(Relationship)構(gòu)成三種聯(lián)系數(shù)據(jù)庫中的表行(Row)列(Column)主關(guān)鍵字(PrimaryKey)用于唯一確定一條記錄Python數(shù)據(jù)庫訪問模塊通用數(shù)據(jù)庫訪問模塊:ODBC&JDBC專用數(shù)據(jù)庫訪問模塊:

表16-1SQLite數(shù)據(jù)庫和sqlite3模塊SQLite是一款開源的輕型的數(shù)據(jù)庫SQLite支持的數(shù)據(jù)類型包括:NULL、INTEGER、REAL、TEXT和BLOB,分別對應(yīng)Python的數(shù)據(jù)類型:None、int、float、str和bytessqlite3模塊提供訪問和操作數(shù)據(jù)庫sqlite的各種功能使用sqlite3模塊連接和操作SQLite數(shù)據(jù)庫1.導(dǎo)入相應(yīng)的數(shù)據(jù)庫模塊2.建立數(shù)據(jù)庫連接,返回Connection對象3.創(chuàng)建游標(biāo)對象cur4.使用Cursor對象的execute執(zhí)行SQL命令返回結(jié)果5.獲取游標(biāo)的查詢結(jié)果集6.數(shù)據(jù)庫的提交和回滾7.關(guān)閉Cursor對象和Connection對象數(shù)據(jù)庫操作(1)【例16.1】創(chuàng)建數(shù)據(jù)庫和表。創(chuàng)建數(shù)據(jù)庫sales,并在其中創(chuàng)建表region,表中包含兩個列:id和name,其中id為主碼(primarykey)importsqlite3#創(chuàng)建SQLite數(shù)據(jù)庫:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#創(chuàng)建表regions,包含兩個列,id(主碼)和namecon.execute("createtableregion(idprimarykey,name)")數(shù)據(jù)庫操作(2)【例16.2】數(shù)據(jù)庫表記錄的插入、更新和刪除操作示例importsqlite3regions=[("021","上海"),('022',"天津"),("023","重慶"),("024","沈陽")]#打開SQLite數(shù)據(jù)庫:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#使用不同的方法分別插入一行數(shù)據(jù)con.execute("insertintoregion(id,name)values('020','廣東')")con.execute("insertintoregion(id,name)values(?,?)",('001','北京'))#插入多行數(shù)據(jù)con.executemany("insertintoregion(id,name)values(?,?)",regions)#修改一行數(shù)據(jù)con.execute("updateregionsetname=?whereid=?",('廣州','020'))#刪除一行數(shù)據(jù)n=con.execute("deletefromregionwhereid=?",("024",))print('刪除了',n.rowcount,'行記錄')mit()#提交con.close()#關(guān)閉數(shù)據(jù)庫數(shù)據(jù)庫操作(3)【例16.3】查詢數(shù)據(jù)表中的記錄信息importsqlite3#打開SQLite數(shù)據(jù)庫:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#查詢數(shù)據(jù)庫表的記錄內(nèi)容cur=con.execute("selectid,namefromregion")forrowincur:#循環(huán)輸出結(jié)果print(row)使用SQLiteStudio查看和維護(hù)SQLite數(shù)據(jù)庫使用SQLite可視化工具,可以方便查看程序運(yùn)行后更新數(shù)據(jù)庫的結(jié)果【例16.4】下載、安裝和使用SQLiteStudio.exe(1)下載SQLiteStudio。在瀏覽器中輸入SQLiteStudio官網(wǎng)地址https://sqlitestudio.pl/,下載最新版本(sqlitestudio-3.1.1.zip)。(2)運(yùn)行SQLiteStudio。解壓縮下載的文件到本地任何目錄下,雙擊運(yùn)行解壓縮的程序SQLiteStudio.exe,打開SQLiteStudio。(3)打開數(shù)據(jù)庫。按快捷鍵“Ctrl+O”,選擇打開數(shù)據(jù)“c:\pythonpa\d\DB\jwxt.db”,查看數(shù)據(jù)庫中表的結(jié)構(gòu),或者查看表的數(shù)據(jù)本章小結(jié)實驗和習(xí)題實例16.1~實例16.4復(fù)習(xí)題單選題填空題思考題案例研究1:基于數(shù)據(jù)庫和GUI的教務(wù)管理系統(tǒng)本章案例研究圖形用戶界面的教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn),幫助讀者深入了解使用wxPython和數(shù)據(jù)庫開發(fā)圖形用戶界面的數(shù)據(jù)庫應(yīng)用程序的思維和流程案例研究的解題思路和源代碼等以電子版形式提供,具體請掃描教程中的二維碼系統(tǒng)總體設(shè)計基于數(shù)據(jù)庫的GUI教務(wù)管理系統(tǒng)包括三種類型的用戶:教務(wù)員、教師和學(xué)生。只有登錄用戶才能夠使用該系統(tǒng)提供的功能。系統(tǒng)根據(jù)登錄用戶的權(quán)限,自動區(qū)分用戶身份,并顯示相應(yīng)的功能菜單頁面數(shù)據(jù)庫設(shè)計(1)用戶信息表(UserInfo)。用戶表用于儲存系統(tǒng)用戶信息(2)課程信息表(Course)。課程信息表用于儲存課程信息(3)教學(xué)班信息表(JXB)。教學(xué)班信息表用于儲存開課信息(4)學(xué)生成績表(Grads)。學(xué)生成績表用于儲存各教學(xué)班的選課學(xué)生及其成績功能模塊設(shè)計(1)所有用戶都可以使用“系統(tǒng)”和“幫助”菜單。包括“重新登錄”(ui_login.py,重新登錄)、“修改密碼”(ui_change_password.py,修改密碼)、“退出系統(tǒng)”(2)教務(wù)員角色可以使用“教務(wù)”菜單,包括“用戶管理”(ui_user.py,管理用戶信息)、“課程管理”(ui_course.py,管理課程信息)、“開課計劃”(ui_jxb.py,管理開課計劃,即教學(xué)班)(3)學(xué)生角色可以使用“學(xué)生”菜單,包括“學(xué)生選課”(ui_student.py,查看、選課或退選課程)(4)教師角色可以使用“教師”菜單,包括“成績登錄”(ui_teacher.py,查看所教授的教學(xué)班信息和登錄學(xué)生成績)教務(wù)管理系統(tǒng)的功能模塊及執(zhí)行流程數(shù)據(jù)模塊API設(shè)計及實現(xiàn)(1)數(shù)據(jù)模塊API設(shè)計及實現(xiàn)(2)【例CS17.1】教務(wù)管理系統(tǒng)數(shù)據(jù)模塊data.py的實現(xiàn)【例CS17.2】教務(wù)管理系統(tǒng)登錄模塊ui_login.py的實現(xiàn)【例CS17.3】教務(wù)管理系統(tǒng)主界面模塊ui_main.py的實現(xiàn)【例CS17.4】教務(wù)管理系統(tǒng)修改密碼模塊ui_change_password.py的實現(xiàn)【例CS17.5】教務(wù)管理系統(tǒng)用戶管理模塊ui_user.py的實現(xiàn)【例CS17.6】教務(wù)管理系統(tǒng)課程管理模塊ui_course.py的實現(xiàn)【例CS17.7】教務(wù)管理系統(tǒng)開課計劃模塊ui_jxb.py的實現(xiàn)【例CS17.8】教務(wù)管理系統(tǒng)學(xué)生選課管理模塊ui_student.py的實現(xiàn)【例CS17.9】教務(wù)管理系統(tǒng)教師登錄成績模塊ui_teacher.py的實現(xiàn)【例CS17.10】教務(wù)管理系統(tǒng)主模塊jwxt_main.py的實現(xiàn)教務(wù)管理系統(tǒng)的實現(xiàn)教務(wù)管理系統(tǒng)的實現(xiàn)界面(1)教務(wù)管理系統(tǒng)的實現(xiàn)界面(2)教務(wù)管理系統(tǒng)的實現(xiàn)界面(3)案例研究2:基于MySQL的庫存管理系統(tǒng)本章的案例研究2幫助讀者深入了解開發(fā)數(shù)據(jù)庫應(yīng)用程序的思維和流程本章第二個案例研究使用面向?qū)ο蠛蚆ySQL數(shù)據(jù)庫技術(shù),重構(gòu)第10章“基于模塊的庫存管理系統(tǒng)”的案例研究,幫助讀者深入了解基于MySQL的Python應(yīng)用程序開發(fā)流程案例研究的解題思路和源代碼等以電子版形式提供,具體請掃描教程中的二維碼庫存管理系統(tǒng)數(shù)據(jù)庫設(shè)計(1)產(chǎn)品信息(Products)。產(chǎn)品信息表用于儲存產(chǎn)品信息(2)貨架位置(Locations)。貨架位置表用于倉庫中的貨架位置(3)商品庫存信息表(Items)。商品庫存信息表用于商品信息(貨架上的產(chǎn)品)庫存管理系統(tǒng)API設(shè)計庫存管理系統(tǒng)設(shè)計為三個模塊文件,即data.py、ui.py和main.py庫存管理系統(tǒng)data.py負(fù)責(zé)數(shù)據(jù)的管理,其中定義了一個類LogisticsDB,包含創(chuàng)建數(shù)據(jù)庫連接、查詢數(shù)據(jù)庫表記錄、插入數(shù)據(jù)庫表記錄、刪除數(shù)據(jù)庫表記錄的方法庫存管理系統(tǒng)ui.py負(fù)責(zé)用戶界面交互主模塊main.py導(dǎo)入data和ui模塊庫存管理系統(tǒng)的功能設(shè)計(1)增加產(chǎn)品信息(2)產(chǎn)品信息報表(3)增加貨架位置(4)貨架位置報表(5)商品入庫管理(6)商品出庫管理(7)商品庫存信息報表主模塊main.py的實現(xiàn)主模塊導(dǎo)入data和ui模塊在main.py中,定義main()函數(shù),首先創(chuàng)建數(shù)據(jù)庫對象db=data.LogisticsDB(),用于處理MySQL數(shù)據(jù)庫操作。然后在無限循環(huán)中,調(diào)用mpt_for_action()顯示功能菜單,接受用戶輸入,并根據(jù)用戶的功能選擇,實現(xiàn)各模塊相應(yīng)功能【例CS21.1】庫存管理系統(tǒng)主模塊main.py用戶界面交互模塊ui.py的實現(xiàn)用戶界面交互模塊導(dǎo)入data模塊【例CS21.2】庫存管理系統(tǒng)用戶界面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論