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

正文內(nèi)容

圖書(shū)倉(cāng)庫(kù)管理系統(tǒng)(存儲(chǔ)版)

  

【正文】 結(jié)構(gòu)與語(yǔ)義,對(duì)現(xiàn)實(shí)世界進(jìn)行抽象,表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的模型稱(chēng)為“數(shù)據(jù)模型” 。這類(lèi)模型有嚴(yán)格的形式化定義,以便于在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。用有向圖結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型的主要是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。現(xiàn)在市場(chǎng)上典型的關(guān)系DBMS產(chǎn)品有DBORACLE、SYBASE、INFORMIX和微機(jī)型產(chǎn)品Foxpro、Access等。因此,人們需要更高級(jí)的數(shù)據(jù)庫(kù)技術(shù)來(lái)表達(dá)這類(lèi)信息。外部級(jí)最接近用戶(hù),是單個(gè)用戶(hù)所能看到的數(shù)據(jù)特性。三級(jí)結(jié)構(gòu)之間往往差別很大,為了實(shí)現(xiàn)這三個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,DBMS在三級(jí)結(jié)構(gòu)之間提供兩個(gè)層次的映象(mappings):外模式/模式映象,模式/內(nèi)模式映象。也就是對(duì)概念模式的修改盡量不影響外模式和應(yīng)用程序,這樣,我們稱(chēng)數(shù)據(jù)庫(kù)達(dá)到了邏輯數(shù)據(jù)獨(dú)立性。規(guī)范化表達(dá)還規(guī)定在每一個(gè)基本表中必須定義一個(gè)數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標(biāo)識(shí)出該表中其它相關(guān)的數(shù)據(jù)元素。第一范式(first normal form,簡(jiǎn)稱(chēng)1st NF)就是指在同一表中沒(méi)有重復(fù)項(xiàng)出現(xiàn),如果有則應(yīng)將重復(fù)項(xiàng)去掉。第三范式(third normal form,簡(jiǎn)稱(chēng) 3rd NF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標(biāo)識(shí),而且它們之間還必須相互獨(dú)立,不存在其它的函數(shù)關(guān)系。SQL語(yǔ)句可以從關(guān)系數(shù)據(jù)庫(kù)中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫(kù)、增加數(shù)據(jù)、修改數(shù)據(jù)。SQL語(yǔ)言不要求用戶(hù)指定數(shù)據(jù)的存取方法,而是使用查詢(xún)優(yōu)化器,由系統(tǒng)決定對(duì)指定數(shù)據(jù)存取的最快速手段。 SQL數(shù)據(jù)更新使用數(shù)據(jù)庫(kù)的目的是為了有效地管理數(shù)據(jù),而數(shù)據(jù)的插入、刪除和修改則是必不可少的一個(gè)功能。第三章 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具167。大家知道,在編寫(xiě)程序時(shí)一般都開(kāi)始于在組件面板上選擇組件并定義組件間的相互作用。圖形控件最典型的例子是Tlabel和TspeedButton。ADO是基于OLEDB之上的技術(shù),因此ADO通過(guò)其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)接口方法。這意味著只需要很少的代碼就可以實(shí)現(xiàn)該連接并且性能得到提高。Delphi ,可以不借助BDE數(shù)據(jù)引擎而是通過(guò)微軟的OLEDB來(lái)訪(fǎng)問(wèn)更為廣泛的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。主要包括數(shù)據(jù)源控件DataSource、客戶(hù)數(shù)據(jù)集控件ClientDataSet、數(shù)據(jù)集提供器控件DataSetProvider等等。用Delphi6作數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)概括來(lái)說(shuō)如下:先利用數(shù)據(jù)存取組件和實(shí)際的數(shù)據(jù)庫(kù)建立連接,并用Tsession對(duì)象和Tdatabase對(duì)象管理這些連接。其中的變量StudentCode便是一個(gè)參數(shù)變量,它由一個(gè)冒號(hào)引導(dǎo),在程序運(yùn)行過(guò)程中,必須要為該參數(shù)賦值,該條SQL語(yǔ)句才能正確執(zhí)行,每次運(yùn)行應(yīng)用程序時(shí)可以為該參數(shù)變量賦予不同的值。在為T(mén)Query部件設(shè)置SQL屬性時(shí)調(diào)用Close方法總是很安全的,如果TQuery部件已經(jīng)被關(guān)閉了,調(diào)用Close方法時(shí)不會(huì)產(chǎn)生任何影響。Open方法只能用來(lái)執(zhí)行SQL語(yǔ)言的查詢(xún)語(yǔ)句(Select命令), 并返回一個(gè)查詢(xún)結(jié)果集,而ExecSQL方法還可以用來(lái)執(zhí)行其它常用的SQL語(yǔ)句(如INSERT, UPDATE, DELETE等命令),例如: (這樣會(huì)返回一個(gè)查詢(xún)結(jié)果集)如果調(diào)用Open方法,而沒(méi)有查詢(xún)結(jié)果時(shí),會(huì)出錯(cuò)。值得注意的是,ADOQuery組件只有在激活的情況下才可以被正確地使用,這樣就提出了一個(gè)問(wèn)題,也就是說(shuō),在每次修改ADOQuery組件的SQL…屬性時(shí)都必須先行進(jìn)行關(guān)閉,待清除掉SQL…中所有的SQL語(yǔ)句后才可以添加新的SQL語(yǔ)句。另外,Microsoft Office中的Access數(shù)據(jù)庫(kù)在計(jì)算機(jī)上的應(yīng)用比較普及,是開(kāi)發(fā)小型數(shù)據(jù)庫(kù)系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了Access數(shù)據(jù)庫(kù)。 系統(tǒng)需求分析在經(jīng)過(guò)前一階段的分析之后,我確定了我的開(kāi)發(fā)課題為圖書(shū)倉(cāng)庫(kù)管理。在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數(shù)據(jù)了,輸出流是該系統(tǒng)的輸出數(shù)據(jù);底層流圖是指其加工不需要再做分解的數(shù)據(jù)流圖,中間層流圖表示對(duì)其上層父圖的細(xì)化,它的每一步加工可能繼續(xù)細(xì)化成子圖。 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的概要設(shè)計(jì)中最重要的就是系統(tǒng)的模塊化。比如,用戶(hù)管理我又將其分為用戶(hù)注冊(cè)、用戶(hù)注銷(xiāo)、密碼修改;庫(kù)存管理分為庫(kù)存記錄查詢(xún)、庫(kù)存記錄修改、庫(kù)存記錄打印等等。在本系統(tǒng)中我采用“實(shí)體聯(lián)系模型”(ER模型)來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行第一次抽象?!糁本€(xiàn),聯(lián)系類(lèi)型與其涉及的實(shí)體類(lèi)型之間以直線(xiàn)連接。通過(guò)添加供應(yīng)商信息可以比較清楚地了解圖書(shū)的進(jìn)貨渠道,從圖書(shū)的質(zhì)量到供應(yīng)商的信譽(yù)都可以進(jìn)行了解,同時(shí)可以為以后的圖書(shū)進(jìn)購(gòu)提供一定有用的信息。根據(jù)系統(tǒng)ER圖,針對(duì)本系統(tǒng)的特點(diǎn),在對(duì)所搜集的數(shù)據(jù)進(jìn)行規(guī)范化之后,定義了如下六張表格,分別是庫(kù)存信息表,入庫(kù)信息表,出庫(kù)信息表,員工信息表,供應(yīng)商信息表和密碼信息表。Employee 表(員工信息表) 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明K EmployeeID 數(shù)字 員工編號(hào) EmployeeName 文本 員工姓名 Sex 文本 性別 BornDate 日期/時(shí)間 出生日期 Grade 文本 職稱(chēng) WorkDate 日期/時(shí)間 工作日期 Telephone 文本 聯(lián)系電話(huà) Address 文本 聯(lián)系地址 員工信息表員工信息表主要用于記錄有關(guān)員工的各類(lèi)信息,包括姓名、職稱(chēng)、出生日期、聯(lián)系電話(huà)、聯(lián)系地址等。出庫(kù)信息表和入庫(kù)信息表一樣,其實(shí)它們都屬于聯(lián)系類(lèi)型,系統(tǒng)通過(guò)這兩個(gè)表可以聯(lián)接上其它的表為用戶(hù)提供多種條件的聯(lián)接查詢(xún)。167。由前一階段產(chǎn)生的系統(tǒng)功能模塊圖,我為系統(tǒng)的主要部分設(shè)計(jì)了如下程序流程圖:通過(guò)以上步驟,基本上完成了對(duì)整個(gè)系統(tǒng)的總體設(shè)計(jì),接下來(lái)所要做的就是軟件的編碼工作。值得一提的是,設(shè)置了數(shù)據(jù)庫(kù)Database組件,該組件引入了系統(tǒng)所需的唯一的數(shù)據(jù)庫(kù)tsxs,Database組件的DatabaseName屬性設(shè)置為tsckgl。**********************************************************************procedure (Sender: TObject)。**********************************************************************procedure (Sender: TObject)。 file://給變量s1賦值if ‘‘ then s2:=‘%‘++‘%‘ else s2:=‘%‘。 file://給變量s2賦值open。var PopupItem:TMenuItem。**********************************************************************procedure (Sender: TObject)。:=‘‘。 file://給變量s2賦值if ‘‘ then s5:=‘%‘++‘%‘ else s5:=‘%‘。 file://使用Like語(yǔ)句來(lái)實(shí)現(xiàn)模糊查詢(xún)if ‘‘ then s1:=‘%‘++‘%‘ else s1:=‘%‘。 file://重新打開(kāi)MainQueryend。 主窗體功能模塊的實(shí)現(xiàn) file://主窗體程序代碼public file://在程序的起始部分,定義快捷按鈕點(diǎn)擊事件Procedure Popup1Handler(Sender:Tobject)。簡(jiǎn)單說(shuō)來(lái),數(shù)據(jù)模塊是用來(lái)集中管理數(shù)據(jù)源的一個(gè)窗體,該窗體可被需要的地方隨時(shí)引入。為軟件的質(zhì)量,延長(zhǎng)軟件的生存期,軟件的可測(cè)試性、可維護(hù)性提供重要的保障。它是在用戶(hù)登陸時(shí)用來(lái)確定用戶(hù)和密碼的正確性,以防止非法用戶(hù)登陸。InRecord 表(入庫(kù)信息表) 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明K InID 數(shù)字 入庫(kù)編號(hào) BookID 數(shù)字 圖書(shū)編號(hào) EmployeeID 數(shù)字 員工編號(hào) ShopkeeperID 數(shù)字 供應(yīng)商編號(hào) Number 數(shù)字 入庫(kù)數(shù)量 BuyDate 日期/時(shí)間 入庫(kù)日期 入庫(kù)信息表OutRecord 表(出庫(kù)信息表) 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明K OutID 數(shù)字 出庫(kù)編號(hào) BookID 數(shù)字 圖書(shū)編號(hào) EmployeeID 數(shù)字 員工編號(hào) Number2 數(shù)字 出庫(kù)數(shù)量 OutDate 日期/時(shí)間 出庫(kù)日期 出庫(kù)信息表入庫(kù)信息表主要用于記錄有關(guān)入庫(kù)的詳細(xì)信息,包括入庫(kù)數(shù)量、入庫(kù)日期以及圖書(shū)、員工、供應(yīng)商三方的編號(hào),以便查詢(xún)。此外,庫(kù)存數(shù)量也是一個(gè)比較關(guān)鍵的字段,該字段是在系統(tǒng)初始化時(shí)就給定的,每當(dāng)有圖書(shū)入庫(kù)或出庫(kù)操作,系統(tǒng)就會(huì)自動(dòng)修改圖書(shū)的庫(kù)存數(shù)量,以保持?jǐn)?shù)據(jù)的一致性。其實(shí)在上一節(jié)的ER圖設(shè)計(jì)中,已經(jīng)運(yùn)用了范式的思想,不僅如此,在數(shù)據(jù)庫(kù)的表格設(shè)計(jì)中更離不開(kāi)范式的思想,它是數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ),如果不注意這個(gè)問(wèn)題將會(huì)導(dǎo)致一系列問(wèn)題的出現(xiàn)。員工記錄的添加是考慮到責(zé)任問(wèn)題,也就是說(shuō),在倉(cāng)庫(kù)管理的實(shí)際運(yùn)用中,出現(xiàn)了責(zé)任不清的現(xiàn)象,特別是由于倉(cāng)庫(kù)的進(jìn)出圖書(shū)數(shù)量都比較大時(shí)產(chǎn)生了一系列問(wèn)題,所以在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),我特別考慮到這一點(diǎn),加入了員工記錄這一實(shí)體?!?橢圓形框,表示實(shí)體類(lèi)型和聯(lián)系類(lèi)型的屬性。 ER圖設(shè)計(jì)在系統(tǒng)設(shè)計(jì)的開(kāi)始,我首先考慮的是如何用數(shù)據(jù)模型來(lái)數(shù)據(jù)庫(kù)的結(jié)構(gòu)與語(yǔ)義,以對(duì)現(xiàn)實(shí)世界進(jìn)行抽象。我首先將整個(gè)系統(tǒng)化分為幾個(gè)小問(wèn)題,小模塊,在系統(tǒng)中,我設(shè)計(jì)了用戶(hù)管理、庫(kù)存管理、入庫(kù)管理、出庫(kù)管理、員工管理和供應(yīng)商管理6個(gè)小模塊。現(xiàn)在我們所要做的就是要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實(shí)現(xiàn)軟件的需求。為了表達(dá)較為復(fù)雜問(wèn)題的數(shù)據(jù)處理過(guò)程,用一張數(shù)據(jù)流圖是不夠的,要按照問(wèn)題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以一套分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。編碼過(guò)程將在下一節(jié)論述,而測(cè)試和維護(hù)過(guò)程不在本文敘及。因此,沒(méi)有必要使用像SQL Server和Oracle這樣的大型數(shù)據(jù)庫(kù)。在ADOQuery組件中首先通過(guò)ConnectionString屬性值來(lái)聯(lián)接數(shù)據(jù)源,然后就通過(guò)雙擊SQL…屬性值來(lái)寫(xiě)入SQL語(yǔ)句。在應(yīng)用程序運(yùn)行過(guò)程中,通過(guò)程序調(diào)用TQuery部件的Open方法或ExecSQL 方法可以執(zhí)行其SQL屬性中的SQL程序。例如: {關(guān)閉Query1) {清除SQL屬性中的SQL命令語(yǔ)句}(‘Select * From Students‘)。靜態(tài)SQL語(yǔ)句在程序設(shè)計(jì)時(shí)便已固定下來(lái),它不包含任何參數(shù)和變量。如果一個(gè)DataSet對(duì)象中的數(shù)據(jù)想在數(shù)據(jù)感知組件中顯示和修改,它就必須和TdataSource對(duì)象相聯(lián)系。 數(shù)據(jù)訪(fǎng)問(wèn)類(lèi)DataAccess數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中數(shù)據(jù)訪(fǎng)問(wèn)是一個(gè)首要問(wèn)題,包括單用戶(hù)和 C/S系統(tǒng),都必須聯(lián)系一些數(shù)據(jù)庫(kù)和數(shù)據(jù)表文件。TTADODataSet沒(méi)有直接的BDE對(duì)應(yīng)組件,但它提供了許多與Ttable和Tquery相同的功能。這種能力是通過(guò)一組新組件實(shí)現(xiàn)的,這些組件是在企業(yè)版的ADO組件頁(yè)中,在組件面版的ADO頁(yè)上可以找到這些組件。 ADO數(shù)據(jù)訪(fǎng)問(wèn)組件ADO數(shù)據(jù)對(duì)象(Active Data Objects)實(shí)際是一種提供訪(fǎng)問(wèn)各種數(shù)據(jù)類(lèi)型的鏈接機(jī)制。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點(diǎn)和包含其它組件。Delphi6中的VCL組件可用圖31來(lái)說(shuō)明。有一點(diǎn)要進(jìn)行說(shuō)明,雖然通過(guò)TQuery組件來(lái)使用SQL語(yǔ)言很方便,但考慮到自己對(duì)不同組件的理解程度、個(gè)人習(xí)慣以及其它各個(gè)方面,在本系統(tǒng)中我采用的是ADO組件來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。系統(tǒng)中的條件判斷往往包含多個(gè)條件,這時(shí)就需要使用邏輯運(yùn)算符NOT、AND、OR(用于多條件的邏輯連接),謂詞ALL以及保留字DISTINCT等等。SQL語(yǔ)言是一種非過(guò)程化語(yǔ)言,它一次處理一個(gè)記錄集合,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都提供關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言——SQL。通常我們稱(chēng)這種關(guān)系為函數(shù)依賴(lài)(functional depEndence)關(guān)系。在這五種范式中,一般只用前三種,對(duì)于常用系統(tǒng)就足夠了。對(duì)于指標(biāo)體系中數(shù)據(jù)的結(jié)構(gòu)在建庫(kù)前還必須進(jìn)行規(guī)范化的重新組織。也就是對(duì)內(nèi)模式的修改盡量不影響概念模式,當(dāng)然,對(duì)于外模式和應(yīng)用程序的影響更小,這樣,我們稱(chēng)數(shù)據(jù)庫(kù)達(dá)到了物理數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)的三個(gè)抽象級(jí)別。雖然現(xiàn)在DBMS的產(chǎn)品多種多樣,在不同的操作系統(tǒng)支持下工作,但是大多數(shù)系統(tǒng)在總的體系結(jié)構(gòu)上都具有三級(jí)模式的結(jié)構(gòu)特征。(4)面向?qū)ο竽P汀?0世紀(jì)70年代對(duì)關(guān)系數(shù)據(jù)庫(kù)的研究主要集中在理論和實(shí)驗(yàn)系統(tǒng)的開(kāi)發(fā)方面。但是使用這兩種模型建立起的許多數(shù)據(jù)庫(kù)仍然在正常運(yùn)轉(zhuǎn),只是在外層加了個(gè)關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的接口。但層次模型有兩個(gè)缺點(diǎn):一是只能表示1∶N聯(lián)系,雖然有多種輔助手段實(shí)現(xiàn)了M∶N聯(lián)系,但都較復(fù)雜,用戶(hù)不易掌握,二是由于樹(shù)型結(jié)構(gòu)層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢(xún)和更新操作也很復(fù)雜,因此,編寫(xiě)應(yīng)用程序也很復(fù)雜。 這類(lèi)模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng),又稱(chēng)為“結(jié)構(gòu)數(shù)據(jù)模型” ?,F(xiàn)已形成相當(dāng)規(guī)模的理論體系和實(shí)用技術(shù)。而DBMS本身要在操作系統(tǒng)的支持下才能工作。在數(shù)據(jù)庫(kù)技術(shù)中有四個(gè)名詞,其概念應(yīng)該分清。在數(shù)據(jù)庫(kù)方式下,信息處理觀(guān)念已為新體系所取代,數(shù)據(jù)占據(jù)了中心位置。(4)強(qiáng)化數(shù)據(jù)的標(biāo)準(zhǔn)化(Standard can be enforced)由數(shù)據(jù)庫(kù)管理系統(tǒng),對(duì)數(shù)據(jù)做出統(tǒng)籌性的管理,對(duì)于數(shù)據(jù)的格式與一些存儲(chǔ)上的標(biāo)準(zhǔn)進(jìn)行控制,如此一來(lái),對(duì)于不同的環(huán)境的數(shù)據(jù)交換(Data Interchange)上將有很大的幫助,也能提高數(shù)據(jù)處理的效率。數(shù)據(jù)庫(kù)系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對(duì)數(shù)據(jù)更高級(jí)更有效的管理。數(shù)據(jù)管理是指數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、維護(hù)、檢索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分。經(jīng)典的數(shù)據(jù)庫(kù)應(yīng)用涉及諸如訂單、顧客、工作、員工
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1