『壹』 求一篇基於web的資料庫設計社會實踐調查報告
《基於web的資料庫設計實踐》
The Database Design Based On WEB Used In Remote Concurrent Design
Abstract: the paper analyses the database characteristics used in the remote concurrent proct design system based on Internet, deeply researches the database structure, interface and the method of the data safety.
Keywords: Internet, remote concurrent design, database based on Web
近年來,隨著Web技術的蓬勃發展,人們已不滿足於只在瀏覽器上獲取靜態的信息,想要通過它發表意見、查詢數據。隨著電子商務的普及人們開始參與一些網路商務活動,這就迫切需要實現Web與資料庫的互連[1]。產品異地並行設計對數據的要求有一定的特殊性,主要有(1)產品數據多種多樣。產品設計,特別是機械產品設計常常是大型而又復雜,在異地通過不同的設計小組,按不同的分工設計同一產品,所要管理和通訊的數據類型隨著分工的不同而有不同的表現形式,如常規的數字組成的數據集,以圖形、圖象形式表達的產品模型數據,以文字形式描述設計的文檔,還有圖表、公式等形式,復雜多樣。(2)產品數據交換頻繁,流量大。產品設計是一個協同工作的創造性集體智慧凝聚的過程,要使設計順利進行,分布在異地的不同設計小組之間就要經常性地進行數據交換,並且有些形式表達的產品數據是較大的文件。(3)產品數據的一致性要求高。分工合作的不同設計小組之間的設計任務是彼此關聯,互相依賴的。如果其中一個數據改變了,相關聯的數據必須跟著改變,在Web資料庫設計時必須考慮數據的一致性問題。(4)產品數據的並發性訪問頻繁。由於異地產品設計的特殊屬性,數據的並發性訪問非常頻繁。所以,進行基於Internet的產品異地並行設計的Web資料庫設計與一般的電子商務不同,要充分考慮以上屬性。本文結合我們近期開發的機械產品異地並行設計系統(RCDS, Remote Concurrent Design System),綜合比較了多種當今流行的網路數據存取技術,設計出可靠安全的資料庫系統。
1 Web資料庫連接方案
1.1資料庫連接方案選擇
RDO、DAO和ADO是比較常見的Web資料庫訪問技術。
DAO (Data Access Objects) 數據訪問對象是第一個面向對象的介面,它含有 Microsoft Jet 資料庫引擎(由 Microsoft Access 所使用),並允許 Visual Basic 開發者通過 ODBC 象連接到其他資料庫一樣,直接訪問到 Access 表。DAO 最適用於單系統應用程序或小范圍本地分布使用,對大范圍的異地並行設計顯得功能不夠強大。
RDO (Remote Data Objects) 遠程數據對象是一個到 ODBC 的、面向對象的數據訪問介面,它同易於使用的 DAO style組合在一起,提供了一個介面,形式上展示出所有 ODBC 的底層功能和靈活性。RDO 在訪問 Jet 或 ISAM 資料庫方面有一定的限制,而且它只能通過現存的 ODBC 驅動程序來訪問關系資料庫。但是,RDO 已被證明是許多 sql Server、Oracle
以及其他大型關系資料庫開發者經常選用的最佳介面。RDO 提供了用來訪問存儲過程和復雜結果集的更多和更復雜的對象、屬性,以及方法。對異地並行設計Web資料庫來說也不是十分理想。
ADO(ActiveX Data Objects)為ActiveX組件中資料庫訪問組件,ASP就是通過它實現對資料庫的訪問。ADO 是 DAO、RDO 的後繼產物。ADO 2.0在功能上與 RDO 更相似,而且一般來說,在這兩種模型之間有一種相似的映射關系。ADO 「擴展」了 DAO 和 RDO 所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法(和參數),以及事件。例如,ADO 沒有與 rdoEngine 和 rdoEnvironment 對象相等同的對象,可以包含 ODBC 驅動程序管理器和 hEnv 介面。盡管事實上介面可能是通過 ODBC OLE DB 服務提供程序實現的,但目前也不能從 ADO 中創建 ODBC 數據源。ADO 是為 Microsoft最新和最強大的數據訪問範例 OLE DB 而設計的,是一個便於使用的應用程序層介面。OLE DB 為任何數據源提供了高性能的訪問,這些數據源包括關系和非關系資料庫、電子郵件和文件系統、文本和圖形、自定義業務對象等等。ADO 在關鍵的 Internet 方案中使用最少的網路流量,並且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的介面。同時 ADO 使用了與 DAO和 RDO相似的約定和特性,簡化的語義使它更易於學習。
ADO最早是在IIS中引入的,主要用於ASP,用ADO可以使伺服器端的腳本通過ODBC存取和操縱資料庫伺服器的數據。使用ADO的對象可以建立和管理資料庫的連接,從資料庫伺服器請求和獲取數據,執行更新、刪除、添加數據、獲取ODBC的錯誤信息等。ADO是ASP方案中最具吸引力的資料庫連接控制項,它為用戶提供了連接任何兼容ODBC的資料庫以及創建全功能資料庫應用程序的能力。
ADO具有簡單易用、高速、佔用資源少等的優點。不同於DAO和RDO,ADO有著更高的執行效率。ADO 對象模型如圖1a所示。每個 Connection、Command、Recordset 和 Field 對象都有 Properties 集合,如圖1b所示。
a) b)
圖1 ADO對象模型及屬性
應該說,ADO是微軟的下一代資料庫連接技術,用來全面取代RDO和DAO的數據訪問工具。從發展趨勢來看,ADO今後將逐步替代老的DAO特別是RDO數據訪問介面,成為新的遠程數據訪問方法。所以,選擇ADO作為產品異地並行設計的Web資料庫介面技術是合適的。
1.2 ADO應用分析
ADO 並不是自動和現存的數據訪問應用程序代碼兼容的。當 ADO 封裝 DAO 和 RDO 的功能性的時候,必須將許多語言要素轉換為 ADO 語法。在某些情況下,這將意味著要對現存代碼的某些功能做一個簡單轉換。在其他情況下,最佳的做法可能是用 ADO 的新功能重寫該應用程序。
包含在 DAO 和 RDO 模型中的許多功能被合並為單個對象,這樣就生成了一個簡單得多的對象模型。然而,由於這個原因,起初可能會覺得找到合適的 ADO 對象、集合、屬性、方法,或事件非常困難。與 DAO 和 RDO不同的是,盡管 ADO 對象是分層結構的,但在分層結構范圍之外也是可以創建的。同時,也應當注意,ADO 當前並不支持 DAO 的所有功能。ADO 主要包括 RDO 風格的功能性,以便和 OLE DB 數據源交互,另外還包括遠程和 DHTML 技術。
一般說來,在 ADO 的演化過程中,馬上把大多數 DAO 應用程序(except possibly是那些使用 ODBCDirect 的應用程序)移植到 ADO 上為時太早,因為當前的 ADO 並不支持數據定義 (DDL)、用戶、組等等。不過,如果只將 DAO 用於客戶—伺服器應用程序,並不依賴於 Jet 資料庫引擎或不使用 DDL,那麼就可能移植到 ADO。最終,Microsoft 將提供一個 ADO DDL 組件來幫助進行 DAO 到 ADO 的移植,並為 OLE DB 供應商提供一般的 DDL 支持。
在ASP中使用ADO技術來訪問Web資料庫,其應用前景是無可估量的。原理圖如下:
圖2 ADO在ASP程序中的應用
2 Web資料庫管理系統
常見的資料庫類型有面向對象的資料庫(OODB)和關系型資料庫。OODB對主流資料庫應用開發來說是相當新穎的,使用OODB使應用程序中的數據對象與現實世界中的對象一一對應,面向對象資料庫擴充了對象模型。一個常用的對象模型是由對象資料庫管理組(ODMG)開發出來,具有比傳統的關系資料庫更優越的性能,但畢竟在目前還是一種探索階段,暫時還未有相應的技術普及。
關系資料庫已經是資料庫體系的世界標准。當開發一個數據驅動應用程序時,大多數情況下用戶需要訪問網路(如Internet、Intranet等)上的數據信息,就RCDS就是建立在網路的信息通訊之上,是完全的客戶機/伺服器應用程序。
SQL Server是一個可縮放、高性能的關系型資料庫管理系統(RDBMS),它的設計是為了滿足分布式客戶/伺服器計算的需要,允許客戶應用程序使用幾個特定的工具和技術控制從伺服器檢索的數據。這些包括觸發器、存儲過程和規則的選項。因此,系統採用MS SQL Server7.0作為後台資料庫。
3 Web資料庫結構
數據模型通常有層次模型、網狀模型、關系模型及OO(面向對象)模型等。其中關系模型是建立在數學概念基礎之上的一種模型,由若干個關系框架組成的集合,它也是到目前為止最為成熟的一種資料庫類型。本文RCDS採用MS SQL Server作為後台資料庫,根據資料庫工具和資料庫特點,開發出一套可靠健壯的數據存儲方案。
整個資料庫共有AdminData、ChatNames、DesignUnits、Message、OnlineUnits、Procts、RqtTasks、RqtTaskUnits、RqtDesignUnits、ShareData、Tasks、TaskUnits和UploadFiles等表格。在建立數據模型的時候首先考慮是要避免重復數據,也就是建立規范化資料庫。規范化資料庫可以通過被稱為範式水平的指標來衡量,級別有第一範式、第二範式和第三範式,通常第三範式就是要達到的目標,因為它提供了數據冗餘和開發簡易性之間的最好折衷。
RCDS資料庫正是按照第三範式標准來設計的,它保證了模型的精簡和表格的緊湊性。而第三範式標准也最大發揮了關系資料庫的優勢,圖3是部分表格的視圖鏈接情況。
圖3 關系表格視圖
4.1 並發控制的處理
在多個用戶同時訪問一個資料庫時就產生並發問題,特別是在其中一些用戶對資料庫有添加或刪除修改等操作時,那麼其他所獲得的數據可能是一塌糊塗,甚至造成整個數據訪問的沖突、終止,從而使系統發生混亂以至崩潰。RCDS採用的解決辦法是鎖定技術,總體上分為共享鎖定和排它鎖定兩種類型(如圖4)。前者是指同時有幾個過程共享一個鎖定,比如一個用戶(或客戶)正在讀取一個數據,雖然在這之前他已經對該數據設置了鎖(LOCK),但其他用戶同樣可以(也只能是)讀取它。而排他鎖定一般應用於對數據進行修改或更新(包括添加刪除等)操作,即是用戶在修改一個數據之前設置了鎖定,在一定的時間里其他用戶是不能訪問到該數據的,只有等待鎖定解除(UNLOCK)才能進行訪問到它,當然在計算機處理的時候,其他的用戶一般是感覺不到有這個等待時間的。通過這樣的處理,就保證了數據的一致性。
a) 共享鎖定
b) 排它鎖定
圖4 安全鎖定類型
在ADO進行資料庫操作時,它的鎖定類型相對來說復雜一些。打開記錄集時,可以指定鎖定類型。鎖定類型決定了當不止一個用戶同時試圖改變一個記錄時,資料庫應如何處理。ADO中的鎖定主要有以下四種類型:
l AdLockReadOnly 指定你不能修改記錄集中的記錄
l AdLockPessimistic 指定在編輯一個記錄時,立即鎖定它
l AdLockOptimstic 指定只有調用記錄集的Update方法時,才鎖定記錄
l AdLockBatchOptimstic 指定記錄只能成批地更新
在預設情況下,記錄集使用只讀鎖定。要指定不同的鎖定類型,可以在打開記錄集時包含這些鎖定常量之一。部分代碼如下:
… …
Set MyConn=Sever.CreateObject(「ADODB.Connection」)
//定義資料庫連接MyConn
Set RS=Sever.CreateObject(「ADODB.RecordSet」)
//定義返回數據記錄集
MyConn.Open 「ByktDB.dsn」//建立應用程序與數據源的連接
RS.Open 「SELECT * FROM Mytable」, MyConn, adOpenDynamic, adLockPessimistic
//進行資料庫操作,並且設置鎖定
RS.Close
MyConn.Close
… …
4.2產品數據一致性處理
數據的安全因素除了前面所提到的並行控制之外,還要考慮事務處理。網路資料庫有其不同的地方,例如:假設某個時間有一個設計人員在你的站點上索取一些設計信息,有關的設計信息存儲在兩個表中。一個表用來保存該設計者的信息,另一個表包含了要索取的設計信息。該設計人員的信息已經輸入了第一個表中。但是,就在這時,發生了意外情況,一道閃電擊中了你的伺服器,使第二個表沒有被更新。在這種情況下,一個健壯的系統就必須保證最後的結果是兩個表都沒有被更新過。這時候事務處理就發揮了重要的功效。
使用事務處理,你可以防止第二個表沒有被更新而第一個表被更新的情況出現:當一組語句構成一個事務處理時,如果一個語句沒有執行成功,則所有的語句都不成功。不管是針對多個表,還是進行表內多個記錄的操作,它們所需要的安全保證是一樣的。事務處理的實現代碼如下:
… …
Set MyConn=Sever.CreateObject(「ADODB.Connection」)
MyConn.Open 「ByktDB.dsn」
MyConn.BeginTrans //事務處理開始
MyConn.Execute 「INSERT DataTable(Num) Values(『3628』)」
MyConn.Execute 「INSERT Shipping (Address) VALUES(『Paris,France』)」
MyConn.CommitTrans //事務處理結束
MyConn.Close
… …
在上面這段代碼中,用BeginTrans方法和CommitTrans方法來標記事務處理的開始和結束。在BeginTrans方法被調用之後,CommitTRans方法被調用之前,不管出現什麼錯誤,兩個表都不會被更新,在這個過程中所有處理的數據都保持了完全可靠的一致性。
『貳』 書店銷售管理系統資料庫設計目的和意義
學號 1
課 程 設 計課程名稱 《資料庫系統原理》課程設計
題 目 書店銷售管理系統
專 業
班 級
姓 名
成 績
指 導 老 師
2019 年 12 月 30 日至 2019 年 1月 3日一、課程設計目的與任務《資料庫系統原理課程設計》是針對計算機專業基礎課《資料庫系統原理》開設的課程設計,目的是使學生通過本課程設計之後,對資料庫設計的基本概念、基本原理和優化技術有較全面的了解和領會,並能操作當前流行的DBMS,了解資料庫在計算機應用系統的作用,獨立地開發實現一個小型的基於DBMS上的應用系統。結合具體的開發案例,理解並初步掌握資料庫系統需求分析、概念結構設計、邏輯結構設計、物理結構設計、應用功能設計(視圖,索引,游標,存儲過程,觸發器等)數據錄入及測試等系統設計與系統實施及維護管理的主要環節和步驟以及軟體文檔的製作能力。二、課程設計的題目與基本要求1.設計題目:書店銷售管理系統資料庫設計2.基本要求:(1)圖書入庫管理:維護入庫圖書信息(如圖書編號、書名、作者、價格、圖書分類、出版社等),自動計算庫存。(2)圖書查詢統計:按圖書分類,出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售管理: 銷售過的圖書都記錄在銷售列表中,方便統計收入。圖書銷售後,實時記錄圖書庫存,按每天統計銷售額、按每個月或季度統計銷售額,並能根據銷售數量統計生成暢銷書名單。(4)設計報告內容包括:基本原理、設計方案的選擇與確定,詳細的設計過程及結果做出評價,分析存在的問題,提出改進意見並寫出心得體會。三、學時分配進度安排
序號 設計內容 所用時間
1 選題及調研 1天
2 資料庫結構設計 1天
3 資料庫查詢優化 1天
4 調試及撰寫報告 1天
5 答辯 1天
合 計 1周
四、課程設計考核及評分標准1.設計報告要求課程設計報告要求邏輯清晰、層次分明、書寫整潔。格式包括標題、提要、正文(包括①設計項目要求與說明。②數據模型分析。③軟體流程分析。④調試分析。⑤實驗數據分析。⑥答辯。⑦成績評定。)附錄(圖紙、程序清單或軟盤)。設計報告須每人一份,獨立完成。2.圖紙要求系統結構框圖、概念模型圖等。3.評分標准
評分依據 評分成績
1.設計方案正確,具有可行性、創新性 30分
2.資料庫測試性能達到任務書要求 25分
3.設計報告的規范化、內容充實、參考文獻 15分
4.答辯 20分
5.平時成績(考勤等) 10分
總分 100分
註:成績等級:優(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下為不及格。五、指導時間
周次 星期一 星期二 星期三 星期四 星期五
第17周 第3-4節 第3-4節 第3-4節 第3-4節
地點 233 231 現教 現教
1.引言Internet的迅速發展正以前所未有的深度和廣度影響和改善著人類生活的各個方面,越來越多的人開始意識到Internet所起到的重大作用隨著書店規模的不斷擴大,員工人數的不斷增多,使得書店管理的手工操作管理模式的局限性越發突出.本書店管理系統應用了科學的管理模式對員工.書籍.訂單信息進行管理和維護,並且還提供了給類報表的列印,使原本非常復雜的手工管理變得簡潔明了。計算機信息管理技術的應用,除了能在相當大的程度.上代替人工作業,從而減少人員工作量,減輕工作負擔,減少工作中因人為原因而產生的錯誤從而避免不必要的損失外,更重要的是能建立准確暢通、簡便的信息流通渠道,為工作提供所需要的准確、及時的信息以幫助做出正確而及時的選擇與決定,從而給採用這門]技術的單位帶來了巨大的可見或不可見的利益與效益。2.需求階段分析2.1需求分析書店管理系統是適應時代發展的需要,提高管理的效率而開發設計的。通過對信息的收集、存儲、傳遞、統計、分析、綜合查詢、報表輸出和信息共享,及時為書店管理人員提供全面、准確的各種數據。實現了書店管理的簡單化和規劃化,提高了書店的工作效率,從而使書店能夠以少的投入獲得更好的社會效益與經濟效益。2.2數據分析顧客表:應包含顧客號,顧客姓名以及顧客聯系方式訂單表:應包含訂單號,銷售圖書號,銷售數量,金額以及日期圖書表:應包含圖書編號,圖書名,作者,單價,類別和出版社庫存表:應包含圖書編號,總量和餘量2.3功能分析資料庫應實現的功能有:(1)圖書入庫管理:維護入庫圖書信息(如圖書編號、書名、作者、價格、圖書分類、出版社等),自動計算庫存。(2)按圖書分類,出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售過的圖書都記錄,並且能顯示每種圖書的銷售量,將銷售量高的圖書定為熱銷書,能夠查詢出某一天到某一天的銷售額以及訂單消息2.3.1書籍管理功能系統設置包括圖書名稱設置、書籍編號、書籍出版社、書籍價格、書籍類別。基本信息管理模塊可以實現添加和重置書籍信息功能。
2.3.2訂單管理功能系統設置包括顧客姓名設置、訂單日期設置、訂單編號設置、訂單數量設置、訂單金額設置。基本信息管理模塊可以實現對訂單的查詢。2.3.3顧客管理功能系統設置包括顧客編號設置、顧客姓名設置、顧客聯系方式設置。基本信息管理模塊可以實現對顧客的查詢。2.3.4庫存管理功能系統設置包括圖書編號、圖書總量、圖書餘量設置。基本信息管理模塊可以實現對圖書數量的查詢2.4安全性和完整性要求(1)安全性要求 :系統安全性要求體現在資料庫安全性、信息安全性和系統平台的安全性等方面。安全性先通過視圖機制,不同的用戶只能訪問系統授權的視圖,這樣可提供系統數據一定程度上的安全性,再通過分配許可權、設置許可權級別來區別對待不同操作者對資料庫的操作來提高資料庫的安全性;系統平台的安全性體現在操作系統的安全性、計算機系統的安全性和網路體系的安全性等方面。(2)完整性要求:系統完整性要求系統中數據的正確性以及相容性。可通過建立主、外鍵,使用check約束,或者通過使用觸發器和級聯更新。3 .結構設計3.1總體功能模塊圖圖3.13.2書籍信息模塊圖圖3.23.3訂單信息模塊圖圖3.33.4顧客信息模塊圖圖3.43.5數據字典表3.5.1顧客表
列名 數據類型 約束
顧客號(Gno) Char(7) primary key
姓名(Gname) Nchar(20) Not null
聯系方式(Gnumber) Char(20)
表3.5.2訂單表
列名 數據類型 約束
訂單號(Dno) Char(7) primary key
購買圖書號(Bno) Char(7) primary key
購買數量(Dshul) Int Not null
金額(Dmoney) Int Not null
日期(Dtime) Smalldatetime Not null
顧客號(Gno) Char(7) External code
表3.5.3 圖書表
列名 數據類型 約束
編號(Bno) Char(7) primary key
書名(Bname) nchar (20) not null
作者(Bwriter) nchar (20) not null
價格(Bjiage) Int not null
類別(Bleibie) nchar (20) not null
出版社(Bcbs) nchar (20) not null
表3.5.4庫存表
列名 數據類型 約束
編號(Bno) Char(7) Primary key
總量(Kzong) Int Not null
餘量(Kyu) Int
3.6 ER圖設計3.6..1顧客ER圖3.6.2 圖書ER圖圖3.6.3圖3.6.4圖3.6.54 邏輯結構設計4.1 關系模型顧客與訂單是1:m類型 訂單與庫存是1:1類型 庫存與圖書是1:m類型 關系模型如下:顧客表(顧客號、姓名、聯系方式)訂單表(訂單號、購買圖書號、購買數量、金額、日期、顧客號)圖書表(編號、書名、作者、價格、類別、出版社)庫存表(編號、總量、餘量)(——代表主鍵,...代表外碼)4.2 函數依賴在顧客表中,顧客號是主碼,其它屬性完全依賴於顧客號在訂單表中,訂單號是主碼,顧客號是外碼,其餘屬性完全依賴於訂單號在圖書表中,編號是主碼,其餘屬性完全依賴於編號在庫存表中,編號是主碼,其餘屬性完全依賴於編號5.物理結構設計5.1創建圖書表use books /*創建圖書表*/create table book(Bno char (7) primary key,Bname nchar (20) not null,Bwirter nchar (20) not null,Bjiage int not null,Bleibie nchar (20) not null,Bcbs nchar (20) not null,)5.2 創建顧客表use books /* 創建顧客表*/create table guke(Gno char(7) primary key,Gname nchar (20) not null,Gnumber char(20),)5.3創建庫存表use books /*創建庫存表*/Create table kucun(Bno char(7) primary key,
Kzong int not null,Kyu int,)5.4創建訂單表use books /*創建訂單表*/Create table Dingdan(Dno char(7) primary key,Bno char(7) primary key,Dshul int not null,Dmoney int not null,Dtime smalldatetime not null,Gno char(10) not null,)6 資料庫的實施6.1 給各個表添加數據例use books /*給圖書表添加一行數據*/insert into bookvalues('101','白夜行','東野圭吾','30','偵探','天空出版社')使用語句添加完數據的表如下:6.1.1圖書表6.1.2訂單表6.1.3 顧客表6.1.4庫存表6.2創建存儲過程6.2.1圖書的存儲過程create proc tushu@Bno char(7),@Bname nchar(20),@Bwirter nchar(20),@Bjiage int, @Bleibie nchar(20),@Bcbs nchar(20),@MM INTasif not exists (select * from bookwhere Bno=@Bno)BEGINinsert into bookvalues (@Bno,@Bname,@Bwirter,@Bjiage,@Bleibie,@Bcbs)INSERT INTO KucunVALUES (@Bno,@MM,@MM)ENDELSEBEGINUPDATE KucunSET Kzong=KZONG+@MMWHERE BNO=@BNOUPDATE KucunSET KYU=KYU+@MM
WHERE BNO=@BNOEND圖5.2.16.2.2顧客的存儲過程create proc gukecun@Gno char(7),@gname nchar(10),@gnumber nchar(20)asinsert into gukevalues (@Gno,@gname,@gnumber )圖5.2.26.2.3 訂單的存儲過程create proc dingdan@dno char(10),@Bno char(10),@Dshul int,@Dtime smalldatetime, @Gno char(10)asdeclare @Dmoney intselect @Dmoney=@Dshul*Bjiagefrom book,Dingdaninsert into Dingdanvalues (@dno,@Bno,@Dshul,@Dmoney,@Dtime,@Gno)圖5.2.36.3 創建觸發器針對圖書信息表創建一個觸發器,當向表book插入一條信息時,自動顯示表中book中的記錄create trigger 插入顯示on bookfor insertasSelect * from bookInsert into book values('115','幻想之城','中此撒','30','懸疑','颯颯我出版社')6.4 建立視圖6.4.1建立視圖建立一個圖書類別為偵探的視圖,包括圖書編號,圖書名,作者,單價以及圖書總量和餘量create view v_leibieasselect book.Bno ,bname,bwirter,bjiage,kzong,kyufrom book,Kucunwhere book.Bno =Kucun.Bno and Bleibie ='偵探'圖6.4.1圖6.4.26.5 調試運行6.5.1查詢姓張的顧客的購買記錄select * from Dingdan
where Gno in (select Gno from gukewhere Gname like '張%')圖6.5.16.5.2 添加一條圖書信息後圖書表以及庫存表的顯示exec tushu'115','幻想之城','中此撒','30','懸疑','颯颯我出版社','60'圖6.5.2圖6.5.36.5.3 查詢銷售量在10本以上的書,以此為暢銷書select SUM(dshul),bnofrom Dingdangroup by Bnohaving SUM(Dshul)>10圖6.5.46.5.4查詢某一天的銷售額select sum (Dmoney )總金額 from Dingdanwhere Dtime between '2019-11-01 'and '2019-11-02'圖6.5.57.設計體會一個個星期的時間非常快就過去了,這一個星期不敢說自己有多大的進步。獲得了多少如識,但起碼是了解了項目開發的部分過程。雖說上過資料庫的課程,但是沒有親身經歷過相關的設計工作細節。這次課程設計剛好提供了一個很好的機會。通過這次課程設計發現這其中需要的很多知識我們都接觸過,去圖書館查資料的時侯發現我們前邊所學到的僅僅是皮毛還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用於實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。本次課程設計即將結束,我完成了自己所選的課題。通過完成這次課程設計,我加深了對相關知識的理解,加強了知識之間的聯吊,促進了知識的遷移和應用。從需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到後面突然就發現自己-開始的設計有問題,然後又回去翻工在各種反復中不斷完善自己的想法。
致謝在這次資料庫的課程設計過程中,我選擇了書店銷售管理系統的設計與實現。該系統能夠順利的完成,得益於老師的悉心指導和同學的幫助。更重要的是老師幫我們解決了許多技術的難題,以至於我們能夠將書店銷售管理系統的功能做得盡可能的完善。在這過程中,我周圍的同學給了我許多啟發,讓我把書店銷售管理系統設計的更加完善,老師淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪,使我不僅了解到許多新知識、開闊了視野,更提高了自身的資料庫設計能力。另外,感謝老師給我們提供這樣-一個課程設計的機會,使我們在學得專業知識的基礎上能夠自己動手並獨立地完成資料庫的設計與開發,使我們能夠更多的學習-些實踐應用知識,增強實際操作和動手應用能力。最後,我再一次感謝在整個課程設計期間,在各個方面給予我們幫助的老師和同學,正是因為有了你們的幫助,才使我們的課程設計得以順利完成。參考文獻[1]李彥,韓光林,李玉波. SQL SERVE完全自學手冊[M].北京:電子工業出版社,2007[2]薩師煊,王珊.資料庫系統概論.北京:高等教育出版社.2005[3]Y.Daniel Liang.Java.萬波. JAVA語言程序設計[M].第六版.北京:機械工業出版社,2008[4]《資料庫原理及應用》 ,錢雪忠主編,北京郵電大學出版社,2007,第二版[5]《SQL server 2000數據倉庫與Analysis Services》,Bain T著 ,中國電力出版社, 2003[6]《資料庫技術與聯機分析處理》 王珊主編,北京科學出版社,1998課程設計成績評定表
課程設計題目 書店銷售管理系統
課程設計學生答辯或質疑記錄:
評 分 依 據 分 值 評分成績
1.設計方案正確,具有可行性、創新性 30 分
2.系統調試與結果(系統功能正確、軟體程序完整) 25分
3.設計報告的規范化、內容充實、參考文獻 15分
4.平時成績(考勤等) 10分
5.答辯 20分
總 分 100分
最終評定等級為:指導老師簽字: 年 月 日
¥
5.9
網路文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
書店銷售管理系統資料庫設計
學號 1
課 程 設 計
課程名稱 《資料庫系統原理》課程設計
題 目 書店銷售管理系統
專 業
班 級
姓 名
成 績
指 導 老 師
2019 年 12 月 30 日至 2019 年 1月 3日
一、課程設計目的與任務
第 1 頁
《資料庫系統原理課程設計》是針對計算機專業基礎課《資料庫系統原理》開設的課程設計,目的是使學生通過本課程設計之後,對資料庫設計的基本概念、基本原理和優化技術有較全面的了解和領會,並能操作當前流行的DBMS,了解資料庫在計算機應用系統的作用,獨立地開發實現一個小型的基於DBMS上的應用系統。結合具體的開發案例,理解並初步掌握資料庫系統需求分析、概念結構設計、邏輯結構設計、物理結構設計、應用功能設計(視圖,索引,游標,存儲過程,觸發器等)數據錄入及測試等系統設計與系統實施及維護管理的主要環節和步驟以及軟體文檔的製作能力。
『叄』 資料庫應用課程設計的報告
資料庫課程設計報告 目錄目錄……………………………………………………………………………………1一.設計目標…………………………………………………………………………2二.系統介紹…………………………………………………………………………2三.資料庫設計……………………………………………………………………....2 1.需求分析……………………………………………………………………….2 2.概念結構設計………………………………………………………………….3 (1)實體設計………………………………………………………………..3 (2)ER圖……………………………………………………………………3 3.邏輯結構設計………………………………………………………………….4四.應用程序設計……………………………………………………………………4 1.delphi7.0開發環境……………………………………………………………4 2.軟體分析…………………………………………………………………..…4 (1)軟體的需求分析………………………………………………………..4 (2)軟體的基本功能………………………………………………………..5 3.軟體的設計與實現…………………………………………………………….6 五.實現的應用系統介紹…………………………………………………………….8 1.系統模塊…………………………………………………………………….8 2. 文件簡介…………………………………………………………………….8 3 .系統運行…………………………………………………………………….8 六.總結………………………………………………………………………………17 一.設計目標理論應用--運用資料庫設計理論設計一個較完善的有實際意義的資料庫結構;工具使用--掌握目前流行資料庫管理系統工具和前端應用開發工具;應用開發--為資料庫開發相應應用程序,構成完整的資料庫應用系統;報告編寫--用文字處理軟體編寫高質量的設計報告。二.系統簡介名稱:超市進銷存管系統功能:基於超市管理的全面自動化,減少入庫管理、出庫管理及庫存管理中的漏洞,節約不少管理開支,增加企業收入。 實現對產品的增加、修改、刪除、以及日常查詢,對產品的出庫、入庫進行管理。同時對營銷狀況進行簡單的分析,並可以導出各種查詢報表。資料庫:ACCESS實現:Delphi 7.0系統構架:C/S(Client/Server )三.資料庫設計.1.需求分析:超市進銷存管理系統2.概念結構設計(1)實體設計商品信息(商品編號,商品名稱,商品單位,商品單價,類別,產地,說明)進貨信息(進貨編號,商品編號,進貨單價,進貨數量,進貨時間,經手人,供貨單位)出貨信息(出貨編號,商品編號,出貨單價,出貨數量,經手人,接收人及說明等)庫存信息(商品編號,庫存說明,說明等)用戶信息(用戶名,密碼,用戶類型)(2)E-R圖包含說明產地商品單價商品類別商品名稱商品編號商 品經手人進貨數量進貨時間進貨單價商品編號進貨編號供貨單位進貨記錄商品編號出貨數量接收人經手人出貨單價出貨編號出貨時間出貨記錄庫存記錄說明商品編號庫存說明111n3.邏輯結構設計關系模型(第1數據項為主鍵)商品信息(商品編號,商品名稱,商品單位,商品單價,類別,產地,說明)進貨信息(進貨編號,商品編號,進貨單價,進貨數量,進貨時間,經手人,供貨單位)出貨信息(出貨編號,商品編號,出貨單價,出貨數量,經手人,接收人及說明等)庫存信息(商品編號,庫存說明,說明等)用戶信息(用戶名,密碼,用戶類型)出貨商品金額(出貨時間,出貨單價,出貨數量,出貨金額)進貨商品金額(進貨時間,進貨單價,進貨數量,進貨金額)四.應用程序設計1.Delphi 7.0 開發環境 Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點。和VC相比,Delphi更簡單、更易於掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用。可以說Delphi同時兼備了VC功能強大和VB簡單易學的特點。它一直是程序員至愛的編程工具。 Delphi 7的集成開發環境(1DE)和Delphi以前的版本基本一致。它把單、多個工具欄及一組窗口和應用程序設計在一起,將代碼以事件的形式與界面的每一元素建立聯系,使用戶很方便地在這個高度集成的開發環境的組成和各種輔助工具的使用方法和使用技巧。2.軟體分析(1)軟體的需求分析: 開發本軟體的主要目的是為了優化超市的日常管理。採用計算機管理信息系統為實現超市管理科學化和現代化,給它帶來了明顯的經濟效益和社會效益 (2)軟體的基本功能與說明: a.商品信息管理商品信息管理:用來管理系統中要用來進行進貨,出貨操作的商品的信息,包括添加,修改,刪除和查詢信息。其中,查詢可以進行精確查詢和模糊快速查詢。任意時刻,生成當前表格報表。 b. 用戶管理1.用戶添加該許可權只有管理員擁有,可以添加臨時用戶,或者增設管理員用戶。2.用戶刪除該許可權只有管理員擁有,可以刪除用戶。3.用戶密碼修改用來修改登陸用戶的密碼,長時間地使用一個密碼可能會使密碼不安全,導致整個系統的不安全,因此有必要定期修改密碼。 c. 營銷分析1.綜合分析某一時間段內,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。同時提供進貨情況查詢、出貨情況查詢、庫存情況查詢。2.日分析某一天中,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。 d. 日常操作商品進貨操作:用來完成商品的進貨操作。商品出貨操作:用來完成商品的出貨操作。進行進貨操作時,進貨編號以及進貨時間是自動生成的,無需改動,否則會出現錯誤。所生成的商品編號為該種類型商品的最大編號,且後面有提示用戶允許的編號范圍,超出此范圍會出錯,如果編號方式正確且大於最大編號,確定添加後會提示用戶填寫新加商品的相關信息。進行出貨操作時,出貨編號自動生成,用記無須改動。在出貨單價小於進貨的最小單價時會詢問是否繼續出貨,出貨數量不能大於庫存數量。e.信息查詢1.庫存信息查詢:用來查詢庫存的商品的信息,可以按照商品編號,商品名稱和商品類別來查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品的庫存信息,並將其列印輸出。同時,該查詢可以根據商品的庫存量來將商品中庫存不足、庫存飽和、庫存過剩的商品一一列出並提供列印輸出功能。2.進貨信息查詢:用來查詢商品的進貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和進貨日期查詢,可以將查詢結果輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的進貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的進貨價格走勢分析圖。3.出貨信息查詢:用來查詢商品的出貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和出貨日期查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的出貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的出貨價格走勢分析圖。3.軟體設計與實現添加、修改、刪除是通過delphi自帶函數實現的。查詢是通過添加SQL語句或者直接在access中建立相對的查詢(如出貨商品金額、進貨商品金額查詢)實現的。(1).程序實現//添加adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select * from 進貨信息' );adoquery1.Open ;adoquery1.Append;adoquery1.fieldbyname('進貨編號').asstring:=edit1.Text;adoquery1.fieldbyname('商品編號').asstring:=edit2.Text;adoquery1.fieldbyname('進貨單價').asstring:=edit3.Text;adoquery1.fieldbyname('進貨數量').asstring:=edit4.Text;adoquery1.fieldbyname('進貨時間').asstring:=edit5.Text;adoquery1.fieldbyname('經手人').asstring:=combobox5.Text;adoquery1.fieldbyname('供貨單位').asstring:=edit7.Text;adoquery1.Post;快速添加:adoquery1.Append;//刪除一條記錄if Application.MessageBox('真的要刪除當前所選記錄嗎?','刪除確認',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then abortelseadoquery1.delete;//修改一條記錄if Application.MessageBox('真的要修改當前所選記錄嗎?','修改確認',MB_YESNOCANCEL+MB_ICONQUESTION+MB_DEFBUTTON3)<>IDYES then AdoQuery1.CancelUpdateselseadoquery1.edit;//對表的排序procere TForm2.DBGrid1TitleClick(Column: TColumn);var i : integer;beginfor i:= 1 to DBGrid1.Columns.Count dobegin//恢復所有標題字體為默認DBGrid1.Columns[i-1].Title.Font.Color := clWindowText;DBGrid1.Columns[i-1].Title.Font.Style := [];end;if ADOQuery1.Sort<>(Column.FieldName+' ASC') then //判斷原排序方式beginADOQuery1.Sort := Column.FieldName+' ASC';Column.Title.Font.Color := clRed; //改變標題行字體為紅色,表示當前的排序方式為升序Column.Title.Font.Style := [fsBold];endelse beginADOQuery1.Sort := Column.FieldName+' DESC';Column.Title.Font.Color := clBlue; //改變標題行字體為紅色,表示當前的排序方式為降序Column.Title.Font.Style := [fsBold];end;end;//查詢示例adoquery2.close;adoquery2.sql.clear;adoquery2.SQL.Add('select distinct(進貨信息.進貨編號),商品信息.商品名稱,進貨信息.商品編號,商品信息.類別,進貨信息.進貨單價,進貨信息.進貨數量,進貨信息.進貨時間,進貨信息.經手人,進貨信息.供貨單位 from 進貨信息,商品信息 where 商品信息.商品編號=進貨信息.商品編號 and ');adoquery2.SQL.Add('進貨時間>=#'+DateToStr(DateTimePicker1.Date)+'# and 進貨時間<=#'+DateToStr(DateTimePicker2.Date+1)+'#');adoquery2.Open;*五.實現的應用系統介紹1.系統的模塊(1)主界面模塊Form1(2)信息管理模塊Form2,form18(3)日常操作模塊Form3(4)信息管理模塊Form5(5) 用戶管理模塊Form14(6)系統管理模塊用戶登陸:form8關於系統:form10退出系統:from11()登陸窗體Form82.文件簡介:(1)文件help包括生成jun_help幫助的所有源程序。(2)文件image系統所有用到的圖片文件(3) 文件project系統可執行文件project.exe。系統資料庫超市進銷存儲管理系統.mdb(4) 文件sounds系統所有用到的聲音文件(5) 文件unit_date系統自動生成的相關文件3.系統運行:1.歡迎:2.到達主界面後,提示登陸(系統管理—登陸系統)。用戶可以查看幫助獲得系統的相關信息:3.用戶登陸界面:4.若用戶為管理員,則可以進行用戶管理操作。用戶有權添加、修改、刪除其它用戶。5.若用戶為普通用戶,則用戶只能對自己的相關信息進行修改,添加用戶、刪除用戶不可用。6.商品信息管理模塊商品信息管理:用來管理系統中要用來進行進貨,出貨操作的商品的信息,包括添加,修改,刪除和查詢信息。其中,查詢可以進行精確查詢和模糊快速查詢。任意時刻,生成當前表格報表。7.營銷分析模塊:1).綜合分析某一時間段內,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。同時提供進貨情況查詢、出貨情況查詢、庫存情況查詢。2).日分析某一天中,將該超市的進貨總額、出貨總額進行統計,並算出總盈利;將庫存中的商品總量統計出來。用戶可以列印分析所得報表。8.商品進出貨操作模塊:1)進行進貨操作時,進貨編號以及進貨時間是自動生成的,無需改動,否則會出現錯誤。所生成的商品編號為該種類型商品的最大編號,且後面有提示用戶允許的編號范圍,超出此范圍會出錯,如果編號方式正確且大於最大編號,確定添加後會提示用戶填寫新加商品的相關信息。2)進行出貨操作時,出貨編號自動生成,用記無須改動。在出貨單價小於進貨的最小單價時會詢問是否繼續出貨,出貨數量不能大於庫存數量。9.信息查詢模塊:1).庫存信息查詢:用來查詢庫存的商品的信息,可以按照商品編號,商品名稱和商品類別來查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品的庫存信息,並將其列印輸出。同時,該查詢可以根據商品的庫存量來將商品中庫存不足、庫存飽和、庫存過剩的商品一一列出並提供列印輸出功能。2).進貨信息查詢:用來查詢商品的進貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和進貨日期查詢,可以將查詢結果輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的進貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的進貨價格走勢分析圖。3).出貨信息查詢:用來查詢商品的出貨記錄,可以按照商品編號,商品名稱,商品類別,經手人和出貨日期查詢,可以將查詢結果列印輸出。該查詢可以精確查找某一確定的商品或全部商品某一確定時間段的出貨情況,並將其列印輸出。同時以圖表的形式分析該種商品的出貨價格走勢分析圖。10關於系統模塊:11.用戶管理模塊:1).用戶添加該許可權只有管理員擁有,可以添加臨時用戶,或者增設管理員用戶。2).用戶刪除該許可權只有管理員擁有,可以刪除用戶。3).用戶密碼修改用來修改登陸用戶的密碼,長時間地使用一個密碼可能會使密碼不安全,導致整個系統的不安全,因此有必要定期修改密碼。12.退出系統模塊:
『肆』 100分求一份資料庫原理課程設計的實驗報告
(圖放不上去呀 我自己做的E-R圖)
計算機科學與信息學院
課程設計報告
課程名稱: 資料庫概論課程設計
專 業: 網路方向
班 級: ====
學 號: ===
姓 名: 閆娟
題 目: 網上購書系統
指導教師: 肖淑芬
2011年6月
目錄
一、課程設計的背景來源 3
二、網上購書系統調查及前景 4
三、網上購書設計思想 4
1、前台系統工作流程 5
2、後台系統工作流程 6
四、網上書店工作過程的內容 6
五、資料庫設計 7
1、數據項 7
2、 數據結構 8
3、關系模式的設計 8
4、視圖的設計 9
六、網上購書E-R圖 10
六、系統的源程序 15
七、系統評價及心得體會 20
一、課程設計的背景來源
1,其實寫這個課程設計寫得比較匆忙,馬上其他可就要考試了,本想找個男的題目來挑戰下自己,後來還是因為時間需要,所以選了個相對來說我們生活比較容易接近的
2,隨著現在社會的發展,網路已經成為一個市場很大的交易平台,很多人由於時間需要或者各方面原因都把網上購物作為一種消費方式,有時我們在書店要花很長時間去找一本書,有時還找不到,記得有次在孝感學院圖書館找一本概率論輔導書,花了很長很長時間呀,所以我深有體會,還是感覺在網上購書比較簡單,方便。
3,班上有很多同學都從事網上購物,我剛好想利用自己的專業知識來學習下這方面的知識,自己查查資料,把這個課程設計做好。
二、網上購書系統調查及前景
人們喜歡通過閱覽書籍拓展自己的知識視野,可在實際生活的購書過程中人們卻遇到了不少麻煩,比如購書人多,挑書難,搬書重等,因此既方便又快捷的網路購書便成為了一種很有潛力的購書消費方式。信息時代,電子商務已經成為我們現實生活中不可缺少的一個重要組成部分,同時它以一種特殊的方式改變著我們的生活。根據調查結果顯示,網民上網以獲取信息為主要目的佔5 3.1%。目前我國上網購物的群體中,絕大多數是年輕人, 他們大多數是收入穩定、文化水平較高的中青年,網上消費已經日益成為他們生活中的一種重要的消費方式,他們成為了最有潛力的未來網上消費者。
三、網上購書設計思想
首先網上購書系統聽起來是個很雜的程序,因為有很多很多書,也有很多很多人來買,但是其實我們簡單的可以把它分為兩個模塊,這樣我們就能很好的理解了,網上書店主要由前台會員管理模塊和後台管理員模塊兩部分組成。
前台功能模塊主要用於實現會員注冊,登錄,修改個人信息,分類查看書目信息、購書、管理購物車、結帳、查看各種服務條款等功能。
後台管理模塊主要用於實現後台管理人員對會員,商品,物流,訂單和系統的管理等功能。
1、前台系統工作流程
首先當我們用戶登陸這個網站時,一開始就會出現讓你登陸,如果是你會員,你可以直接登錄,如果你不是會員,你要注冊個賬號。
1、 當你是會員時,你可以查看你的各項服務,比如說上次你收藏了什麼書籍,以及你喜歡的書的種類,在可以看下前幾次你購買書的情況,在可以修改個人信息,修改密碼等,你也可以查看自己網上交易情況,看下自己買的書的情況,以及看上什麼書了,可以把它放回購物車,方便自己購買。
2、 當你是非會員時,你要先進行注冊,填寫自己的基本信息,當你填好後,你也是其中一員了,你也同樣可以向會員那樣找自己的書了,相對來說比較方便。
3、 還有人不注冊,只是進來逛下網站,看看自己是否有必要買一些書。
2、後台系統工作流程
後台系統工作流程主要用於實現後台管理人員對會員,商品,物流,訂單和系統的管理等功能,他要對會員的登記進行統計,以及購物等方面的內容管理
四、網上書店工作過程的內容
1、管理員信息,包括數據項有:管理員編號、管理員賬號、管理員密碼。
2、會員信息,包括數據項有:會員賬號、會員密碼、會員昵稱、會員E-mail、會員級別(管理員設定)。
3、圖書信息,包括數據項有:圖書編號、圖書名稱、作者、出版社編號、出版日期、圖書類別編號、圖書簡介。
(⑴出版社信息,包括數據項有:出版社編號、出版社名稱。
⑵圖書類別信息,包括數據項有:圖書類別編號、圖書類別名稱。)
4、圖書訂單,包括數據項有:會員賬號、下定單日期、收貨地址、收貨地址郵編、收貨人姓名、收貨人聯系方式、送貨方式編號、總費用、圖書名稱、現已售出量情況。
5、購物車,包括數據項有:會員賬號、每種圖書名稱、每種圖書市場價格、每種圖書網站價格、每種圖書數量、每種圖書的價格、圖書總價。
五、資料庫設計
1、數據項
數據項
數據項名 數據類型 長度 別名 取值范圍
會員編號 字元型 15 會員的編號
姓名 文本型 20 會員的姓名
密碼 文本型 20 會員的密碼
電話 字元型 12 會員的電話
地址 文本型 50 會員的地址
商品編號 字元型 15 商品的編號
類型 文本型 10 商品的類型
名稱 文本型 20 商品的名稱
價格 整型 6 商品的價格
簡介 文本型 500 商品的簡介
圖片 圖片型 商品的圖片
購物車編號 字元型 10 購物車的編號
商品數量 整型 10 購買商品的數量
訂單編號 字元型 15 購物時生成的訂單
訂單日期 時間型 10 購買商品的時間
2、 數據結構
系統需求數據結構
數據結構名 含義說明 組成
會員 記錄會員的基本信息 會員編號、姓名、密碼、電話、地址
商品 記錄銷售商提供的商品信息 商品編號、類型、名稱、價格、簡介、圖片
訂購 記錄會員的購物信息 會員編號、商品編號、訂單編號、訂單日期
購物車 存儲會員需要購買的商品 會員編號、商品編號、購物車編號、商品數量
3、關系模式的設計
會員
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 主鍵
姓名 文本型 20 姓名 否
密碼 文本型 20 密碼 否
電話 字元型 12 電話 否
地址 文本型 50 地址 否
商品
數據項名 數據類型 長度 別名 是否為空 主外鍵
商品編號 字元型 15 商品編號 否 主鍵
類型 字元型 15 類型 否
名稱 字元型 20 名稱 否
價格 整型 10 價格 否
簡介 文本型 500 簡介
圖片 image型 100 圖片
訂購
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 外鍵 主鍵
商品編號 字元型 10 商品編號 否 外鍵
訂單編號 字元型 10 訂單編號 否
訂單日期 日期型 10 訂單日期 否
購物車
數據項名 數據類型 長度 別名 是否為空 主外鍵
會員編號 字元型 15 會員編號 否 主鍵
商品編號 字元型 15 商品編號 否
購物車編號 字元型 15 購物車編號 否
商品數量 整型 6 商品數量 否
4、視圖的設計
搜索商品視圖
數據項名 數據類型 長度 別名 是否為空
名稱 字元型 10 名稱 否
類型 字元型 10 類型 否
價格 整型 10 價格 否
簡介 文本型 4 簡介 否
六、網上購書E-R圖
否 是
網上書店系統業務流程:
網上書店前台管理功能結構圖:
六、系統的源程序
ackage cart;
import java.util.Vector;
public class Cart {
Vector v = new Vector();
String act = null;
String item = null;
private void addItem(String id) {
v.addElement(id);
}
private void removeItem(String id) {
v.removeElement(id);
}
public void setItem(String id) {
item = id;
}
public void setAct(String s) {
act = s;
}
public String[] getItems() {
String[] s = new String[v.size()];
v.Into(s);
return s;
}
public void processRequest() {
if (act.equals("add"))
addItem(item);
else if (act.equals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset() {
act = null;
item = null;
}
public void clearAll(){
v.removeAllElements();
}
}
現實頁面信息,提示等操作的設計:
package spage;
import java.sql.*;
public class ShowPage
{
private String str = "";
//顯示頁號為p的一頁(user)
public String printPage(ResultSet rs, int p, int size)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += printRow(rs,iPage,p);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(user)
public String printRow( ResultSet rs ,int i,int p)
{
String temp = "";
try {
int id=rs.getInt("userid");
temp+="<tr align='center' bgcolor='#FFFAF7'>";
temp+="<td><a href='javaScript:seeUser("+id+")'>"+rs.getString("name")+"</a></td>";
temp+="<td>"+rs.getString("sex")+"</td>";
temp+="<td>"+rs.getString("phone")+"</td>";
temp+="<td>"+rs.getString("address")+"</td>";
temp += "<td><a href='updateuser.jsp?updateid="+id+"'>修改</a></td>";
temp += "<td><a href='dealdeleteuser.jsp?delid="+id+"'>刪除</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//顯示頁號為p的一頁(book)
public String bookPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += bookRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(book)
public String bookRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
int id=rs.getInt("bookid");
temp+="<tr align='center'>";
temp+="<td><a href='detail.jsp?detailid="+id+"'>"+rs.getString("bookname")+"</a></td>";
temp+="<td>"+rs.getString("author")+"</td>";
temp+="<td>"+rs.getString("pubhouse")+"</td>";
temp+="<td>"+rs.getString("price")+"</td>";
if(f)
{
temp+="<td>"+rs.getString("salenum")+"</td>";
temp+="<td><a href='updatebook.jsp?updateid="+id+"'>修改</a></td>";
temp+="<td><a href='dealdeletebook.jsp?delid="+id+"'>刪除</a></td>";
}
else
temp+="<td><a href='dealcart.jsp?dealid="+id+"&act=add'>加入購物車</a></td>";
temp += "</tr>";
}
catch(SQLException e) { }
return temp;
}
//顯示頁號為p的一頁(order)
public String orderPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//將訪問游標定位到頁號為p的頁要顯示的第一條記錄的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += orderRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//顯示單行記錄(order)
public String orderRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
String orderid=rs.getString("orderid");
temp+="<tr align='center'>";
temp+="<td><a href='detailorder.jsp?detailid="+orderid+"'>"+orderid+"</a></td>";
temp+="<td>"+(rs.getString("orderdate")).substring(0,10)+"</td>";
temp+="<td>"+rs.getString("orderstate")+"</td>";
if(f)
{
temp += "<td><a href='javaScript:seeUser("+rs.getString("userid")+")'>"+rs.getString("username")+"</a></td>";
temp += "<td><a href='dealdeleteorder.jsp?delid="+orderid+"'>刪除</a></td>";
}
temp+="</tr>";
}
catch(SQLException e) { }
return temp;
}
}
七、系統評價及心得體會
1、了解很多關於網上購書程序上的知識,要寫這個課程設計,我把有關網上購書的概論也看了下,發現不知道是這個設計太簡單還是怎麼回事,網上出現很多此樣的版本,很有有更新,可能我們對資料庫設計的程序還不是很了解吧。
2,要寫資料庫E-R圖,發現很難畫啊,還要把線段連來連去,覺得在畫圖上面花了很多時間
3,一定要先了解數據情況,要先熟悉了網上購書的基本操作,在開始研究,最好自己去試一下網上購書,我就自己親自去點擊了下網上購書網,然後才下手寫的課程設計。
『伍』 高分求一份完整圖書管理系統資料庫課程設計
網上書店(圖書)管理系統的設計與實現(HTML5,SSH,MySQL)(含錄像)
『陸』 求一份SQL server資料庫課程設計報告
2.2需求分析
(1)需求分析的任務
需求分析的任務是通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)工作概況,明確用戶的各種需求,用通俗的話來講,就是分析了解用戶關心什麼,用戶需要什麼樣的結果,然後在此基礎上分析和設計新系統的資料庫。
需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。
信息要求
是指用戶需要從資料庫中獲得信息的內容與性質。由用戶的信息要求可以導出數據要求,即在資料庫中需要存儲哪些數據。
處理要求
是指用戶要求完成什麼處理功能,對處理的響應時間有什麼要求,處理方式是批處理還是聯機處理。
安全性與完整性要求
一是指用戶對系統和數據有什麼安全性要求,如不同級別的用戶具有什麼操作許可權和使用哪些數據;二是對數據的輸入和存儲的什麼要求,如數據的長度和范圍、數據的有效性、一致性和唯一性等。
確定用戶的最終需求其實是一件很困難的事,這是因為一方面用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什麼,不能做什麼,因此無法一下子准確地表達自己的需求,他們所提出的需求往往不斷地變化。另一方面設計人員缺少用戶的專業知識,不易理解用戶的真正需求,甚至誤解用戶的需求。因此設計人員必須與用戶不斷深入地進行溝通和交流,才能逐步得以確定用戶的實際需求。
(2)需求分析的基本步驟
1.調查與初步分析用戶的需求,確定系統的功能邊界
⑴首先調查組織機構情況
⑵然後調查各部門的業務活動情況
⑶協助用戶明確對新系統的各種要求
⑷確定新系統的結構和功能邊界,確定哪些功能由計算機完成或將來由計算機完成,哪些活動由人工完成。
常用的調查方法有:
⑴跟班作業
⑵開調查會
⑶請專人介紹
⑷詢問
⑸問卷調查
⑹查閱記錄
2.生成數據字典
1)數據項條目:數據項是不可再分的數據單位,它直接反映事物的某一特徵。
2)數據結構條目:反映了數據之間的組合關系。
3)數據流條目:數據流是數據結構在系統內傳輸的路徑。
4)數據文件條目:數據文件是數據項停留或保存的地方,也是數據流的來源和去向之一。
5)處理過程條目。
(3) 案例分析:教學管理系統資料庫的需求分析
用戶的需求具體體現在各種信息的提供、保存、更新和查詢上,這就要求資料庫的結構能充分滿足各種信息的輸出和輸入。需求分析階段主要是收集基本數據,確定數據結構及數據處理的流程,組成一份詳盡的數據字典,以便為後面的概念設計和邏輯設計打下基礎。
2.3概念結構設計
概念結構設計是對收集來的信息和數據進行分析整理,確定實體、屬性及聯系,形成獨立於計算機的反映用戶觀點的概念模型。概念設計的重點在於信息結構的設計,它是整個資料庫系統設計的關鍵。
(1)概念結構設計的目標和任務
概念結構設計的目標是產生反映系統信息需求的資料庫概念結構,即概念模式。概念結構是獨立於DBMS和使用的硬體環境的。在這一階段,設計人員要從用戶的角度看待數據以及數據處理的要求和約束,產生一個反映用戶觀點的概念模式,然後再把概念模式轉換為邏輯模式。
概念模型的表示方法很多,其中最著名、最常用的表示方法為實體-聯系方法,這種方法也稱為E-R模型方法,該方法採用E-R圖描述概念模型。
E-R圖提供了表示實體、屬性和聯系的方法,它由以下三個組件構成:
實體---用矩形表示,矩形框內寫明實體名。
屬性---用橢圓形表示,並用無向邊將其與相應的實體連接起來。
聯系---用菱形表示,菱形框內寫明聯系名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)。
例如教學管理系統中的學生實體與課程實體的E-R圖如下圖表示:
(2)概念結構設計的過程
●數據抽象
概念結構是對現實世界的一種抽象,所謂抽象就是對實際的人、事、物和概念進行加工處理,抽取所關心的共同特性,用各種概念精確的加以描述,組成某種模型。
在需求分析中,已初步得到了有關各類實體、實體間的聯系以及描述它們性質的數據元素,統稱數據對象。
在這一階段中,首先要從以上數據對象中找出:系統有哪些實體?每個實體有哪些屬性?哪些實體間存在聯系?每一種聯系有哪些屬性?然後就可以做出系統的局部E-R模型和全局E-R模型。
● 局部E-R模型設計
局部E-R模型設計是從數據流圖出發確定實體和屬性,並根據數據流圖中表示的對數據的處理、確定實體之間的聯系。
設計局部E-R圖的步驟是:
1.確定實體類型和屬性
實體和屬性之間沒有嚴格的區別界限,但對於屬性來講,可以用下面的兩條准則作為依據:
1)作為屬性必須是不可再分的數據項,也就是屬性中不能再包含其他的屬性。
2)屬性不能與其他實體之間具有聯系。
2.確定實體間的聯系
依據需求分析結果,考察任意兩個實體類型之間是否存在聯系,若有,則確定其類型(一對一,一對多或多對多)。
3.畫出局部E-R圖
確定了實體及實體間的聯系後,可用E-R圖描述出來。形成局部E-R圖之後,還必須返回去徵求用戶意見,使之如實地反映現實世界,同時還要進一步規范化,以求改進和完善。每個局部E-R圖必須滿足:
(1)對用戶需求是完整的。
(2)所有實體、屬性、聯系都有惟一的名字。
(3)不允許有異名同義、同名異義的現象。
● 全局E-R模型的設計
各個局部E-R模型建立好後,還需要對它們進行合並,集成為一個整體的數據概念結構,即總E-R圖。在合並全局E-R模型時,應注意檢查和消除屬性、命名的沖突及數據冗餘。
(3)案例分析:教學管理系統資料庫的概念結構設計
通過上面的需求分析,就可以進行資料庫的概念結構設計,先對現實當中的人、事、物和概念進行抽象的加工處理,抽取所關心的共同特性,用各種概念進行描述,從中找出能夠滿足用戶需求的各種實體,以及它們之間的關系,並用實體-聯系圖表示出來(即畫出E-R圖),為後面的邏輯結構設計打下基礎。
1、確定實體及其屬性
經過對人工進行的教學管理系統的業務調查,得知系統主要涉及以下幾個實體:
● 學生實體:屬性主要包括班級名稱、學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、電話、備注等。
● 教師實體:屬性主要包括教師號、教師姓名、性別、出生日期、所在系、職稱
● 班級實體:屬性主要包括系部名稱、班級號、班級名稱、班主任、學生人數、備注等。
● 系部實體:屬性主要包括系號、系部名稱、班級數等。
● 課程實體:屬性主要包括課程號、課程名、考核方式、學分、學時數等。
2、確定實體之間的聯系
2.4 邏輯結構設計
(1)邏輯結構設計的目標和任務
邏輯結構設計的目標就是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數據模型(即層次、網狀、關系模型之一),並對其進行優化。
概念模型向邏輯模型的轉換過程分為3步進行:
(1)把概念模型轉換為一般的數據模型。
(2)將一般的數據模型轉換成特定的DBMS所支持的數據模型。
(3)通過優化方法將其轉化為優化的數據模型。
(2) 概念模型轉換為一般的關系模型
1.實體的轉換規則
將E-R圖中的每一個常規實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼。
2.實體間聯系的轉換規則
1)一個1:1聯系可以轉換為各自獨立的關系模式,也可以與任意一端所對應的關系模式合並。
2)一個1 : n聯系可以轉換為各自獨立的關系模式。
3)一個m : n聯系轉換為一個關系模式。轉換的方法為:與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,新關系的碼為兩個相連實體碼的組合
(3) 案例分析:教學管理系統資料庫的邏輯結構設計
邏輯結構設計的任務是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數據模型(即層次、網狀、關系模型之一),並對其進行優化,得到滿足用戶要求和系統功能需求的關系模式。
1、 E-R模型轉換為關系模式
將E-R模型轉換成初始關系模式的一般規則是:系統中各個實體轉換為對應的關系模式;實體之間多對多的聯系也轉換為關系模式。
根據轉換規則,可以將系部、班級、學生、教師、課程五個實體轉換成與之對應的五個關系模式;而將學生與課程兩者之間多對多的選修關系以及教師、班級和課程三者之間多對多的開課關系也轉換為關系模式。
2、關系模式的設計
根據上述的轉換結果,在對關系模式中數據進行規范化處理後,得到了符合第三範式的關系模式如下:
學生:{學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、班級名稱、電話、備注}
班級:{班級號、班級名稱、班主任、學生人數、系部名稱、備注}
系部:{系號、系部名稱、班級數}
教師:{教師號、教師姓名、性別、出生日期、所在系、職稱}
課程:{課程號、課程名、考核方式、學分、學時數}
選修:{學號、課程號、成績}
開課: {教師號、班級名稱、課程號、開課學期、授課地點}
每個關系模式中帶下劃線的屬性或屬性的組合表示主鍵、帶雙波浪線的屬性表示與之關聯的表的外鍵。
根據系統功能需求,數據採用SQL Server 2000所支持的實際數據模型,也就是資料庫的邏輯結構。啟動SQL Server 2000,創建一個資料庫命名為:jxgl。該資料庫中各個數據表的結構如下面各個表格所示。每個表格對應於資料庫中的一個表。
3、將關系模式轉換為資料庫中的表
按照關系數據模型的結構,將關系模式轉換為關系資料庫中的數據表,轉換的規則是:一個關系模式轉換為一個數據表,關系模式中的每個屬性轉換為數據表中的一個列。同時設置表中各個列的名稱、數據類型、數據寬度以及數據規則,得到如下幾個表:
學生表(student)
列名 類型 寬度 規則
班級名稱 CHAR 20 內容取自班級信息表的班級名稱
學號 CHAR 10 主鍵、長度為10個字元
姓名 CHAR 8
性別 CHAR 2 非空、只能取「男」或「女」
出生日期 DATETIME
民族 CHAR 4 假定只能取以下之一:漢、壯、白、回、苗、滿、其它
政治面貌 CHAR 4 只能取以下之一:黨員、團員、群眾
來源地 CHAR 10
入學成績 INT
學生類別 CHAR 10 假定只能取以下之一:本科、大專(普)、大專(業)、中專、技校、函授、其它
電話 CHAR 11
備注 CHAR 10
註:(1)該表存放全校所有學生的基本信息,每個學生產生一條記錄。
(2)學號的前4位表示年級,第5--8位表示班級號(其中第5-6位表示系號, 第7-8位表示系內班級號),最後兩位是班內的學生編號,在輸入記錄內容時應加以區分。
班級表(class)
列名 類型 寬度 規則
系部名稱 CHAR 10 非空、內容取自系部信息表的系部名稱
班級號 CHAR 4 非空、長度為4個字元
班級名稱 CHAR 20 主鍵
班主任 CHAR 8
學生人數 INT
備注 CHAR 10
註:(1)該表存放全校所有班級的信息,每個班級產生一條記錄。
(2)班級號的前2位表示系號,後兩位為系內的班級編號,在輸入記錄內容時應加以區分。
系部表(department)
列名 類型 寬度 規則
系號 CHAR 2 非空、長度為2個字元
系部名稱 CHAR 10 主鍵
班級數 INT
註:該表存放某校所有的系部信息,每個系部產生一條記錄。
教師表(teacher)
列名 類型 寬度 規則
教師號 CHAR 4 主鍵、長度為4個字元
姓名 CHAR 8
性別 CHAR 2 非空、只能取「男」或「女」
出生日期 DATETIME
職稱 CHAR 6 只能取以下之一:教授、副教授、講師、助教、其他
所在系 CHAR 20 非空、外鍵(內容取自系部表的系部名稱)
課程表(course)
列名 類型 寬度 規則
課程號 CHAR 4 主鍵、長度為4個字元
課程名 CHAR 20
考核方式 CHAR 4 假定只能取以下之一:考試、考查、其他
學分 INT 非空
學時數 INT
註:該表存放某校所有的課程信息,每門課產生一條記錄。
成績表(SC)
列名 類型 寬度 規則
學號 CHAR 8 主鍵、內容取自學生信息表的學生姓名
課程號 CHAR 20 主鍵、內容取自課程信息表的課程名稱
成績 INT
註:該表存放某校所有學生的成績信息,每個學生學習每門課程產生一條記錄。
開課信息表(tcc)
列名 類型 寬度 規則
教師號 CHAR 4 主鍵、內容取自教師信息表的教師號
課程號 CHAR 4 主鍵、內容取自課程信息表的課程號
班級號 CHAR 4 主鍵、內容取自班級信息表的班級號
開課學期 CHAR 20
授課地點 CHAR 20
註:該表存放某校開設課程的信息,每個教師教授某個班級的某門課產生一條記錄。
2. 5 物理設計
資料庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的資料庫結構,這一過程也稱為資料庫的物理實現。它主要包括兩項工作:
一是根據資料庫的結構、系統的大小、系統需要完成的功能及對系統的性能要求,決定選用哪個資料庫管理系統。目前,資料庫產品市場上比較好的產品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE等。
二是根據選用的資料庫管理系統的資料庫實現方法來建立用戶資料庫,即創建所需要的資料庫、表及其他資料庫對象。
本系統選用的DBMS是SQL Server 2000,並在該系統上創建用戶資料庫jxgl以及下屬的7個用戶表:student、class、department、teacher、course、sc、tcc,各個表的結構按2.4節第3點各表給出的具體內容設定。
2. 5 實訓二
以小組討論的形式,完成人事工資管理系統用戶資料庫的設計,要求個人寫出用戶資料庫設計的文檔(包括資料庫的需求分析、概念設計、邏輯設計和物理設計,表達方法可參考本章相應內容的案例分析部分),每個小組上交一份本系統用戶資料庫包括的數據表。
第三章 資料庫的數據完整性設計
3.1數據完整性的基本概念及內容
正確創建資料庫後,需要考慮數據的完整性、數據的安全性等要求。數據的完整性主要指數據的正確性、有效性、相容性,強制實施數據完整性可以確保資料庫中的數據的質量。
進行數據完整性設計主要考慮以下幾個方面的內容:
1)表名惟一;
由系統強制實施控制。
2)列名惟一;()
由系統強制實施控制。
3)數據行惟一;
通過設置主鍵約束或觸發器來實施控制。
4)列值非空;
通過設置非空約束來實施控制。
5)列值惟一性
通過設置惟一約束或惟一索引來實施控制。
6)列值滿足一定的條件
通過設置檢查約束或觸發器來實施控制。
7)數據的一致性和有效性
通過設置外鍵約束或觸發器來實施控制。
至於具體要對資料庫的哪一個表的哪一項數據進行什麼樣的數據完整性設計,還應根據用戶的需求來考慮和確定。
3.2 數據完整性的分類與實現方法
在SQL Server關系資料庫中,數據完整性分為以下三類:
1. 域完整性
域完整性是指一個列的輸入有效性,是否允許空值。實現域完整性的方法主要有:限制數據類型(通過設定列的數據類型)、限定格式(通過CHECK約束和規則)或可能值的范圍(通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT定義、NOT NULL定義和規則)以及程序控制。
2. 實體完整性
實體完整性是指保證表中所有的行唯一。實現實體完整性的方法主要有:索引、UNIQUE約束、PRIMARY KEY約束或 IDENTITY屬性以及程序控制。
3. 參照完整性
參照完整性也叫引用完整性。參照完整性確保主鍵(被引用表)和外鍵(引用表)之間的參照關系。它涉及兩個或兩個以上表數據的一致性維護。如student表(稱為引用表、參照表或子表)的class_id列就是參照class表(稱為被引用表、被參照表或父表)的外鍵。參照完整性可以實現以下兩種控制:
(1)存在外鍵時,被參照表中的這一行不能被刪除,主鍵值也不能改變 (以student和class表的「班級名稱」列為例說明)。
(2)若在被參照表中不存在包含相應主鍵的行時,一個外鍵值不能插入參照表中(MsgBox "添加記錄成功!", vbOKOnly + vbInformation, "提示"
End Sub
Private Sub Command5_Click()
rs.Close
Unload Me
End Sub
Private Sub Form_Load()
rs.CursorLocation = adUseClient ' 設置在客戶端創建游標
rs.CursorType = adOpenKeyset '設置游標類型為鍵集類型
rs.LockType = adLockOptimistic '設置打開記錄集時的鎖定類型為樂觀鎖,在執行UPdate方法前不鎖定編輯的數據
rs.Open "select * from teacher", cnn
'在表格上顯示class表的記錄內容
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
'將表格上的數據與文本框或下拉列表框綁定
Set Text1.DataSource = rs
Text1.DataField = "教師號"
Set Text2.DataSource = rs
Text2.DataField = "姓名"
Set Combo1.DataSource = rs
Combo1.DataField = "所在系"
Set Text3.DataSource = rs
Text3.DataField = "出生日期"
Set Text4.DataSource = rs
Text4.DataField = "從教日期"
Set Combo2.DataSource = rs
Combo2.DataField = "性別"
Set Combo3.DataSource = rs
Combo3.DataField = "職稱"
Set Combo4.DataSource = rs
Combo4.DataField = "政治面貌"
Set Combo5.DataSource = rs
Combo5.DataField = "學歷"
Set Text7.DataSource = rs
Text7.DataField = "家庭住址"
Set Text5.DataSource = rs
Text5.DataField = "聯系電話"
Set Text6.DataSource = rs
Text6.DataField = "備注"
'下拉列表框提供班級名稱
Combo1.Clear
rs1.Open "select 系部名稱 from department", cnn
While Not rs1.EOF()
Combo1.AddItem Trim(rs1.Fields("系部名稱"))
rs1.MoveNext
Wend
rs1.Close
End Sub
對其餘幾個表的數據進行增、刪、改操作的窗體的設計方法與上述類擬。
『柒』 誰幫我寫下這個資料庫設計的數據流圖,最好是連數據字典、功能分析和E-R圖都給我
我ft
這罩改也要人做 。。
就是100RMB也不會有人幫你做
這東西,要運笑想寫的好一點,至少得一個星物悄判期吧
LZ神經病,鑒定完畢。。
『捌』 資料庫課設報告功能分配怎麼寫
資料庫課設報告的功能分配部分通常是指明團隊成員各自負責的系統功能和模塊。以下是一個可能的編寫方式:
在本次資料庫課設中,我們團隊將分工合作,根據項目需求設計並實現以下幾個系統功能和模塊:
1. 資料庫設計和創建:由xx同學負責,包括針對項目需求的資料庫設計,資料庫結構的創建等。
2. 用戶管理模塊:由xx同學負責,包括用戶信息的錄入、修改、刪除等功能的實現。
3. 訂單管理模塊:由xx同學負責,包括訂單信息的錄入、查詢、刪除等功能的實現。
4. 商品管理模塊搜虛:由xx同學負責,包括商品信息的錄入、修改、刪除等功能的實現。
5. 報表生成模塊:由xx同學負責,包括銷售報表和庫存報表的生成及結果的導出功能。
6. 系統測試和優化:由團隊岩漏閉成員共同完成,包括對系統功能的整體測試和改粗裂進,以確保系統的穩定性和良好使用體驗。
以上是我們團隊的初步任務分配方案,實際情況可能因為團隊成員的能力和意願而有所不同。在任務分配之後,每個團隊成員還需詳細描述自己所負責的功能模塊的具體實現,以便於其他成員理解和協作。同時,在項目開發過程中,每位成員還應該隨時向其他成員匯報自己的進度和出現的問題,確保團隊進度和效率的保持。