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

正文內(nèi)容

圖書倉庫管理系統(tǒng)(存儲(chǔ)版)

2025-05-07 23:05上一頁面

下一頁面
  

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