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

正文內(nèi)容

access2000+delphi60的圖書管理系統(tǒng)的設計與實現(xiàn)(文件)

2024-12-30 02:50 上一頁面

下一頁面
 

【正文】 hirdnormalform,簡稱 3rdNF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數(shù)關系。 語言基礎 簡介 用戶對數(shù)據(jù)庫的使用,是通過數(shù)據(jù)庫管理系統(tǒng)提供的語言來實現(xiàn)的。 SQL 語句可以從關系數(shù)據(jù)庫中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫、增加數(shù)據(jù)、修改數(shù)據(jù)。同時,其它數(shù)據(jù)庫產(chǎn)品廠家也紛紛推出各自的支持 SQL 的軟件或者與 SQL 的接口軟件。 SQL 語言不要求用戶指定數(shù)據(jù)的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對指定數(shù)據(jù)存取的最快速手段。 在系統(tǒng)中有大量的查詢按鈕,其使用了大量的查詢語句,而且這些查詢語句大部分使用的是模糊查詢,所以大量的使用了模式匹配符 LIKE(判斷值是否與指定的字符通配格式相符 )。 新 使用數(shù)據(jù)庫的目的是為了有效地管理數(shù)據(jù),而數(shù)據(jù)的插入、刪除和修改則是必不可少的一個功能。此外, DELETE語句只能從一個基本表中刪除元組, WHERE子句中條件可以嵌套,也可以是來自幾個基本表的復合條件。 第三章數(shù)據(jù)庫開發(fā)工具 167。實際上在 Delphi 的類庫中, Tobject 類派生出了為數(shù)相當眾多的子類,它們形成了一個龐大的體系,通常情況下,如果不自 行開發(fā)組件,就不必了解整個類的體系結構,只用到類層次樹的葉結點就足夠了。大家知道,在編寫程序時一般都開始于在組件面板上選擇組件并定義組件間的相互作用。在實際編程中,窗口組件類的對象都有句柄,可以接受輸入焦點和包含其它組件。圖形控件最典型的例子是 Tlabel和 TspeedButton。 167。 ADO 是基于 OLEDB 之上的技術,因此 ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。ADO 同時具有遠程數(shù)據(jù)服務 (RDS)功能,通過 RDS 可以在一次往返過程中實 現(xiàn)將數(shù)據(jù)從服務器移動到客戶端應用程序和 Web 頁、在客戶端對數(shù)據(jù)進行處然后將更新結果返回服務器的操作。這意味著只需要很少的代碼就可以實現(xiàn)該連接并且性能得到提高。 TADOTable 與 Ttable, TADOQuery 與 Tquery,以及 TADOStoreProc和 TstoredProc 之間都具有這種類似的對應關系。 通過 ADO數(shù)據(jù)集訪問組件,可以不借助 BDE 數(shù)據(jù)引擎而是通過微軟的 OLEDB來訪問更為廣泛的數(shù)據(jù)庫中的數(shù)據(jù)。這里的絕大多數(shù)組件,如DBText,DBEdit,DBMemo,DBImage,DBListBox,DBComboBox,DBCheckBox,DBRadioGroup,DBLookupListBox,DBLookupCombox,DBCtrGrid 的功能和對應的非數(shù)據(jù)感知組件相同,如TEdit 框, TRadioGroups 單選按鈕組等,只不過在顯示數(shù)據(jù)庫數(shù)據(jù)時要用而已。主要包括數(shù)據(jù)源控件DataSource、客戶數(shù)據(jù)集控件 ClientDataSet、數(shù)據(jù)集提供器控件 DataSetProvider 等等。對一個數(shù)據(jù)庫連接,如果沒有顯示的聲明并實例化 TDatabase 對象,系統(tǒng)就會產(chǎn)生一個帶有默認屬性的 TDatabase 對象。 用 Delphi6作數(shù)據(jù)庫應用開發(fā)概括來說如下:先利用數(shù)據(jù)存取組件和實際的數(shù)據(jù)庫建立連接,并用 Tsession 對象和 Tdatabase對象管理這些連接。設計程序時,在該組件的屬性對話框中選擇 SQL 屬性,單擊帶省略號的按鈕,就可以打開 StringListEditor 對話框,然后我們就可以在對話框中添加 SQL 語句。 其中的變量 StudentCode 便是一個參數(shù)變量,它由一個冒號引導,在程序運行過程中,必須要為該參數(shù)賦值,該條 SQL 語句才能正確執(zhí)行,每次運行應用程序時可以為該參數(shù)變量賦予不同的值。利用這種方法也能實現(xiàn)所謂的連接查詢,創(chuàng)建主要 —明細型數(shù)據(jù)庫應用。 在為 TQuery 部件設置 SQL 屬性時調(diào)用 Close 方法總是很安全的,如果 TQuery 部件已經(jīng)被關閉了,調(diào)用 Close 方法時不會產(chǎn)生任何影響。 在為 TQuery 部件設置完 SQL 屬性的屬性值之后,也即編寫好適 當?shù)?SQL 程序之后,可以有多種方式來執(zhí)行 SQL 程序。 Open 方法只能用來執(zhí)行 SQL 語言的查詢語句 (Select 命令 ),并返回一個查詢結果集,而 ExecSQL 方法還可以用來執(zhí)行其它常用的 SQL 語句 (如 INSERT,UPDATE,DELETE 等命令 ),例如: (這樣會返回一個查詢結果集 ) 如果調(diào)用 Open 方法,而沒有查詢結果時,會出錯。在 Try 部分調(diào)用 Open方法,而在 Except 部分調(diào)用 ExceSQL 方法,這樣才能保證程序的正確運行。 值得注意的是, ADOQuery 組件只有在激活的情況下才可以被正確地 使用,這樣就提出了一個問題,也就是說,在每次修改 ADOQuery 組件的 SQL… 屬性時都必須先行進行關閉,待清除掉 SQL… 中所有的 SQL 語句后才可以添加新的 SQL語句。 簡介 建立一個數(shù)據(jù)庫我們有多種選擇,現(xiàn)在市場上有各種各樣的數(shù)據(jù)庫,而且每一種數(shù)據(jù)庫都有其自身的特點,不能說哪一種更好,只能在其中尋找一種能更好地適應系統(tǒng)需求、更好地滿足用戶的要求以及適應開發(fā)人員的習慣。另外,MicrosoftOffice 中的 Access 數(shù)據(jù)庫在計算機上的應用比較普及,是開發(fā)小型數(shù)據(jù)庫系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了 Access 數(shù)據(jù)庫。 Access2021 的功能十分強大,利用它可以方便地實現(xiàn)對信息保存、維護、查詢、統(tǒng)計、打印、交流、發(fā)布,而且它可以十分方便地與 Office其他組件交流數(shù)據(jù),這些功能對一個一般用戶而言已經(jīng)足夠了。 167。 在系統(tǒng)中我采用數(shù)據(jù)流圖( DFD)這種半形式化的描述方式表達需求。在這里我一共使用了三層數(shù)據(jù)流圖,即頂層圖, 0層圖和 1層圖(也是底層圖 )。通過以上對數(shù)據(jù)流圖的分析之后,我們已大 體地了解了系統(tǒng)的功能和目標,接下來所要做的就是系統(tǒng)功能模塊的劃分和數(shù)據(jù)庫的設計,也就是系統(tǒng)的概要設計。首先,我們需要描述的是系統(tǒng)的總的體系結構。 將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。然后,進一步細分模塊,添加細節(jié)。現(xiàn)實世界的事物反映到人的頭腦中,人的大腦對它有個認識過程,經(jīng)過分析(選擇、命名、分類等)進入信息世界。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨立于計算機系統(tǒng)的 “概念數(shù)據(jù)模型 ”,如 “實體聯(lián)系模型 ”;另一種是直接面向數(shù)據(jù)庫邏輯結構的 “結構數(shù)據(jù)模型 ”。但 ER 模型只能說明實體 間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結構,它只是數(shù)據(jù)庫設計的第一步。對于關鍵碼的屬性,在屬性名下劃一橫線。依據(jù)倉庫管理的實際情況, 考慮了多方面的因素以后,確定系統(tǒng)的 ER 圖如下: (為了表達的方便,在這里我沒有在一張圖上表達出所有的關系,而是用一張總體 ER圖,和幾張實體屬性關系圖來表達數(shù)據(jù)庫的結構。供應商信息的添加主要出于對圖書來源問題的思考。在這里,我選用的是關系數(shù)據(jù)庫。 我在系統(tǒng)中定義的表格都嚴格地按照范式的思想和要求去完成,數(shù)據(jù)庫中的所有表格都達到了三范式的要求。) BookRecord 表(庫存信息表) 字段名稱數(shù)據(jù)類型說明 KBookID 數(shù)字圖書編號 BookName 文本圖書名 Author 文本作者 Publisher 文本出版社 PubDate 日期 /時間出版日期 Price 貨幣價格 BookType 文本圖書類型 Number1 數(shù)字庫存數(shù)量 Addation 文本備注 圖 庫存信息表 庫存信息表主要用于記錄倉庫中現(xiàn)存放的所有圖書的詳細信息,包括圖書編號、書名、作者、出版社、圖書類型等有關圖書的各類信息,它即是該數(shù)據(jù)庫的主表,也是系統(tǒng)主界面的主要內(nèi)容。做為備注有一點說明,我的數(shù)據(jù)庫中備注的數(shù)據(jù)類型是文本,而不是備注類型,主要考慮到該字段的長度并不大,而且在 Delphi 中文本數(shù)據(jù)類型的處理也比較方便一點。 Shopkeeper 表(供應商信息表) 字段名稱數(shù)據(jù)類型說明 KShopkeeperID 數(shù)字供應商編號 ShopkeeperName 文本供應商姓名 Address 文本地址 PostNo 數(shù)字郵編 OfficePhone 文本辦公電話 HomePhone 文本住宅電話 Email文本 Email PayType 文本付款方式 圖 供應商信息表 供應商信息表主要用于記錄有關供應商的各類信息,包括姓名、地址、電話、付款 方式等。出庫信息表主要用于記錄有關出庫的詳細信息,包括出庫數(shù)量、出庫日期以及圖書、員工的編號。 在入庫信息表和出庫信息表中我還定義了幾 個外鍵,它提供了一種表示幾個關系聯(lián)系的方法。 通過以上設計已經(jīng)完成了系統(tǒng)的概要設計,當我們有了系統(tǒng)的功能模塊圖和數(shù)據(jù)庫之后,就需要著手去實現(xiàn)每一個模塊,為每一個功能設計程序流程圖,這也就是系統(tǒng)的詳細設計。 在處理過程設計時我采用的是結構化程序設計(簡稱 SP)方法。詳細設計的目標不僅是邏輯上正確地實現(xiàn)每個模塊的功能,還應使設計出的處理過程清晰易讀。 系統(tǒng)窗體模塊組成 167。 圖 ( datamoduleform)窗體圖,除報表窗體外所有的數(shù)據(jù)存取組件和數(shù)據(jù)源組件都在此數(shù)據(jù)模塊中進行了定義。 另 外,在本系統(tǒng)的數(shù)據(jù)模塊窗體圖中,我大多采用的 AODQuery組件而沒有采用 BDE 組,這主要是基于對 ADO 組件的了解。 ProcedurePopup2Handler(Sender:TObject)。 SQL 屬性中的 SQL 命令語句 (?select*fromBookRecordwherePublisher=:Pub?)。 1(點 “按出版社分類 ”按鈕產(chǎn)生 )的點擊事件 MainQuery,對 BookRecord 表進行操作 close。同時我也使用了 BDE組件中的 Table,因為在某些時候 BDE有著其自身特有的優(yōu)越性。 tsxs數(shù)據(jù)庫已在 ODBC配置程序中進行了設置。那么,能不能將這些數(shù)據(jù)源集中管理,最好是做成一個統(tǒng)一的模塊,需要時就將該模塊引入而不必直接操作數(shù)據(jù)源本身呢?數(shù)據(jù)模塊( DataModule)是解決這個問題最好的答案。系統(tǒng)總體設計的好壞直接影響著下一步工作,只有在這一階段設計出好的模塊圖和程序流程圖,才能更有利于編碼,產(chǎn)生好的軟件系統(tǒng)。因此詳細設計的結果基本決定了最終程序的質量。 系統(tǒng)詳細設計 在前面的概要設計中,已將系統(tǒng)劃分為多個模塊,并將它們按照一定的原則組裝起來,同時確定了每個功能及模塊之間的外部接口。 Key表(密碼信息表) 字段名稱數(shù)據(jù)類型說明 KKeyName文本用戶姓名 KeyNo文本用戶密碼 圖 密碼信息表主要用于記錄所有的用戶名和用戶密碼。值得提出的一點是入庫記錄和出庫記錄的添加不僅僅是單表操作,由于它們都與庫存記錄相聯(lián)系,所以,無論您是添中入庫記錄還是添加出庫記錄,都必須同時修改庫存記錄,以保持數(shù)據(jù)的一致性,否則將引發(fā)系統(tǒng)出錯而這些我都讓其在系統(tǒng)中自動完成。在供應商信息中,考慮當實際情況,我特別加入了Email和付款方式這兩個字段,因為在當今信息世界中,多種多樣的通訊方式和多種多樣的付款方式是必然的,是數(shù)據(jù)庫中必須與以記錄。它主要用來為系統(tǒng)提供員工的有關信息,因為在系統(tǒng)中,入庫和出庫操作均與員工有著一定的聯(lián)系,在查詢?nèi)霂煨畔⒑统鰩煨畔r,有時需要查找有關此項記錄有關的員工信息,在系統(tǒng)中我是通過入庫記錄與員工記錄(出庫記錄和員工 記錄)之間的聯(lián)接查詢來完成的??紤]到編號比較難于記憶,所以使用了出版社和圖書類型兩個字段,在系統(tǒng)中我提供了出版社和圖書類型的分類查找,而且全部采用自動生成,每當系統(tǒng)中 有新的出版社類型和圖書類型,彈出菜單會自動添中新類型,這樣就可以比較方便地實現(xiàn)按出版社和按圖書類型查找。通過對這六張表格的操作可以較好地完成系統(tǒng)設計的各項功能,六張表格之間有著不同程度的聯(lián)系。 在這里不得不提到一個概念 ——范式。 入庫聯(lián)系類型將庫存信息、供應商信息和員工信息聯(lián)系在一起,可以方便地實現(xiàn)三個實體之間的聯(lián)接,而出庫聯(lián)系類型則將庫存信息和員工信息較好地聯(lián)接起,同時這兩個聯(lián)系類型又都具有各自特有的屬性。在本系統(tǒng)中庫存是核心,也是基本,沒有了庫存其它的也就沒有什么意義了。 本系統(tǒng)為圖書倉庫管理,主要管理圖書的入庫、出庫以及庫存等事項。 ◆ 菱形框,表示聯(lián)系類型(實體間的聯(lián)系)。 ER 模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用 ER 圖來表示數(shù)據(jù)模型。這兩個問題貫穿了整個軟件系統(tǒng)的開發(fā)過程,這也就是數(shù)據(jù)庫的設計問題,軟件設計的一個核心。 以下就是系統(tǒng)的結構圖:(在這里為了表達方便我將結構圖分開來表達。 在系統(tǒng)的概要設計中我采用結構化設計( StructureDesign,簡稱 SD), SD以需求分析階段產(chǎn)生的數(shù)據(jù)流圖 DFD為基礎,按一定的步驟映射成軟件結構。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。 系統(tǒng)概要設計 在軟件需求分析階段,搞清楚了軟件 “ 做什么 ” 的問題,形成了目標系統(tǒng)的邏輯模型。 經(jīng)過對系統(tǒng)的分析首先得到系統(tǒng)的頂層 DFD,如下: 一步細化得到系統(tǒng)的 0層 DFD,如下: 再進一步細化每一個數(shù)據(jù)加工功能,得到系統(tǒng)的 1層 DFD圖。它有四種基本圖形符號: ◆→ :箭頭,表示數(shù)據(jù)流; ◆ 〇:圓或橢圓,表示加工;
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1