MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)課件:數(shù)據(jù)庫(kù)設(shè)計(jì)案例_第1頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)課件:數(shù)據(jù)庫(kù)設(shè)計(jì)案例_第2頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)課件:數(shù)據(jù)庫(kù)設(shè)計(jì)案例_第3頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)課件:數(shù)據(jù)庫(kù)設(shè)計(jì)案例_第4頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)課件:數(shù)據(jù)庫(kù)設(shè)計(jì)案例_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)設(shè)計(jì)案例MySQL數(shù)據(jù)庫(kù)應(yīng)用技術(shù)知識(shí)目標(biāo)(1)掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的流程;(2)了解圖書(shū)管理系統(tǒng)各功能模塊的劃分;能力目標(biāo)素養(yǎng)目標(biāo)思政目標(biāo)(1)能熟練的進(jìn)行圖書(shū)管理系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì);(2)能開(kāi)發(fā)圖書(shū)管理系統(tǒng)各功能模塊,實(shí)現(xiàn)簡(jiǎn)單的增刪改查功能。(1)增強(qiáng)實(shí)際動(dòng)手能力;(2)養(yǎng)成良好的代碼編寫習(xí)慣。(1)培養(yǎng)學(xué)生主動(dòng)學(xué)習(xí)的意識(shí)和興趣,以及對(duì)終身學(xué)習(xí)的認(rèn)同感。一教學(xué)目標(biāo)教學(xué)重點(diǎn)、難點(diǎn)1.數(shù)據(jù)庫(kù)設(shè)計(jì)2.功能模塊劃分重點(diǎn)難點(diǎn)1.頁(yè)面設(shè)計(jì)2.代碼實(shí)現(xiàn)二三

學(xué)習(xí)任務(wù)完成圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)及系統(tǒng)開(kāi)發(fā),要求如下:1.繪制E-R圖;2.創(chuàng)建表;3.創(chuàng)建視圖、索引、序列、同義詞等其他數(shù)據(jù)庫(kù)對(duì)象;4.編寫實(shí)現(xiàn)用戶登錄、注冊(cè)、圖書(shū)錄入、修改、刪除和查詢等功能;授課內(nèi)容110.1.1繪制E-R圖210.1.2創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象310.1.3創(chuàng)建表的命令四

任務(wù)1數(shù)據(jù)庫(kù)設(shè)計(jì)思維導(dǎo)圖10.1.1

繪制E-R圖圖書(shū)管理系統(tǒng)中涉及的對(duì)象主要包括管理員、教師、學(xué)生和圖書(shū)等,主要實(shí)現(xiàn)新書(shū)的入庫(kù)、圖書(shū)的借出、歸還以及對(duì)現(xiàn)有圖書(shū)的查詢、信息修改和下架操作。

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象根據(jù)E-R圖,本系統(tǒng)共設(shè)計(jì)了圖書(shū)表、圖書(shū)類型表、書(shū)架表、管理員表、學(xué)生表、教師表、學(xué)生圖書(shū)借閱表和教師圖書(shū)借閱表等。另外本系統(tǒng)還設(shè)計(jì)了索引、序列、視圖和同義詞等其他數(shù)據(jù)庫(kù)對(duì)象。1.創(chuàng)建數(shù)據(jù)表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明typeIdint

Primarykey圖書(shū)類型typeNamevarchar20Notnull類型名稱daysint

Notnull可借天數(shù)(1)圖書(shū)類型表

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(2)圖書(shū)表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明barCodevarchar30Primarykey條形碼bookNamevarchar50Notnull圖書(shū)名稱typeIdint

Notnull圖書(shū)類型authorvarchar20Notnull作者publishervarchar30Notnull出版社isbnvarchar30NotnullISBNpricefloat7,2Notnull價(jià)格bookcaseIdint

Notnull書(shū)架號(hào)

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(3)書(shū)架表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明bookcaseIdint

Primarykey書(shū)架號(hào)bookcaseNamevarchar20Notnull書(shū)架名稱(4)管理員表列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明Manager_idint

Primarykey管理員賬戶Manager_namevarchar20Notnull管理員姓名Manager_pwdvarchar20Notnull密碼Manager_telvarchar20Notnull電話

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(5)學(xué)生表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明Stu_noint

Primarykey學(xué)號(hào)Stu_namevarchar20Notnull姓名sexvarchar10Notnull性別Stu_collegevarchar30Notnull學(xué)院Stu_majorvarchar30Notnull專業(yè)Stu_classvarchar30Notnull班級(jí)Stu_dormvarchar30Notnull宿舍Stu_telvarchar20Notnull電話emailvarchar50NotnullE-mailremarkvarchar100

備注

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(6)教師表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明tea_noint

Primarykey職工號(hào)Tea_namevarchar20Notnull姓名Tea_collegevarchar30Notnull所在學(xué)院Tea_telvarchar20Notnull電話(7)學(xué)生圖書(shū)借閱表列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明Stu_noint

Primarykey學(xué)號(hào)barCodevarchar30Notnull條形碼Borrow_timedatetime

Notnull借閱時(shí)間Return_timedatetime

Notnull應(yīng)還時(shí)間

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(8)教師圖書(shū)借閱表10.1.2列名數(shù)據(jù)類型長(zhǎng)度約束說(shuō)明tea_noint

Primarykey教師工號(hào)barCodevarchar30Notnull條形碼Borrow_timedatetime

Notnull借閱時(shí)間Return_timedatetime

Notnull應(yīng)還時(shí)間

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象2.創(chuàng)建索引10.1.2對(duì)象命令說(shuō)明作用索引CREATEBITMAPINDEXstudent_sex_bitmapONSTUDENT(sex)學(xué)生表索引列為性別的位圖索引只需要更少的存儲(chǔ)空間,這樣每次讀取可以讀更多的記錄,連接和聚集都變成了位算數(shù)運(yùn)算,大大減少了運(yùn)行時(shí)間,從而得到性能上的極大提升。CREATEBITMAPINDEXbook_typeid_bitmapONBOOK(typeId)圖書(shū)表索引列為圖書(shū)類型的位圖索引CREATEBITMAPINDEXbook_bookcaseid_bitmapONBOOK(bookcaseId)圖書(shū)表索引列為書(shū)架號(hào)的位圖索引CREATEUNIQUEINDEXbook_barcode_uniqueonBOOK(barCode)圖書(shū)表索引列為圖書(shū)條形碼的唯一索引唯一索引是不允許其中任何兩行具有相同的索引值。CREATEUNIQUEINDEXteacher_uniqueonTEACHER(tea_no)教師表索引列為教師工號(hào)的唯一索引

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象3.創(chuàng)建序列10.1.2對(duì)象命令說(shuō)明作用序列CREATESEQUENCEbook_squSTARTWITH10001INCREMENTBY1CACHE20NOCYCLE圖書(shū)表序列,開(kāi)始值為10001,增量為1,緩存序列值為20,不循環(huán)自動(dòng)生成唯一整數(shù)CREATESEQUENCEbooktype_squSTARTWITH1INCREMENTBY1CACHE10圖書(shū)類型表序列,開(kāi)始值為1,增量為1,緩存序列值為10,不循環(huán)CREATESEQUENCEbookcase_squSTARTWITH101INCREMENTBY1CACHE10書(shū)架表序列,開(kāi)始值為101,增量為1,緩存序列值為10,不循環(huán)CREATESEQUENCEmanager_squSTARTWITH2017010000INCREMENTBY1CACHE10NOCYCLE管理員表序列,開(kāi)始值為2017010000,增量為1,緩存序列值為10,不循環(huán)

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象4.創(chuàng)建視圖10.1.2對(duì)象命令說(shuō)明作用視圖Createorreplaceviewjyphbasselectpublisher,isbn,bookcaseIdfrombook,(selectbarCode,count(*)wherebook.barCode=t1.barCode;創(chuàng)建視圖按照借閱次數(shù)降序排序,形成借閱排行榜簡(jiǎn)化查詢

創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象5.創(chuàng)建同義詞10.1.2對(duì)象命令說(shuō)明作用同義詞Createpublicsynonymbookforroot.book;圖書(shū)表公有同義詞,每個(gè)用戶都能訪問(wèn)該對(duì)象方便引用對(duì)象、簡(jiǎn)化查詢及保證數(shù)據(jù)安全Createprivatesynonymmanagerforroot.manager;管理員表私有同義詞,只有管理員才能訪問(wèn)該對(duì)象Createpublicsynonymphbforroot.jyphb;借閱排行榜公有同義詞,每個(gè)用戶都能訪問(wèn)該對(duì)象Createprivatesynonymunreturnforroot.unreturn;逾期未還書(shū)表私有同義詞,只有管理員才能訪問(wèn)該對(duì)象

創(chuàng)建表命令10.1.31.圖書(shū)表Createtablebook(barCodevarchar(30)primarykey,bookNamevarchar(50)notnull,typeIdintnotnull,Authorvarchar(20)notnull,Publishervarchar(30)notnull,Isbnvarchar(30)notnull,Pricefloat(7,2)notnull,bookcaseIdintnotnull)2.圖書(shū)類型表Createtablebooktype(typeIdintprimarykey,typeNamevarchar(20)notnull,Daysintnotnull)3.書(shū)架表Createtablebookcase(bookcaseIdintprimarykey,bookcaseNamevarchar(20)notnull)5.管理員表Createtablemanager(Manager_idintprimarykey,Manager_namevarchar(20)notnull,Manager_pwdvarchar(20)notnull)4.學(xué)生表Createtablestudent(Stu_nointprimarykey,Stu_namevarchar(20)notnull,Sexvarchar(10)notnull,Stu_collegevarchar(30)notnull,Stu_majorvarchar(30)notnull,Stu_classvarchar(30)notnull,Stu_dormvarchar(30)notnull,Stu_telvarchar(20)notnull,Emailvarchar(50)notnull,Remarkvarchar(100))

創(chuàng)建表命令10.1.36.教師表Createtableteacher(Tea_nointprimarykey,Tea_namevarchar(20)notnull,Tea_collegevarchar(30)notnull,Tea_telvarchar(20)notnull)7.學(xué)生圖書(shū)借閱表Createtablestudent_borrow(Stu_nointprimarykey,barCodevarchar(30)notnull,Borrow_timedatetimenotnull,Return_timedatetimenotnull)8.教師圖書(shū)借閱表Createtableteacher_borrow(tea_nointprimarykey,barCodevarchar(30)notnull,Borrow_timedatetimenotnull,Return_timedatetimenotnull)課堂總結(jié)繪制E-R圖123創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象創(chuàng)建表;創(chuàng)建索引;創(chuàng)建序列;創(chuàng)建視圖;創(chuàng)建同義詞。創(chuàng)建表命令編寫創(chuàng)建表命令授課內(nèi)容10.2.1用戶登錄及注冊(cè)110.2.2圖書(shū)管理210.2.3功能代碼編寫3五

任務(wù)2系統(tǒng)開(kāi)發(fā)思維導(dǎo)圖9.2.1

用戶登錄及注冊(cè)本系統(tǒng)基于B/S結(jié)構(gòu),采用MVC開(kāi)發(fā)模式,主要用戶為學(xué)生、教師和管理員,系統(tǒng)總體功能包括用戶登錄、用戶注冊(cè)、圖書(shū)的錄入、修改、刪除、查詢、瀏覽以及用戶口令修改等。在瀏覽器中輸入網(wǎng)址,確認(rèn)后進(jìn)入系統(tǒng)登錄頁(yè)面。10.2.19.2.1

圖書(shū)管理

圖書(shū)管理主界面中以列表的方式列出所有圖書(shū)的詳細(xì)信息,單擊圖書(shū)錄入按鈕可以錄入圖書(shū)信息,錄入后即可在圖書(shū)管理界面中進(jìn)行顯示,單擊修改按鈕,彈出圖書(shū)修改界面,可以修改相應(yīng)的圖書(shū)信息,單擊刪除按鈕會(huì)彈出對(duì)話框,提示確認(rèn)是否刪除,如確定則刪除對(duì)應(yīng)的圖書(shū)內(nèi)容。10.2.29.2.1

圖書(shū)管理10.2.29.2.1

圖書(shū)管理10.2.29.2.1

圖書(shū)管理10.2.29.2.1

部分功能代碼1.連接MySQL數(shù)據(jù)庫(kù)10.2.3publicclassJDBCConnectionFactory{publicstaticConnectiongetConnection(){ Connectionconn=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/demo?characterEncoding=utf8&characterSetResults=utf8", "root","111"); }catch(Exceptione){ } returnconn;}}9.2.1

部分功能代碼2.BookDAO圖書(shū)數(shù)據(jù)處理10.2.3publicclassBookDAO{//錄入圖書(shū)信息publicvoidinsert(intbarCode,StringbookName,inttypeId,Stringauthor,Stringpublisher,Stringisbn,floatprice,intbookcaseId){ Connectionconn=JDBCConnectionFactory.getConnection(); Stringsql="insertintobookvalues(?,?,?,?,?,?,?,?)"; try{ PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setInt(1,barCode); pstmt.setString(2,bookName); pstmt.setInt(3,typeId); pstmt.setString(4,author); pstmt.setString(5,publisher); pstmt.setString(6,isbn); pstmt.setFloat(7,price); pstmt.setInt(8,bookcaseId); pstmt.executeUpdate(); }catch(Exceptione){ }}9.2.1

部分功能代碼2.BookDAO圖書(shū)數(shù)據(jù)處理10.2.3//刪除圖書(shū)信息publicintdelete(intbarCode){ intn=0; Connectionconn=JDBCConnectionFactory.getConnection(); Stringsql="deletefrombookwherebarCode=?"; try{ PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setInt(1,barCode); n=pstmt.executeUpdate(); }catch(Exceptione){ } returnn; }9.2.1

部分功能代碼2.BookDAO圖書(shū)數(shù)據(jù)處理10.2.3//修改圖書(shū)信息publicvoidupdate(intbarCode,StringbookName,inttypeId,Stringauthor,Stringpublisher,Stringisbn,floatprice,intbookcaseId){ Connectionconn=JDBCConnectionFactory.getConnection(); Stringsql="updatebooksetbookName=?,typeId=?,author=?,publisher=?,isbn=?,price=?,bookcaseId=?wherebarCode=?"; try{ PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setString(1,bookName); pstmt.setInt(2,typeId); pstmt.setString(3,author); pstmt.setString(4,publisher); pstmt.setString(5,isbn); pstmt.setFloat(6,price); pstmt.setInt(7,bookcaseId); pstmt.setInt(8,barCode); pstmt.executeUpdate(); }catch(Exceptione){ }}9.2.1

部分功能代碼2.BookDAO圖書(shū)數(shù)據(jù)處理10.2.3//

溫馨提示

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

評(píng)論

0/150

提交評(píng)論