freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫(kù)管理系統(tǒng)總體設(shè)計(jì)(參考版)

2025-04-10 23:10本頁(yè)面
  

【正文】 (‘select distinct Publisher from BookRecord。 file://從數(shù)據(jù)庫(kù)中選擇出版社類型close。 begin **********************************************************************procedure (Sender: TObject)。 open。begin end。end。 (‘select * from BookRecord‘)。close。:=‘‘。:=‘‘。beginMessagedlg(‘沒(méi)有找到你所需要的記錄!‘,mtInformation,[mbOK],0)。if FieldValues[‘BookID‘]=NULL (‘BookType‘).Value:=s5。 else then (‘Pub‘).Value:=s4。 else then (‘Author‘).Value:=s3。 else then (‘Name‘).Value:=s2。 else then s1:=‘%‘。s1:=‘%‘++‘%‘ file://使用Like語(yǔ)句來(lái)實(shí)現(xiàn)模糊查詢if ‘‘ (‘where BookID Like :BookID and BookName Like :Name and Author Like :Author and Publisher Like :pub and BookType Like :BookType‘)。 file://設(shè)立5個(gè)變量以方便實(shí)現(xiàn)模糊查詢begin **********************************************************************procedure (Sender: TObject)。 file://重新打開MainQueryend。 open。 file://清除SQL屬性中的SQL命令語(yǔ)句(‘select * from BookRecord where Publisher=:Pub‘)。 file://關(guān)閉MainQuery。 **********************************************************************procedure (Sender: TObject)。 file://在程序的起始部分,定義快捷按鈕點(diǎn)擊事件Procedure Popup1Handler(Sender:Tobject)。 同時(shí)我也使用了BDE組件中的Table,因?yàn)樵谀承r(shí)候BDE有著其自身特有的優(yōu)越性。另外,在本系統(tǒng)的數(shù)據(jù)模塊窗體圖中,我大多采用的AODQuery組件而沒(méi)有采用BDE組,這主要是基于對(duì)ADO組件的了解。tsxs數(shù)據(jù)庫(kù)已在ODBC配置程序中進(jìn)行了設(shè)置。(datamoduleform)窗體圖,除報(bào)表窗體外所有的數(shù)據(jù)存取組件和數(shù)據(jù)源組件都在此數(shù)據(jù)模塊中進(jìn)行了定義。那么,能不能將這些數(shù)據(jù)源集中管理,最好是做成一個(gè)統(tǒng)一的模塊,需要時(shí)就將該模塊引入而不必直接操作數(shù)據(jù)源本身呢?數(shù)據(jù)模塊(DataModule)是解決這個(gè)問(wèn)題最好的答案。 第五章 由前一階段產(chǎn)生的系統(tǒng)功能模塊圖,我為系統(tǒng)的主要部分設(shè)計(jì)了如下程序流程圖:通過(guò)以上步驟,基本上完成了對(duì)整個(gè)系統(tǒng)的總體設(shè)計(jì),接下來(lái)所要做的就是軟件的編碼工作。為軟件的質(zhì)量,延長(zhǎng)軟件的生存期,軟件的可測(cè)試性、可維護(hù)性提供重要的保障。需要指出的是系統(tǒng)的詳細(xì)設(shè)計(jì)并不是指具體的編程序,而是將概要設(shè)計(jì)階段產(chǎn)生的系統(tǒng)功能模塊圖細(xì)化成很容易產(chǎn)生程序的圖紙?,F(xiàn)在所要做的就是確定每個(gè)模塊具體執(zhí)行過(guò)程,也可以說(shuō)是“過(guò)程設(shè)計(jì)”。167。它是在用戶登陸時(shí)用來(lái)確定用戶和密碼的正確性,以防止非法用戶登陸。比如,系統(tǒng)中通過(guò)在入庫(kù)信息表中定義的外鍵 BookID、EmployeeID和ShopkeeperID可以將庫(kù)存信息表、員工信息表和供應(yīng)商信息表聯(lián)系在一起,從而方便地實(shí)現(xiàn)聯(lián)接查詢,而且,引入外鍵的定義是實(shí)體完整性約束的一個(gè)主要方面。無(wú)論您是添加入庫(kù)記錄,還是添加出庫(kù)記錄,系統(tǒng)都將自動(dòng)修改庫(kù)存中圖書的數(shù)量,而且,在您出庫(kù)的數(shù)量大于庫(kù)存數(shù)量時(shí),系統(tǒng)還會(huì)自動(dòng)提示錯(cuò)誤,這樣就可以防止一定錯(cuò)誤的發(fā)生。出庫(kù)信息表和入庫(kù)信息表一樣,其實(shí)它們都屬于聯(lián)系類型,系統(tǒng)通過(guò)這兩個(gè)表可以聯(lián)接上其它的表為用戶提供多種條件的聯(lián)接查詢。InRecord 表(入庫(kù)信息表) 字段名稱 數(shù)據(jù)類型 說(shuō)明K InID 數(shù)字 入庫(kù)編號(hào) BookID 數(shù)字 圖書編號(hào) EmployeeID 數(shù)字 員工編號(hào) ShopkeeperID 數(shù)字 供應(yīng)商編號(hào) Number 數(shù)字 入庫(kù)數(shù)量 BuyDate 日期/時(shí)間 入庫(kù)日期 入庫(kù)信息表OutRecord 表(出庫(kù)信息表) 字段名稱 數(shù)據(jù)類型 說(shuō)明K OutID 數(shù)字 出庫(kù)編號(hào) BookID 數(shù)字 圖書編號(hào) EmployeeID 數(shù)字 員工編號(hào) Number2 數(shù)字 出庫(kù)數(shù)量 OutDate 日期/時(shí)間 出庫(kù)日期 出庫(kù)信息表入庫(kù)信息表主要用于記錄有關(guān)入庫(kù)的詳細(xì)信息,包括入庫(kù)數(shù)量、入庫(kù)日期以及圖書、員工、供應(yīng)商三方的編號(hào),以便查詢。它主要用來(lái)為系統(tǒng)提供供應(yīng)商的有關(guān)信息,在系統(tǒng)中入庫(kù)記錄是與供應(yīng)商記錄相聯(lián)系的,通過(guò)入庫(kù)記錄可以查找相關(guān)的供應(yīng)商信息。另外,作為一個(gè)倉(cāng)庫(kù)也有必要了解其所屬員工的一些基本情況,以便查詢。Employee 表(員工信息表) 字段名稱 數(shù)據(jù)類型 說(shuō)明K EmployeeID 數(shù)字 員工編號(hào) EmployeeName 文本 員工姓名 Sex 文本 性別 BornDate 日期/時(shí)間 出生日期 Grade 文本 職稱 WorkDate 日期/時(shí)間 工作日期 Telephone 文本 聯(lián)系電話 Address 文本 聯(lián)系地址 員工信息表員工信息表主要用于記錄有關(guān)員工的各類信息,包括姓名、職稱、出生日期、聯(lián)系電話、聯(lián)系地址等。此外,庫(kù)存數(shù)量也是一個(gè)比較關(guān)鍵的字段,該字段是在系統(tǒng)初始化時(shí)就給定的,每當(dāng)有圖書入庫(kù)或出庫(kù)操作,系統(tǒng)就會(huì)自動(dòng)修改圖書的庫(kù)存數(shù)量,以保持?jǐn)?shù)據(jù)的一致性。在該表中圖書編號(hào)是主鍵,它按圖書入庫(kù)的先后次序來(lái)編寫,每當(dāng)有圖書入庫(kù),系統(tǒng)自動(dòng)給出圖書編號(hào),這樣我們按圖書編號(hào)來(lái)查找圖書是比較方便的。(說(shuō)明:在以下數(shù)據(jù)表中,K代表主鍵,代表外鍵,字段值不為空。根據(jù)系統(tǒng)ER圖,針對(duì)本系統(tǒng)的特點(diǎn),在對(duì)所搜集的數(shù)據(jù)進(jìn)行規(guī)范化之后,定義了如下六張表格,分別是庫(kù)存信息表,入庫(kù)信息表,出庫(kù)信息表,員工信息表,供應(yīng)商信息表和密碼信息表。其實(shí)在上一節(jié)的ER圖設(shè)計(jì)中,已經(jīng)運(yùn)用了范式的思想,不僅如此,在數(shù)據(jù)庫(kù)的表格設(shè)計(jì)中更離不開范式的思想,它是數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ),如果不注意這個(gè)問(wèn)題將會(huì)導(dǎo)致一系列問(wèn)題的出現(xiàn)。因?yàn)殛P(guān)系數(shù)據(jù)庫(kù)中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系。下面就是各實(shí)體及聯(lián)系類型的屬性圖:(帶號(hào)的屬性為關(guān)鍵字段) 數(shù)據(jù)庫(kù)表格設(shè)計(jì)在完成系統(tǒng)的ER圖之后,需要將ER模型轉(zhuǎn)化為關(guān)系模型,也就是說(shuō),要設(shè)計(jì)出數(shù)據(jù)庫(kù)所需要的表格。通過(guò)添加供應(yīng)商信息可以比較清楚地了解圖書的進(jìn)貨渠道,從圖書的質(zhì)量到供應(yīng)商的信譽(yù)都可以進(jìn)行了解,同時(shí)可以為以后的圖書進(jìn)購(gòu)提供一定有用的信息。員工記錄的添加是考慮到責(zé)任問(wèn)題,也就是說(shuō),在倉(cāng)庫(kù)管理的實(shí)際運(yùn)用中,出現(xiàn)了責(zé)任不清的現(xiàn)象,特別是由于倉(cāng)庫(kù)的進(jìn)出圖書數(shù)量都比較大時(shí)產(chǎn)生了一系列問(wèn)題,所以在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),我特別考慮到這一點(diǎn),加入了員工記錄這一實(shí)體。)在該數(shù)據(jù)庫(kù)中,我設(shè)計(jì)了三個(gè)實(shí)體,分別是庫(kù)存、員工和供應(yīng)商以及兩個(gè)聯(lián)系類型入庫(kù)和出庫(kù)。倉(cāng)庫(kù)根據(jù)需要可以查詢圖書供應(yīng)商的信息,同時(shí)還需要了解在入庫(kù)和出庫(kù)中員工的參與情況。◆直線,聯(lián)系類型與其涉及的實(shí)體類型之間以直線連接?!?橢圓形框,表示實(shí)體類型和聯(lián)系類型的屬性。ER圖是直觀表示概念模型的工具,它有四個(gè)基本成分:◆ 矩形框,表示實(shí)體類型(考慮問(wèn)題的對(duì)象)。它有兩個(gè)明顯的優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無(wú)關(guān),用戶容易接受。在本系統(tǒng)中我采用“實(shí)體聯(lián)系模型”(ER模型)來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行第一次抽象。 ER圖設(shè)計(jì)在系統(tǒng)設(shè)計(jì)的開始,我首先考慮的是如何用數(shù)據(jù)模型來(lái)數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行抽象。這些信息再進(jìn)一步加工、編碼,然后進(jìn)數(shù)據(jù)世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個(gè)方面的問(wèn)題,也就是要考慮系統(tǒng)開發(fā)所需要的數(shù)據(jù),以及如何對(duì)這些數(shù)據(jù)進(jìn)行操作。) 在得到系統(tǒng)的第一層功能模塊圖后,經(jīng)過(guò)進(jìn)一步地細(xì)化,得一系統(tǒng)的子功能模塊圖: 數(shù)據(jù)庫(kù)設(shè)計(jì)在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫(kù),通過(guò)決策機(jī)構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷了三個(gè)領(lǐng)域:信息世界,數(shù)據(jù)世界,現(xiàn)實(shí)世界。比如,用戶管理我又將其分為用戶注冊(cè)、用戶注銷、密碼修改;庫(kù)存管理分為庫(kù)存記錄查詢、庫(kù)存記錄修改、庫(kù)存記錄打印等等。我首先將整個(gè)系統(tǒng)化分為幾個(gè)小問(wèn)題,小模塊,在系統(tǒng)中,我設(shè)計(jì)了用戶管理、庫(kù)存管理、入庫(kù)管理、出庫(kù)管理、員工管理和供應(yīng)商管理6個(gè)小模塊。也就是說(shuō),每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨(dú)立性,為設(shè)計(jì)高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。每個(gè)模塊完成一個(gè)特定的功能,所有的模塊按某種方法組織起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的概要設(shè)計(jì)中最重要的就是系統(tǒng)的模塊化?,F(xiàn)在我們所要做的就是要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實(shí)現(xiàn)軟件的需求。167。在這里只給出有關(guān)入庫(kù)管理和出庫(kù)管理的1層數(shù)據(jù)流圖,它們是系統(tǒng)的關(guān)鍵部分,也是主要的部分。在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數(shù)據(jù)了,輸出流是該系統(tǒng)的輸出數(shù)據(jù);底層流圖是指其加工不需要再做分解的數(shù)據(jù)流圖,中間層流圖表示對(duì)其上層父圖的細(xì)化,它的每一步加工可能繼續(xù)細(xì)化成子圖。為了表達(dá)較為復(fù)雜問(wèn)題的數(shù)據(jù)處理過(guò)程,用一張數(shù)據(jù)流圖是不夠的,要按照問(wèn)題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以一套分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。它是一種功能模型,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,只反映系統(tǒng)必須完成的邏輯功能。軟件需求分析中我采用結(jié)構(gòu)化分析方法(Structured Analysis,簡(jiǎn)稱SA),SA是面向數(shù)據(jù)流進(jìn)行需求分析的方法,像所有的軟件分析方法(如面向?qū)ο蠓治龇椒?、IDEF方法等等)一樣,SA也是一種建模活動(dòng),它使用簡(jiǎn)單易讀的符號(hào),根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。 系統(tǒng)需求分析在經(jīng)過(guò)前一階段的分析之后,我確定了我的開發(fā)課題為圖書倉(cāng)庫(kù)管理。編碼過(guò)程將在下一節(jié)論述,而測(cè)試和維護(hù)過(guò)程不在本文敘及。第四章 系統(tǒng)總體設(shè)計(jì)軟件系統(tǒng)的總體設(shè)計(jì)大約要經(jīng)歷可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試以及維護(hù)等七個(gè)階段。與其他的數(shù)據(jù)庫(kù)系統(tǒng)相比,Access更加簡(jiǎn)單易學(xué),一個(gè)普通的計(jì)算機(jī)用戶可以很快地掌握它。Access做為一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),它被集成在Microsoft Office中。我首先想到的數(shù)據(jù)庫(kù)是Borland公司的Paradox數(shù)據(jù)庫(kù)。在本系統(tǒng)中,做為圖書倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)比較小的應(yīng)用系統(tǒng),它所產(chǎn)生和處理的數(shù)據(jù)量也比較小。167。而且,在每一次修改完成以后,還應(yīng)該記得重新將ADOQuery激活。在Delphi中調(diào)用數(shù)據(jù)庫(kù),就可以調(diào)用ADOQuery組件,通過(guò)修改其中的SQL…屬性中的SQL語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各項(xiàng)操作。Delphi中用ADOQuery來(lái)使用SQL語(yǔ)句同樣十分方便。對(duì)于這種情況應(yīng)當(dāng)用Try…Except模塊來(lái)設(shè)計(jì)程序。此時(shí)應(yīng)該調(diào)用ExecSQL 方法來(lái)代替Open方法。Open方法和ExecSQL方法是不一樣的。在設(shè)計(jì)過(guò)程中,設(shè)置完TQuery部件的SQL屬性之后將其Active屬性的值置為True, 這樣便可以執(zhí)行SQL屬性中的SQL程序,如果應(yīng)用中有與TQuery部件相連的數(shù)據(jù)瀏覽部件( 如TDDGrid TDBEdit等)那么在這些數(shù)據(jù)瀏覽部件中會(huì)顯示SQL程序的執(zhí)行結(jié)果。當(dāng)然有些數(shù)據(jù)庫(kù)服務(wù)器也支持在TQuery部件的SQL屬性中設(shè)置多條SQL語(yǔ)句,只要數(shù)據(jù)庫(kù)服務(wù)器允許這樣,我們?cè)诰幊虝r(shí)可以為 SQL 屬性設(shè)置多條SQL語(yǔ)句。在應(yīng)用程序中為SQL屬性設(shè)置新的SQL 命令語(yǔ)句時(shí),必須要調(diào)用Clear方法以清除SQL屬性中現(xiàn)存的SQL命令語(yǔ)句,如果不調(diào)用Clear方法,便調(diào)用Add方法向SQL屬性中設(shè)置SQL命令語(yǔ)句,那么新設(shè)置的SQL命令語(yǔ)句會(huì)追加在現(xiàn)存SQL命令語(yǔ)句后面, 在程序運(yùn)行時(shí)常常會(huì)出現(xiàn)出乎意料的查詢結(jié)果甚至程序無(wú)法運(yùn)行下去。(‘ Where Name =Lucy ‘)。在程序運(yùn)行過(guò)程中,要想設(shè)置TQuery部件的SQL屬性,必須首先調(diào)用Close方法,關(guān)閉TQuery部件,然后再調(diào)用Clear方法清除SQL屬性中現(xiàn)存的SQL命令語(yǔ)句, 最后再調(diào)用Add方法為SQL屬性設(shè)置新的SQL命令語(yǔ)句。③將TQuery部件的DataSource屬性設(shè)置為另一個(gè)數(shù)據(jù)源,這樣將另一個(gè)數(shù)據(jù)源中與當(dāng)前TQuery部件的SQL語(yǔ)句中的參數(shù)名相匹配的字段值賦給其對(duì)應(yīng)的參數(shù)。為參數(shù)賦值有三種方法:①根據(jù)參數(shù)在SQL語(yǔ)句中出現(xiàn)的順序,設(shè)置TQuery部件的Params屬性值為參數(shù)賦值。Where StudentCode =: StudentCode。From 動(dòng)態(tài)SQL語(yǔ)句,也被稱作參數(shù)化的語(yǔ)句,在其中間包含著表示字段名或表名的參數(shù),例如下面的語(yǔ)句是一條動(dòng)態(tài)SQL語(yǔ)句: Select 還可以使用Delphi的SQL Builder來(lái)自動(dòng)生成SQL語(yǔ)句,這樣可以避免手工編寫SQL而可能造成的語(yǔ)法錯(cuò)誤。可以在TQuery組件的SQL屬性中設(shè)置SQL語(yǔ)句。 用Delphi6作數(shù)據(jù)庫(kù)應(yīng)用開發(fā)概括來(lái)說(shuō)如下:先利用數(shù)據(jù)存取組件和實(shí)際的數(shù)據(jù)庫(kù)建立連接,并用Tsession對(duì)象和Tdatabase對(duì)象
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1