![畜牧業(yè)專家咨詢管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b761e67e-d639-410c-b599-8bd83a4976ff/b761e67e-d639-410c-b599-8bd83a4976ff1.gif)
![畜牧業(yè)專家咨詢管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b761e67e-d639-410c-b599-8bd83a4976ff/b761e67e-d639-410c-b599-8bd83a4976ff2.gif)
![畜牧業(yè)專家咨詢管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b761e67e-d639-410c-b599-8bd83a4976ff/b761e67e-d639-410c-b599-8bd83a4976ff3.gif)
![畜牧業(yè)專家咨詢管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b761e67e-d639-410c-b599-8bd83a4976ff/b761e67e-d639-410c-b599-8bd83a4976ff4.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畜牧業(yè)專家咨詢管理系統(tǒng)設計摘要:由于畜牧業(yè)生產發(fā)展滯后,產業(yè)結構不合理,農牧民觀念落后,牲畜出欄率低, 經濟效益不明顯, 靠天養(yǎng)畜等嚴重阻礙了畜牧業(yè)的發(fā)展。 新建生態(tài)高效畜牧業(yè)養(yǎng)殖基地, 引進先進技術, 不僅可以推動畜牧業(yè)縱深發(fā)展, 而且可以給投資者以豐厚的回報。 同時,設計開發(fā)畜牧專家咨詢管理系統(tǒng), 對相關信息進行系統(tǒng)的管理,更好地為廣大農牧民服務。該項目投資少,見效快。所以,項目具有很高的開發(fā)潛力。家禽管理系統(tǒng)是典型的信息管理系統(tǒng), 其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。 對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完
2、備 ,易使用等特點。因此要求結合開入式畜牧專家的要求, 對 MS SQL Server2000數(shù)據(jù)庫管理系統(tǒng)、 SQL 語言原理、完成對家禽管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設計了數(shù)據(jù)庫結構和應用程序。第一章對數(shù)據(jù)庫應用系統(tǒng)開發(fā)和家禽管理系統(tǒng)進行了簡明的介紹,并分析了開發(fā)家禽管理系統(tǒng)所應進行的工作。第二章對數(shù)據(jù)庫的設計和SQL 語言的使用進行了系統(tǒng)分析, 為深入理解數(shù)據(jù)庫應用打下了基礎。 第三章學習了具體的開發(fā)工具 Delphi 7.0,對其數(shù)據(jù)庫組件, SQL 語言在 Delphi 中的應用等數(shù)據(jù)庫編程關鍵技術進行了系統(tǒng)的介紹。 第四章分析了家禽管理信息系統(tǒng)的應用需求,
3、 按照數(shù)據(jù)庫設計理論的要求給出了系統(tǒng)需求說明書、局部 ER 圖、全局 ER 圖、系統(tǒng)關系模式,子模式,利用 MS SQL Server2000 建立了數(shù)據(jù)庫。第五章進行了具體的程序設計, 具體劃分了三類用戶的操作權限, 設計了了三個操作界面。 實現(xiàn)了數(shù)據(jù)庫表的瀏覽,記錄的添加、刪除和修改,報表的生成,實現(xiàn)了多數(shù)據(jù)庫表的連接操作,實現(xiàn)了多條件查詢和模糊查詢, 并靈活實現(xiàn)了對不可更新查詢結果集的更新操作,實現(xiàn)了主從表操作,實現(xiàn)了密碼維護功能,最后,系統(tǒng)還可以導入數(shù)據(jù)庫以對任意同結構的數(shù)據(jù)庫進行操作設計充分利用Delphi 7、 MS SQLServer2000數(shù)據(jù)庫。關鍵詞 :數(shù)據(jù)庫, MS SQ
4、L Server,Delphi ,數(shù)據(jù)庫,家禽,管理目錄1前 言41.1數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介41.1.1數(shù)據(jù)庫41.1.2數(shù)據(jù)庫管理系統(tǒng)51.1.3創(chuàng)建數(shù)據(jù)庫61.2畜牧業(yè)專家咨詢管理系統(tǒng) .61.3系統(tǒng)所做工作 .62 數(shù)據(jù)庫理論基礎 .72.1數(shù)據(jù)庫系統(tǒng)設計及范式分析 .72.1.1數(shù)據(jù)庫系統(tǒng)設計 .82.1.2數(shù)據(jù)庫設計范式分析 .92.2SQL語言介紹 .92.2.1SQL基礎2.2.2SQL語句. 9. 103應用系統(tǒng)開發(fā)工具 .123.1Delphi7.0 VCL組件的體系結構 .123.2數(shù)據(jù)庫組件介紹 .133.3SQL語言在 Delphi 中的應用 .133.4MS SQL
5、 Server 簡述 .164畜牧業(yè)專家咨詢管理系統(tǒng)設計分析 .174.1需求分析 .174.2系統(tǒng)數(shù)據(jù)庫設計4.2.1概念設計. 18. 184.2.2關系數(shù)據(jù)庫的邏輯設計 .194.2.3數(shù)據(jù)庫的實現(xiàn) .195 畜牧業(yè)專家咨詢管理系統(tǒng)應用程序設計 .195.1系統(tǒng)窗體模塊組成 .195.2數(shù)據(jù)模塊窗體的設置 .205.3啟動畫面的實現(xiàn) .205.4用戶登錄窗體的的實現(xiàn) .215.5用戶密碼認證窗體的的實現(xiàn) .215.6咨詢者服務模塊的實現(xiàn) .215.6.1畜牧業(yè)專家查詢功能的實現(xiàn) .215.6.2咨詢者登錄功能的實現(xiàn) .215.6.3咨詢者咨詢情況功能的實現(xiàn)215.6.4咨詢者個人資料維護
6、功能的實現(xiàn)215.7工作人員畜牧業(yè)專家咨詢/ 應答模塊的實現(xiàn)215.7.1工作人員進行畜牧業(yè)專家咨詢功能實現(xiàn)5.7.2工作人員進行畜牧業(yè)專家應答功能實現(xiàn). 21. 225.8 畜牧業(yè)專家管理員模塊和管理員畜牧業(yè)專家咨詢管理功能的實現(xiàn). 225.8.1畜牧業(yè)專家管理員工作人員和管理員管理功能的實現(xiàn). 225.8.2畜牧業(yè)專家管理員修改畜牧業(yè)專家類別及統(tǒng)記功能的實現(xiàn). 225.8.3畜牧業(yè)專家管理員咨詢者管理功能的實現(xiàn)5.8.4畜牧業(yè)專家維護咨詢者管理功能的實現(xiàn). 22. 225.8.5畜牧業(yè)專家身份維護功能的實現(xiàn)5.8.6畜牧業(yè)專家咨詢者統(tǒng)計功能的實現(xiàn). 22. 225.8.7畜牧業(yè)專家統(tǒng)計咨詢
7、過期記錄功能的實現(xiàn)錯誤!未定義書簽。結 束 語23致謝參考文獻. 24. 25附錄 . 錯誤!未定義書簽。1 前 言1.1數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介在數(shù)據(jù)庫應用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應當了解,對數(shù)據(jù)庫的結構、開發(fā)數(shù)據(jù)庫應用程序的步驟、 開發(fā)體系及方法都應當有相當清晰的了解和認識。數(shù)據(jù)庫應用系統(tǒng)開發(fā)的目標是建立一個滿足用戶長期需求的產品。開發(fā)的主要過程為:理解用戶的需求,然后,把它們轉變?yōu)橛行У臄?shù)據(jù)庫設計。把設計轉變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應用。數(shù)據(jù)庫技術在計算機軟件鄰域研究中一直是非常重要的主題, 產生于 60 年代, 30 多年來數(shù)據(jù)庫技術得到了迅速發(fā)展
8、,并已形成較為完整的理論體系和一大批實用系統(tǒng)。并且,近年來,隨著 World Wide Web(WWW) 的猛增及 Internet 技術的迅速發(fā)展,使得數(shù)據(jù)庫技術之時成為最熱門技術之一。1.1.1數(shù)據(jù)庫數(shù)據(jù)庫由 DBMS (數(shù)據(jù)庫管理系統(tǒng))處理, DBMS 則由開發(fā)人員和用戶通過應用程序直接或間接地使用。它主要包括四個要素:用戶數(shù)據(jù)、元數(shù)據(jù)、索引和應用元數(shù)據(jù)。用戶數(shù)據(jù)目前,大多數(shù)主流數(shù)據(jù)庫管理系統(tǒng)把用戶數(shù)據(jù)表示為關系。現(xiàn)在把關系看作數(shù)據(jù)表。表的列包含域或屬性, 表的行包含對應業(yè)務環(huán)境中的實體的記錄。 并非所有的關系都同樣符合要求, 有些關系比其它關系更結構化一些。 第二章描述了
9、一個用以產生良好結構關系的過程,稱作規(guī)范化。為了對比結構差的關系和結構好的關系之間的差別,以本文所設計的家禽管理系統(tǒng)中的家禽和家禽咨詢關系為例來說明,假若設計關系 R1(號,姓名,性別,身份編號,身份證,聯(lián)系電話,家禽編號 ,家禽名稱,家禽類別,備注,數(shù)量);這個關系的問題出在它有關于兩個不同主題的數(shù)據(jù),就是家禽咨詢和家禽。用這種方式構成的關系在進行修改時,會出現(xiàn)問題。 因為一個家禽咨詢可能咨詢多本書,如果某個家禽咨詢的某個字段(如聯(lián)系電話)出現(xiàn)變更,它所咨詢的家禽記錄(可能多個)也就必須變化,這是不好的。因此數(shù)據(jù)用兩個關系表示更好?,F(xiàn)在如果某家禽咨詢改變了它的聯(lián)系電話,只有關系(表)user
10、的對應行需要改變。當然,要想產生一個,顯示家禽名稱及其咨詢聯(lián)系電話的報表,就需要將這兩個表的行結合起來。結果表明, 將關系分別存儲, 在生成報表的時候將它們結合起來,比把它們存儲在一個合成的表中更好。user(姓名,性別,身份編號,身份證,聯(lián)系電話,)(家禽編號,家禽名稱,家禽類別,備注,數(shù)量)數(shù)據(jù)庫是自描述的,這就意味著它自身包含了它的結構的描述,這種結構的描述稱作元數(shù)據(jù)。因為 DBMS 產品是用來存儲和操縱表的,所以大多數(shù)產品把元數(shù)據(jù)以表的形式存儲, 有時稱作系統(tǒng)表。 這些系統(tǒng)表存儲了數(shù)據(jù)庫中表的情況,指出每一個表中有多少列,那一列是主關鍵字,每一列的數(shù)據(jù)類型的描述,它也存儲索引、關鍵字、
11、規(guī)則和數(shù)據(jù)庫結構的其他部分。在表中存儲元數(shù)據(jù)不僅對 DBMS 是有效的,對用戶也是方便的,因為他們可以使用與查詢用戶數(shù)據(jù)同樣的查詢工具來查詢元數(shù)據(jù)。本文第二章所介紹的SQL 語言可以同時用于元數(shù)據(jù)和用戶數(shù)據(jù)。索引第三種類型的數(shù)據(jù)改進了數(shù)據(jù)庫的性能和可訪問性,這種數(shù)據(jù)經常稱作開銷數(shù)據(jù),盡管有時也采用其他類型的數(shù)據(jù)結構,如鏈表,但它主要還是索引。索引可以用來排序和快速訪問數(shù)據(jù)。 下面以本人的家禽管理信息系統(tǒng)中的表為例來說明。假定數(shù)據(jù)在磁盤上是按家禽編號的遞增順序排列的,用戶想打印一個按家禽名稱排序的家禽數(shù)據(jù)報表。為此,所有的數(shù)據(jù)都需要從源表中提取出來并排序,除非表很小,否則這是一個很
12、費時的過程。 或者,可以在家禽名稱字段上創(chuàng)建一個索引,該索引的條目按照家禽名稱排序,這樣,該索引的條目可以讀出來,并用來按順序訪問數(shù)據(jù)。索引用于快速訪問數(shù)據(jù)。例如,一個用戶只想訪問表中家禽類別值為 01的那些咨詢者。如果沒有索引,則必須搜索整個源表;但有了索引之后,可以找到索引條目,并使用它來挑選所有合適的行。索引對排序和查找是有幫助的,但要付出代價。表中的行每次改變時,索引也必須改變,這意味著索引并非隨意的,應該在真正需要時保存。應用元數(shù)據(jù)存儲在數(shù)據(jù)庫中的第四種數(shù)據(jù)是應用元數(shù)據(jù), 它用來存儲用戶窗體、 報表、查詢和其他形式的查詢組件。并非所有的 DBMS 都支持應用組件,支持組
13、件的 DBMS 也不一定把全部組件的結構作為應用元數(shù)據(jù)存儲在數(shù)據(jù)庫中。 然而,大多數(shù)現(xiàn)代的 DBMS 產品存儲這種數(shù)據(jù)作為數(shù)據(jù)庫的一部分。一般來說,數(shù)據(jù)庫開發(fā)人員和用戶都不直接訪問應用元數(shù)據(jù),想反,他們通過 DBMS 中的工具來處理這些數(shù)據(jù)。MS SQL Server2000 中就支持窗體、存儲過程等應用元數(shù)據(jù)。1.1.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) ( DBMS )是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。 DBMS 是數(shù)據(jù)庫系統(tǒng)的核心組成部分。 對數(shù)據(jù)庫的一切操作, 包括定義、 更新及各種控制 ,都是通過 DBMS 進行的。 DBMS 總是基于某種數(shù)據(jù)模型, 可以把 DBMS 看成是某種數(shù)據(jù)模型
14、在計算機系統(tǒng)上的具體實現(xiàn)。 根據(jù)數(shù)據(jù)模型的不同, DBMS 可以分成層次型、網狀型、關系型、面向對象型等。MS SQL Server2000就是一種關系型數(shù)據(jù)庫管理系統(tǒng)。關系模型。關系模型主要是用二維表格結構表達實體集,用外鍵表示實體間聯(lián)系。關系模型是由若干個關系模式組成的集合。 關系模式相當于前面提到的記錄類型,它的實例稱為關系,每個關系實際上是一張二維表格。關系模型和層次、 網狀模型的最大判別是用關鍵碼而不是用指針導航數(shù)據(jù),表格簡單用戶易懂, 編程時并不涉及存儲結構, 訪問技術等細節(jié)。 關系模型是數(shù)學化模型。 SQL 語言是關系數(shù)據(jù)庫的標準化語言,已得到了廣泛的應用。DBMS的特點和功能可
15、以分為三個子系統(tǒng):設計工具子系統(tǒng)、運行子系統(tǒng)和DBMS 引擎。設計子系統(tǒng)有一個方便數(shù)據(jù)庫及其應用創(chuàng)建的工具集。它典型地包含產生表、窗體、查詢和報表的工具。 DBMS 產品還提供編程語言和對編程語言的接口。運行子系統(tǒng)處理用設計子系統(tǒng)開發(fā)的應用組件。它所包含的運行處理器用來處理窗體和數(shù)據(jù)庫的數(shù)據(jù)交互,以及回答查詢和打印報表等。DBMS 引擎從其他兩個組件接受請求, 并把它們翻譯成對操作系統(tǒng)的命令,以便讀寫物理介質上的數(shù)據(jù)。DBMS 引擎還涉及事務管理、鎖、備份和恢復。1.1.3創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫模式定義了數(shù)據(jù)庫的結構、表、關系、域和業(yè)務規(guī)則。數(shù)據(jù)庫模式是一種設計,數(shù)據(jù)庫和應用正是建立在此基礎上的。域
16、是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數(shù)據(jù)的物理格式外,還需要確定是否有些域對表來說是唯一的。數(shù)據(jù)庫模式的最后一個要素是業(yè)務規(guī)則,它是對需要反映在數(shù)據(jù)庫和數(shù)據(jù)庫應用程序中的業(yè)務活動的約束。 業(yè)務規(guī)則是模式的一個重要部分, 因為他們指定了無論什么數(shù)據(jù)變化到達 DBMS 引擎,允許的數(shù)據(jù)值必須滿足的約束。不管無效的數(shù)據(jù)變化請求是來自窗體的用戶、查詢 /修改請求還是應用程序, DBMS 都應該拒絕。遺憾的是,不同的 DBMS 產品用不同的方法實施業(yè)務規(guī)則。 在某些情況下, DBMS 產品不具備實施必要業(yè)務規(guī)則的能力, 必須以代碼形式把它們編入應用程序。1.2家禽管理系統(tǒng)當今時代
17、是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。 計算機的最大好處在于利用它能夠進行信息管理。 使用計算機進行信息控制, 不僅提高了工作效率, 而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關, 系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。 本系統(tǒng)就是為了管理好畜牧專家信息而設計的。畜牧專家作為一種信息資源的集散地,家禽和用戶咨詢資料繁多,包含很多的信息數(shù)據(jù)的管理, 現(xiàn)今,有很多的畜牧專家都是初步開始使用,甚至尚未使用計算機進行信息管理。 根據(jù)調查得知, 他們以前對信息管理的主要方式是基
18、于文本、表格等紙介質的手工處理,對于家禽咨詢情況(如咨詢天數(shù)、超過限定咨詢時間的天數(shù)) 的統(tǒng)計和核實等往往采用對咨詢卡的人工檢查進行,對咨詢的咨詢權限、以及咨詢天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。 盡管有的畜牧專家有計算機,但是尚未用于信息管理, 沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。畜牧專家采取手工方式對家禽咨詢情況進行人工管理, 由于信息比較多, 家禽咨詢信息的管理工作混亂而又復雜; 一般咨詢情況是記錄在
19、上, 家禽的數(shù)目和內容記錄在文件中,畜牧專家的工作人員和管理員也只是當時對它比較清楚, 時間一長, 如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的家禽病理進行更改就更加困難了。基于這些問題,我認為有必要建立一個家禽管理系統(tǒng),使家禽管理工作規(guī)范化,系統(tǒng)化,程序化,避免家禽管理的隨意性, 提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改家禽情況。1.3系統(tǒng)所做工作1) 了解應用開發(fā)工具的現(xiàn)狀2) DelPHi7.0 編程基礎3) MS SQL Server 基礎4) 設計數(shù)據(jù)庫;設計界面5) 開發(fā)數(shù)據(jù)庫。數(shù)據(jù)庫實現(xiàn)的一些功能有 l 數(shù)據(jù)和數(shù)據(jù)說
20、明的醒目顯示;l 多條件的查詢、多條記錄的檢索、模糊查詢;l 數(shù)據(jù)文件某種存儲格式導入數(shù)據(jù)窗體,經過數(shù)據(jù)完整性校驗存入數(shù)據(jù)庫; l 數(shù)據(jù)庫安全性的設計;l 數(shù)據(jù)庫的設計、數(shù)據(jù)接口、界面的設計。2 數(shù)據(jù)庫理論基礎一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關鍵技術。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設計分五個步驟:數(shù)據(jù)庫需求分析、概念設計、邏輯設計、物理設計與加載測試。( 1) 數(shù)據(jù)庫需求分析的任務是將業(yè)務管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出 DFD 圖,并完成相應的數(shù)據(jù)字典。( 2) 概念設計的任務是從 DFD 出發(fā),繪制出本主題的實體關系圖,并列出各
21、個實體與關系的綱要表。( 3) 邏輯設計的任務是從 E-R 圖與對應的綱要表出發(fā),確定各個實體及關系的表名屬性。( 4) 物理設計的任務是確定所有屬性的類型、寬度與取值范圍,設計出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如 MS SQL Server,我就是用的中文字段名) ,實現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設計字典。( 5) 加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。要設計出一個好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則:1 基本表的個數(shù)越少越好。2 主鍵的個數(shù)越少越好。鍵是表間連
22、接的工具,主鍵越少,表間的連接就越簡單。3 字段的個數(shù)越少越好。4 所有基本表的設計均應盡量符合第三范式。數(shù)據(jù)庫的設計中,如何處理多對多的關系和如何設計主鍵,是兩個有著較大難度、需要重點考慮的問題。下面我們著重從 SQL 應用、數(shù)據(jù)庫設計范式和查詢優(yōu)化等方面來分析本課題的系統(tǒng)關鍵技術和實現(xiàn)難點并加以解決。2.1數(shù)據(jù)庫系統(tǒng)設計及范式分析信息系統(tǒng)的主要任務是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲和管理大量的數(shù)據(jù)。 因此建立一個良好的數(shù)據(jù)組織結構和數(shù)據(jù)庫, 使整個系統(tǒng)都可以迅速、 方便、準確地調用和管理所需的數(shù)據(jù), 是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標之一。2.1.1數(shù)據(jù)庫系統(tǒng)設計數(shù)據(jù)庫設
23、計主要是進行數(shù)據(jù)庫的邏輯設計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來, 是面向用戶的。 數(shù)據(jù)庫設計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關系,按照 DBMS 提供的功能和描述工具,設計出規(guī)模適當、正確反映數(shù)據(jù)關系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設計的步驟是:( 1) 數(shù)據(jù)庫結構定義:目前的數(shù)據(jù)庫管理系統(tǒng)( DBMS )有的是支持聯(lián)機事務處理 CLTP(負責對事務數(shù)據(jù)進行采集、處理、存儲)的操作型 DBMS ,有的可支持數(shù)據(jù)倉庫、有聯(lián)機分析處理 CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作) 功能的大型 DBMS ,有的數(shù)據(jù)庫是
24、關系型的、 有的可支持面向對象數(shù)據(jù)庫。針對選擇的 DBMS ,進行數(shù)據(jù)庫結構定義。( 2) 數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結構,數(shù)據(jù)表的邏輯結構包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關鍵字、可否為空等。關系型數(shù)據(jù)庫要盡量按關系規(guī)范化要求進行數(shù)據(jù)庫設計, 但為使效率高,規(guī)范化程度應根據(jù)應用環(huán)境和條件來決定。 數(shù)據(jù)表設計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關信息、 操作責任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。( 3) 存儲設備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。( 4) 數(shù)據(jù)使用權限設置:針對用
25、戶的不同使用要求,確定數(shù)據(jù)的用戶使用權限,確保數(shù)據(jù)安全。( 5) 數(shù)據(jù)字典設計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設計,便于維護和修改。為了更好地組織數(shù)據(jù)和設計出實際應用數(shù)據(jù)庫,應該注意如下問題:規(guī)范化地重組數(shù)據(jù)結構: 對數(shù)據(jù)進行規(guī)范化表達, 這在后面將會具體討論。關系數(shù)據(jù)結構的建立:在進行了數(shù)據(jù)基本結構的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關系結構。這一步設計完成后數(shù)據(jù)庫和數(shù)據(jù)結構設計工作基本完成,只待系統(tǒng)實現(xiàn)時將數(shù)據(jù)分析和數(shù)據(jù)字典的內容代入到所設計的數(shù)據(jù)整體關系結構中,一個規(guī)范化數(shù)據(jù)庫系統(tǒng)結構就建立起來了。建立關系數(shù)據(jù)結構涉及三方面內容: 確定關聯(lián)的關鍵指標項并建立關聯(lián)表;確定單一的父系記錄結構;建立整
26、個數(shù)據(jù)庫的關系結構。( 1)鏈接關系的確定在進行了上述數(shù)據(jù)規(guī)范化重組后,已經可以確保每一個基本數(shù)據(jù)表(我們簡稱為表 )是規(guī)范的,但是這些單獨的表并不能完整地反映事物,通常需要通過指標體系整體指標數(shù)據(jù)才能完整全面地反映問題。 也就是說在這些基本表的各宇段中,所存儲的是同一事物不同側面的屬性。 那么計算機系統(tǒng)如何能知道哪些表中的哪些記錄應與其它表中的哪些記錄相對應,它們表示的是同一個事物呢 ?這就需要在設計數(shù)據(jù)結構時將這種各表之間的數(shù)據(jù)記錄關系確定下來。 這種表與表之間的數(shù)據(jù)關系一般都是通過主或輔關鍵詞之間的連接來實現(xiàn)的。 因為在每個表中只有主關鍵詞才能唯一地標識表中的這一個記錄值 (因為根據(jù)第三
27、范式的要求,表中其它數(shù)據(jù)字段函數(shù)都依賴于主關鍵詞 ),所以將表通過關鍵詞連接就能夠唯一地標識出某一事物不同屬性在不同表中的存放位置。( 2)確定單一的父子關系結構所謂確定單一的父系關系結構就是要在所建立的各種表中消除多對多(以下用 M:N 來表示)的現(xiàn)象,即設法使得所有表中記錄之間的關系呈樹狀結構 (只能由一個主干發(fā)出若干條分支, 而不能有若干條主干交錯發(fā)出若干條分支狀況 )。所謂的“父系”就是指表的上一級關系表。消除多對多關系可以借助于E-R圖的方法來解決,也可以在系統(tǒng)分析時予以注意,避免這種情況的發(fā)生。消除這種 M:N 情況的辦法也很簡單,只需在二表之間增加一個表,則原來 M:N 的關系就
28、改成了 M:1 ,1:N 的關系了。確定數(shù)據(jù)資源的安全保密屬性:一般 DBMS 都提供給我們自己定義數(shù)據(jù)安全保密性的功能。系統(tǒng)所提供的安全保密功能一般有 8 個等級 (0-7 級),4 種不同方式 (只讀、只寫、刪除、修改 ),而且允許用戶利用這 8 個等級的 4 種方式對每一個表自由地進行定義。定義安全保密性的方法一般有如下幾種:a原則上所有文件都定義為 4 級,個別優(yōu)先級特別高的辦公室 (終端或微機的入網賬號 )可定義高于 4 級的級別,反之則定義為低于 4 的級別。b統(tǒng)計文件 (表)和數(shù)據(jù)錄入文件一般只對本工作站定義為只寫方式,對其它工作站則定義為只讀方式。c財務等保密文件一般只對中工作
29、站 (如財務科等 )定義為可寫、可改、可刪除方式,對其它工作站則定義為只讀方式, 而且不是每個人都能讀, 只有級別相同和高級別者才能讀。2.1.2數(shù)據(jù)庫設計范式分析建立起一個良好的數(shù)據(jù)指標體系,是建立數(shù)據(jù)結構和數(shù)據(jù)庫的最重要的一環(huán)。一個良好的數(shù)據(jù)指標體系是建立DB 的必要條件,但不是充分條件。我們完全可以認為所建指標體系中的一個指標類就是關系數(shù)據(jù)庫中的一個基本表, 而這個指標類下面的一個個具體指標就是這個基本表中的一個字段。 但如果直接按照這種方式建庫顯然還不能算最佳。 對于指標體系中數(shù)據(jù)的結構在建庫前還必須進行規(guī)范化的重新組織。2.2SQL語言介紹2.2.1SQL基礎SQL(Structur
30、ed Query Language,結構查詢語言 )是一個功能強大的數(shù)據(jù)庫語言。 SQL 通常使用于數(shù)據(jù)庫的通訊。 ANSI (美國國家標準學會)聲稱, SQL 是關系數(shù)據(jù)庫管理系統(tǒng)的標準語言。 SQL 語句通常用于完成一些數(shù)據(jù)庫的操作任務,比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL 的常見關系數(shù)據(jù)庫管理系統(tǒng)有: Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統(tǒng)。 但是,標準的 SQL 命令,比如 Select、 Insert、
31、Update、 Delete、 Create和 Drop 常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。MS SQL Server 就是用的 Transact- SQL。SQL 語言有著非常突出的優(yōu)點,主要是:1. 非過程化語言2. 統(tǒng)一的語言3. 是所有關系數(shù)據(jù)庫的公共語言非過程化語言: SQL 是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導航。 SQL 允許用戶在高層的數(shù)據(jù)結構上工作,而不對單個記錄進行操作,可操作記錄集,所有 SQL 語句接受集合作為輸入,返回集合作為輸出。 SQL 的集合特性允許一條SQL 語句的結果作為另一條SQL 語句的輸入。SQL 不要求用戶指定對數(shù)據(jù)的存放
32、方法, 這種特性使用戶更易集中精力于要得到的結果;所有 SQL 語句使用查詢優(yōu)化器,它是 RDBMS 的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段, 查詢優(yōu)化器知道存在什么索引, 在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。統(tǒng)一的語言: SQL 可用于所有用戶的 DB 活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。SQL 為許多任務提供了命令,其中包括:1.查詢數(shù)據(jù)2.在表中插入、修改和刪除記錄3.建立、修改和刪除數(shù)據(jù)對象4.控制對數(shù)據(jù)和數(shù)據(jù)對象的存取5.保證數(shù)據(jù)庫一致性和完整性而 SQL 將全部任以前的數(shù)據(jù)庫管
33、理系統(tǒng)為上述各類操作提供單獨的語言,務統(tǒng)一在一種語言中。所有關系數(shù)據(jù)庫的公共語言:由于所有主要的關系數(shù)據(jù)庫管理系統(tǒng)都支持SQL 語言,用戶可將使用 SQL 的技能從一個 RDBMS( 關系數(shù)據(jù)庫管理系統(tǒng) )轉到另一個,所有用 SQL 編寫的程序都是可以移植的。2.2.2SQL語句SQL 功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組:DML ( Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù);DDL (Data Definition Language,數(shù)據(jù)定義語言): 用于定義數(shù)
34、據(jù)的結構,比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;DCL (Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權限。DML 組可以細分為以下的幾個語句:SELECT:用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE :用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。DDL 語句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫對象。下面是DDL 命令:CREATE TABLE ,ALTER TABLE ,DROP TABLE ,CREATE INDEX ,DROPINDEX下面是一個簡單SQL 語句的例子:我們使用 SQL 語句來從中檢索號為SELECT
35、姓名FROMWHERE 號 DDL 與 DML000001的咨詢姓名:= 000001數(shù)據(jù)定義語言DDL :它是用來創(chuàng)建和修改數(shù)據(jù)庫結構的一種語句,包括Create、Alter 和 Drop 語句。數(shù)據(jù)操作語言DML :包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由Select語句完成,這一點不再贅述。 而數(shù)據(jù)更新所造成的風險大大超過數(shù)據(jù)查詢。數(shù)據(jù)庫管理系統(tǒng)必須在更改期內保護所存儲的數(shù)據(jù)的一致性,確保有效的數(shù)據(jù)進入數(shù)據(jù)庫,數(shù)據(jù)庫必須保持一致性, DBMS 還必須協(xié)調多用戶的并行更新, 以確保用戶和它們的更改不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內容的SQL 語句主要有以下三個:(1)
36、Insert,向一個表中加入新的數(shù)據(jù)行(2)Delete,從一個表中刪除數(shù)據(jù)行(3)Update,更改數(shù)據(jù)庫中已經存在的數(shù)據(jù)Insert 標準語法:INSERT INTOtable_name (col1, col2.)VALUES(value1, value2.)下例要將號為000001作為一個新的咨詢情況加入咨詢情況表OWNER中Insert Intoowner (號,家禽編號,咨詢日期)values (000001, 00000001, 2002-9-12)Insert 語句還可以將多行數(shù)據(jù)添加到目標表中去,在這種形式的Insert 語句中,新行的數(shù)據(jù)值不是在語句正文中明確地指定的, 而是
37、語句中指定的一個數(shù)據(jù)庫查詢。添加的值來自數(shù)據(jù)庫自身的行, 在某些特定的狀態(tài)下, 這是非常有用的。多行 Insert 語句為拷貝數(shù)據(jù)提供了一種緊湊而高效的方法,但我在自已做的家禽管理系統(tǒng)中沒有使用這種方法, 我在系統(tǒng)中是使用循環(huán)依照上面的用法來完成多個記錄的插入。Update 語句用于更新單表中選定行的一列或多列的值。要更新的目標表在語句中定義, Set 子句則指定要更新哪些列并計算它們的值。Update 語句總是包含 Where 語句,而且 Update 語句比較危險,所以您必須明確地認識到 Where 語句的重要性, Where 語句被用來指定需要更新的行。標準語法:UPDATE table
38、_nameSET columnname1 = value1, columname2 = value2.WHERE search_conditionDelete 語句標準語法:DELETE FROM tablename WHERE condition 復雜操作實現(xiàn)在信息管理系統(tǒng)中,我們往往會遇到歸類、匯總、映射、索引、子查詢等復雜操作,相應的支持與實現(xiàn)如下:u GROUP BY 方法GROUP BY 子句語法為:SELECT column1, SUM(column2)FROM list-of-tablesGROUP BY column-list;這個 GROUP BY 子句將集中
39、所有的行在一起, 它包含了指定列的數(shù)據(jù)以及允許合計函數(shù)來計算一個或者多個列。在本人的系統(tǒng)中在顯示數(shù)據(jù)時用到了此語句來對查詢所得的內容排序然后再顯示。u 組合條件和布爾運算符以下的 SQL 語句中就含有組合條件:SELECT column1, SUM(column2)FROM list-of-tablesWHERE condition1 AND condition2;下面是一個示例:SELECT 身份描述FROM ID,userWHERE ID. 身份編號 =USER.身份編號and user號. = 000001;這條 SQL 語句是從 user、id 表中查找咨詢證號為 000001 的咨詢
40、的身份描述,第三條語句中如果其中有一個條件為假,那么就什么都沒有顯示。u UNION 子句有些時候,需要一起瀏覽多個查詢的結果、組合它們的輸出,我們可以使用 UNION 關鍵字。3 應用系統(tǒng)開發(fā)工具3.1Delphi6.0VCL組件的體系結構Delphi 類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出現(xiàn)在組件面板上, 當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用, 但是這些功能類在組件面板上是找不到的。 在 Delphi 中,每一個類的祖先都是Tobject
41、 類,整個類的層次結構就像一棵倒掛的樹,在最頂層的樹根即為Tobject 類。這樣,按照面向對象編程的基本思想,就使得用戶可用 Tobject 類這個類型代替任何其它類的數(shù)據(jù)類型。實際上在 Delphi 的類庫中, Tobject 類派生出了為數(shù)相當眾多的子類,它們形成了一個龐大的體系, 通常情況下, 如果不自行開發(fā)組件, 就不必了解整個類的體系結構,只用到類層次樹的葉結點就足夠了。凡是做過程序開發(fā)的人都知道從來沒有單純的數(shù)據(jù)應用程序,也就是說,數(shù)據(jù)庫應用程序必須和用戶界面(可以是圖形界面, 也可以是命令接口) 元素相結合,只講界面或只講數(shù)據(jù)庫本身都構不成數(shù)據(jù)庫應用程序,因而用 Delphi6
42、.0 開發(fā)數(shù)據(jù)庫應用程序就隱含著界面開發(fā)。組件在 Delphi 程序的開發(fā)中是最顯眼的角色。我們知道,在編寫程序時一般都開始于在組件面板上選擇組件并定義組件間的相互作用。 但也有一些組件不在組件面板上,例如 Tform 和 Tapplication(典型的非可視組件) 。組件是 Tcomponents 派生出來的子類,可以流的形式存放在 DFM 文件中,具有事件和Publish 屬性。窗口組件類是窗口化的可視化組件類, 在 Delphi 的類庫中占有最大的份額。在實際編程中,窗口組件類的對象都有句柄, 可以接受輸入焦點和包含其它組件。圖形組件與窗口組件并列,是另一大類組件。圖形組件不是基于窗口
43、的,因而不能有窗口句柄, 不能接受輸入焦點和包含其它組件。 在實際編程中, 它們必須寄生于它們的宿主窗口組件類的對象, 由它們的擁有者負責其顯示, 而且它們還能觸發(fā)一些和鼠標活動相關的事件。圖形控件最典型的例子是Tlabel和 TspeedButton??梢钥闯鰣D形組件的功能很弱,圖形組件的用處何在呢?其實使用圖形組件的最大好處在于節(jié)省資源, 正是因為它們的功能較弱, 所以使用的系統(tǒng)資源就要少。 在一個應用程序中, 如果能在不影響其功能的前提下合理大量地使用圖形組件,將會大減少程序對系統(tǒng)資源的消耗。非可視組件是與可視組件相并列的另一類組件,非可視組件在程序運行中是不可見的(除各種對話框組件之外
44、, 事實上有人認為對話框組件不能歸入非可視組件,應該是另一種介于可視與非可視之間的組件) 。最后要說明一下,常說的控件實際上是一種組件。也就是說組件這個概念要大于控件,控件在內涵上包含于組件中。控件由Windows 系列操作系統(tǒng)提出并使用,而組件是 Borland 和其它廠商在對 Windows 控件做了必要的擴展之后提出來的概念,它們是在不同時期由不同的廠商提出的概念。3.2數(shù)據(jù)庫組件介紹用 Delphi6 開發(fā)數(shù)據(jù)庫應用, 重點是和各種數(shù)據(jù)庫組件打交道, 能和數(shù)據(jù)庫掛鉤的組件對象有 5 種,它們是: Session(數(shù)據(jù)庫會話)、Database(數(shù)據(jù)庫)、Dataset(數(shù)據(jù)集)、 DataSource(數(shù)據(jù)源)、 Data control (數(shù)據(jù)控制組件,也叫 data-controls 即數(shù)據(jù)感知組件)。其中前面 4 種統(tǒng)稱為數(shù)據(jù)訪問( Data Acces
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度健康養(yǎng)生產品銷售個人擔保合同
- 2025年度有機肥采購合同風險控制要點解析
- 2025年度紅木家具行業(yè)品牌戰(zhàn)略規(guī)劃合同
- 衡陽2024年湖南常寧市衛(wèi)健系統(tǒng)招聘衛(wèi)生專業(yè)技術人員99人筆試歷年參考題庫附帶答案詳解
- 蘇州江蘇蘇州工業(yè)園區(qū)新加花園幼兒園教學輔助人員招聘筆試歷年參考題庫附帶答案詳解
- 舟山浙江舟山岱山縣統(tǒng)計局招聘編外人員筆試歷年參考題庫附帶答案詳解
- 紅河云南紅河州教育體育局所屬事業(yè)單位(紅河州第一中學)急需緊缺人才招聘筆試歷年參考題庫附帶答案詳解
- 江門2025年廣東江門開平市自然資源局所屬事業(yè)單位招聘工作人員筆試歷年參考題庫附帶答案詳解
- 卷繞機項目融資計劃書
- 無錫2024年江蘇無錫市惠山區(qū)衛(wèi)生事業(yè)單位招聘65人筆試歷年參考題庫附帶答案詳解
- DB13(J)-T 8543-2023 公共建筑節(jié)能設計標準(節(jié)能72%)
- 《一句頂一萬句》讀書分享
- 2024義務教育數(shù)學新課標課程標準2022版考試真題附答案
- 110kV變電站專項電氣試驗及調試方案
- 2024年廣西桂盛金融信息科技服務有限公司招聘筆試沖刺題(帶答案解析)
- 外賣星級(商家評分)計算表
- 2023三年級語文下冊 第八單元 語文園地配套教案 新人教版
- DZ∕T 0215-2020 礦產地質勘查規(guī)范 煤(正式版)
- 外出檢查病人突發(fā)呼吸心跳驟停應急預案演練
- 《火力發(fā)電廠汽水管道設計規(guī)范+DLT+5054-2016》詳細解讀
- 幕墻施工成品及半成品保護措施
評論
0/150
提交評論