1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>計算機論文>圖書館管理系統

    圖書館管理系統

    時間:2022-08-06 11:00:57 計算機論文 我要投稿
    • 相關推薦

    圖書館管理系統

    摘   要
    圖書管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。
    因此本人結合開入式圖書館的要求,對MS SQL Server2000數據庫管理系統、SQL語言原理、Delphi應用程序設計,Delphi數據庫技術進行了較深入的學習和應用,主要完成對圖書管理系統的需求分析、功能模塊劃分、數據庫模式分析,并由此設計了數據庫結構和應用程序。系統運行結果證明,本文所設計的圖書管理系統可以滿足借閱者、圖書館工作人員和高級管理員三方面的需要。
    第一章對數據庫應用系統開發和圖書管理系統進行了簡明的介紹,并分析了開發圖書管理系統所應進行的工作。
    第二章對數據庫的設計和SQL語言的使用進行了系統分析,為深入理解數據庫應用打下了基礎。
    第三章學習了具體的開發工具Delphi 6.0,對其數據庫組件,SQL語言在Delphi中的應用等數據庫編程關鍵技術進行了系統的介紹。
    第四章分析了圖書管理信息系統的應用需求,按照數據庫設計理論一步一步地給出了系統需求說明書、局部ER圖、全局ER圖、系統關系模式,子模式,利用MS SQL Server2000建立了數據庫
    第五章進行了具體的程序設計,具體劃分了三類用戶的操作權限,設計了了三個操作界面。實現了數據庫表的瀏覽,記錄的添加、刪除和修改,報表的生成,實現了多數據庫表的連接操作,實現了多條件查詢和模糊查詢,并靈活實現了對不可更新查詢結果集的更新操作,實現了主從表操作,實現了密碼維護功能,最后,系統還可以導入數據庫以對任意同結構的數據庫進行操作。
    設計充分利用Delphi 6、MS SQL Server2000數據庫技術的強大力量,提高了編程效率和可靠性。
    關鍵詞:數據庫,SQL語言,MS SQL Server,Delphi6,
    數據庫組件,圖書管理,窗體,listview組件

    目    錄
    摘  要 ……………………………………………………………………………… I
    第一章  緒  論 …………………………………………………………………… 1
    §1.1 數據庫應用系統開發簡介 ……………………………………………… 1
    §1.2 圖書管理系統 ……………………………………………………… 4
    §1.3 本文所做的主要工作 …………………………………………………… 6
    第二章  數據庫理論基礎 ………………………………………………………… 7
    §2.1 數據庫系統設計及范式分析 …………………………………………… 7
    §2.2 SQL語言介紹………………………………………………………………… 11
    2.2.1 SQL基礎  ………………………………………………………………… 11
    2.2.2 SQL語句  ………………………………………………………………… 12
    第三章  應用系統開發工具………………………………………………… 16
    §3.1 Delphi6.0 VCL組件的體系結構……………………………………… 16
    §3.2 數據庫組件介紹  …………………………………………………………… 17
    §3.3 SQL語言在Delphi中的應用  …………………………………………… 18
    §3.4 MS SQL Server簡述  ……………………………………………………  22
    第四章  圖書管理系統設計分析 ………………………………………… 24
    §4.1 應用需求分析 …………………………………………………………… 24
    §4.2 系統功能模塊劃分 ……………………………………………………… 29
    §4.3 系統數據庫設計 ………………………………………………………… 29
    第五章  圖書管理系統應用程序設計 …………………………………… 37
    §5.1 系統窗體模塊組成 ………………………………………………………… 37
    §5.2 數據模塊窗體的設置 ……………………………………………………… 37
    §5.3啟動畫面的實現…………………………………………………………… 38
    §5.4用戶登錄窗體的的實現……………………………………………………… 39
    §5.5用戶密碼認證窗體的的實現………………………………………………… 39
    §5.6借閱者服務模塊的實現…………………………………………………… 40
    5.6.1圖書查詢功能的實現………………………………………………… 41
    5.6.2借閱者登錄功能的實現………………………………………………… 42
    5.6.3借閱者借閱情況功能的實現…………………………………………… 43
    5.6.4借閱者個人資料維護功能的實現……………………………………… 47
    §5.7工作人員-圖書借閱/歸還模塊的實現……………………………………… 49
    5.7.1工作人員進行圖書借閱功能實現……………………………………… 50
    5.7.2工作人員進行圖書歸還功能實現……………………………………… 53
    §5.8圖書館管理員模塊的實現…………………………………………… 54
    5.8.1圖書館管理員圖書管理功能的實現…………………………………… 55
    5.8.2圖書館管理員工作人員和管理員管理功能的實現…………………… 58
    5.8.3圖書館管理員修改圖書類別及統記功能的實現……………………… 60
    5.8.4圖書館管理員借閱者管理功能的實現………………………………… 62
    5.8.5圖書館維護借閱者管理功能的實現………………………………… 62
    5.8.6圖書館身份維護功能的實現……………………………………… 64
    5.8.7圖書館借閱者統計功能的實現………………………………… 65
    5.8.8圖書館統計借閱過期記錄功能的實現………………………… 67
    §5.9系統信息顯示的實現………………………………………………… 68
    第六章 結束語 ……………………………………………………………… 69

    圖書館管理系統

    致  謝 ………………………………………………………………………………70
    參考書目 …………………………………………………………………………… 70


    第一章  緒  論
    §1.1  數據庫應用系統開發簡介
    在數據庫應用系統開發之前,對開發數據庫的基本概念應當了解,對數據庫的結構、開發數據庫應用程序的步驟、開發體系及方法都應當有相當清晰的了解和認識。
    數據庫應用系統開發的目標是建立一個滿足用戶長期需求的產品。開發的主要過程為:理解用戶的需求,然后,把它們轉變為有效的數據庫設計。把設計轉變為實際的數據庫,并且這些數據庫帶有功能完備、高效能的應用。
    數據庫技術在計算機軟件鄰域研究中一直是非常重要的主題,產生于60年代,30多年來數據庫技術得到了迅速發展,并已形成較為完整的理論體系和一大批實用系統。并且,近年來,隨著World Wide Web(WWW)的猛增及Internet技術的迅速發展,使得數據庫技術之時成為最熱門技術之一。
    1.1.1  數據庫
    如圖1.1顯示了數據庫系統的主要組件。數據庫由DBMS(數據庫管理系統)處理,DBMS則由開發人員和用戶通過應用程序直接或間接地使用。它主要包括四個要素:用戶數據、元數據、索引和應用元數據。

    1.1.1.1 用戶數據
    目前,大多數主流數據庫管理系統把用戶數據表示為關系。現在把關系看作數據表。表的列包含域或屬性,表的行包含對應業務環境中的實體的記錄。并非所有的關系都同樣符合要求,有些關系比其它關系更結構化一些。第二章描述了一個用以產生良好結構關系的過程,稱作規范化。
    為了對比結構差的關系和結構好的關系之間的差別,以本文所設計的圖書管理系統中的圖書和圖書借閱者關系為例來說明,假若設計關系R1(借書證號,姓名,性別,身份編號,身份證,聯系電話,圖書編號,圖書名稱,圖書類別,作者,出版社,出版日期,備注,價格,數量);這個關系的問題出在它有關于兩個不同主題的數據,就是圖書借閱者和圖書。用這種方式構成的關系在進行修改時,會出現問題。因為一個圖書借閱者可能借閱多本書,如果某個圖書借閱者的某個字段(如聯系電話)出現變更,它所借閱的圖書記錄(可能多個)也就必須變化,這是不好的。因此數據用兩個關系表示更好。現在如果某圖書借閱者改變了它的聯系電話,只有關系(表)user的對應行需要改變。當然,要想產生一個,顯示圖書名稱及其借閱者聯系電話的報表,就需要將這兩個表的行結合起來。結果表明,將關系分別存儲,在生成報表的時候將它們結合起來,比把它們存儲在一個合成的表中更好。
    user(借書證號,姓名,性別,身份編號,身份證,聯系電話,)
    book(圖書編號,圖書名稱,圖書類別,作者,出版社,出版日期,備注,價格,數量)
    1.1.1.2  元數據
    數據庫是自描述的,這就意味著它自身包含了它的結構的描述,這種結構的描述稱作元數據。因為DBMS產品是用來存儲和操縱表的,所以大多數產品把元數據以表的形式存儲,有時稱作系統表。這些系統表存儲了數據庫中表的情況,指出每一個表中有多少列,那一列是主關鍵字,每一列的數據類型的描述,它也存儲索引、關鍵字、規則和數據庫結構的其他部分。
    在表中存儲元數據不僅對DBMS是有效的,對用戶也是方便的,因為他們可以使用與查詢用戶數據同樣的查詢工具來查詢元數據。本文第二章所介紹的SQL語言可以同時用于元數據和用戶數據。
    1.1.1.3  索引
    第三種類型的數據改進了數據庫的性能和可訪問性,這種數據經常稱作開銷數據,盡管有時也采用其他類型的數據結構,如鏈表,但它主要還是索引。索引可以用來排序和快速訪問數據。下面以本人的圖書管理信息系統中的book表為例來說明。
    假定數據在磁盤上是按’圖書編號’的遞增順序排列的,用戶想打印一個按’圖書名稱’排序的圖書數據報表。為此,所有的數據都需要從源表中提取出來并排序,除非表很小,否則這是一個很費時的過程。或者,可以在‘圖書名稱’字段上創建一個索引,該索引的條目按照‘圖書名稱’排序,這樣,該索引的條目可以讀出來,并用來按順序訪問book數據。
    索引用于快速訪問數據。例如,一個用戶只想訪問book表中‘圖書類別’值為‘01’的那些學生。如果沒有索引,則必須搜索整個源表;但有了索引之后,可以找到索引條目,并使用它來挑選所有合適的行。
    索引對排序和查找是有幫助的,但要付出代價。book表中的行每次改變時,索引也必須改變,這意味著索引并非隨意的,應該在真正需要時保存。
    1.1.1.4  應用元數據
    存儲在數據庫中的第四種數據是應用元數據,它用來存儲用戶窗體、報表、查詢和其他形式的查詢組件。并非所有的DBMS都支持應用組件,支持組件的DBMS也不一定把全部組件的結構作為應用元數據存儲在數據庫中。然而,大多數現代的DBMS產品存儲這種數據作為數據庫的一部分。一般來說,數據庫開發人員和用戶都不直接訪問應用元數據,想反,他們通過DBMS中的工具來處理這些數據。
    MS SQL Server2000中就支持窗體、存儲過程等應用元數據。
    1.1.2  數據庫管理系統
    數據庫管理系統(DBMS)是指數據庫系統中管理數據的軟件系統。DBMS是數據庫系統的核心組成部分。對數據庫的一切操作,包括定義、更新及各種控制,都是通過DBMS進行的。DBMS總是基于某種數據模型,可以把DBMS看成是某種數據模型在計算機系統上的具體實現。根據數據模型的不同,DBMS可以分成層次型、網狀型、關系型、面向對象型等。MS SQL Server2000就是一種關系型數據庫管理系統。
    關系模型。關系模型主要是用二維表格結構表達實體集,用外鍵表示實體間聯系。關系模型是由若干個關系模式組成的集合。關系模式相當于前面提到的記錄類型,它的實例稱為關系,每個關系實際上是一張二維表格。
    關系模型和層次、網狀模型的最大判別是用關鍵碼而不是用指針導航數據,表格簡單用戶易懂,編程時并不涉及存儲結構,訪問技術等細節。關系模型是數學化模型。SQL語言是關系數據庫的標準化語言,已得到了廣泛的應用。
    如圖1.1所示,DBMS的特點和功能可以分為三個子系統:設計工具子系統、運行子系統和DBMS引擎。
    設計子系統有一個方便數據庫及其應用創建的工具集。它典型地包含產生表、窗體、查詢和報表的工具。DBMS產品還提供編程語言和對編程語言的接口。
    運行子系統處理用設計子系統開發的應用組件。它所包含的運行處理器用來處理窗體和數據庫的數據交互,以及回答查詢和打印報表等。
    DBMS引擎從其他兩個組件接受請求,并把它們翻譯成對操作系統的命令,以便讀寫物理介質上的數據。DBMS引擎還涉及事務管

    理、鎖、備份和恢復。
    1.1.3  創建數據庫
    1.1.3.1  數據庫模式
    數據庫模式定義了數據庫的結構、表、關系、域和業務規則。數據庫模式是一種設計,數據庫和應用正是建立在此基礎上的。
    域是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數據的物理格式外,還需要確定是否有些域對表來說是唯一的。
    數據庫模式的最后一個要素是業務規則,它是對需要反映在數據庫和數據庫應用程序中的業務活動的約束。業務規則是模式的一個重要部分,因為他們指定了無論什么數據變化到達DBMS引擎,允許的數據值必須滿足的約束。不管無效的數據變化請求是來自窗體的用戶、查詢/修改請求還是應用程序,DBMS都應該拒絕。
    遺憾的是,不同的DBMS產品用不同的方法實施業務規則。在某些情況下,DBMS產品不具備實施必要業務規則的能力,必須以代碼形式把它們編入應用程序。
    1.1.3.2  創建表
    1.1.3.3  定義聯系
    1.1.4  應用組件
    數據庫應用包括窗體、查詢、報表、菜單和應用程序。
    §1.2  圖書管理系統
    當今時代是飛速發展的信息時代。在各行各業中離不開信息處理,這正是計算機被廣泛應用于信息管理系統的環境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。
    尤其對于復雜的信息管理,計算機能夠充分發揮它的優越性。計算機進行信息管理與信息管理系統的開發密切相關,系統的開發是系統管理的前提。本系統就是為了管理好圖書館信息而設計的。
    圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數據的管理,現今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據調查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于圖書借閱情況(如借書天數、超過限定借書時間的天數)的統計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數等用人工計算、手抄進行。數據信息處理工作量大,容易出錯;由于數據繁多,容易丟失,且不易查找。總的來說,缺乏系統,規范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發揮它的效力,資源閑置比較突出,這就是管理信息系統的開發的基本環境。
    數據處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數目和內容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。
    基于這此問題,我認為有必要建立一個圖書管理系統,使圖書管理工作規范化,系統化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。
    §1.1 系統所做工作
    1) 了解應用開發工具的現狀
    2) DelPHi6.0編程基礎
    3) MS SQL Server基礎
    4) 設計數據庫;設計界面
    5) 開發數據庫。數據庫實現的一些功能有
    l 數據和數據說明的醒目顯示;
    l 多條件的查詢、多條記錄的檢索、模糊查詢;
    l 數據文件某種存儲格式導入數據窗體,經過數據完整性校驗存入數據庫;
    l 數據庫安全性的設計;
    l 數據庫的設計、數據接口、界面的設計。

    §1.3  本文所作工作
    緒論部分對數據庫應用系統的結構、開發進行了簡要介紹,分析了圖書管理信息系統設計的特點和任務。
    第二章介紹了數據庫的設計和范式分析,并系統介紹了SQL語言,為設計和理解應用程序做了鋪墊。
    第三章對系統介紹了Delphi 6.0的數據庫編程技術、SQL語言在Delphi 6.0中的應用、MS SQL Server基礎。
    第四章分析了圖書管理系統的應用需求,設計了系統的數據庫結構,并根據需求對系統功能進行了劃分和細化。
    第五章根據第四章的設計結果利用MSSQL Server2000和Delphi 6.0進行了具體的應用程序設計。
    總結部分介紹了設計體會和編程體會,并指出了系統設計中的不足和改進的方向。

    第二章   數據庫理論基礎
    一個成功的信息管理系統,是建立在許多條件之上的,而數據庫是其中一個非常重要的條件和關鍵技術。
    信息管理系統所涉及的數據庫設計分五個步驟:數據庫需求分析、概念設計、邏輯設計、物理設計與加載測試。
    (1) 數據庫需求分析的任務是將業務管理單證流化為數據流,劃分主題之間的邊界,繪制出DFD圖,并完成相應的數據字典。
    (2) 概念設計的任務是從DFD出發,繪制出本主題的實體-關系圖,并列出各個實體與關系的綱要表。
    (3) 邏輯設計的任務是從E-R圖與對應的綱要表出發,確定各個實體及關系的表名屬性。
    (4) 物理設計的任務是確定所有屬性的類型、寬度與取值范圍,設計出基本表的主鍵,將所有的表名與字段名英文化(現在很多軟件能支持中文字段,如MS SQL Server,我就是用的中文字段名),實現物理建庫,完成數據庫物理設計字典。
    (5) 加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數據庫的加載測試工作。
    要設計出一個好的信息管理系統數據庫,除滿足系統所要求的功能外,還必須遵守下列原則:
    &sup2; 基本表的個數越少越好。
    &sup2; 主鍵的個數越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。
    &sup2; 字段的個數越少越好。
    &sup2; 所有基本表的設計均應盡量符合第三范式。
    數據庫的設計中,如何處理多對多的關系和如何設計主鍵,是兩個有著較大難度、需要重點考慮的問題。下面我們著重從SQL應用、數據庫設計范式和查詢優化等方面來分析本課題的系統關鍵技術和實現難點并加以解決。

    §2.1  數據庫系統設計及范式分析
    信息系統的主要任務是通過大量的數據獲得管理所需要的信息,這就必須存儲和管理大量的數據。因此建立一個良好的數據組織結構和數據庫,使整個系統都可以迅速、方便、準確地調用和管理所需的數據,是衡量信息系統開發工作好壞的主要指標之一。
    2.1.1 數據庫系統設計
    數據庫設計主要是進行數據庫的邏輯設計,即將數據按一定

    的分類、分組系統和邏輯層次組織起來,是面向用戶的。數據庫設計時需要綜合企業各個部門的存檔數據和數據需求,分析各個數據之間的關系,按照DBMS提供的功能和描述工具,設計出規模適當、正確反映數據關系、數據冗余少、存取效率高、能滿足多種查詢要求的數據模型。
    數據庫設計的步驟是:
    (1) 數據庫結構定義:目前的數據庫管理系統(DBMS)有的是支持聯機事務處理CLTP(負責對事務數據進行采集、處理、存儲)的操作型DBMS,有的可支持數據倉庫、有聯機分析處理CLAP(指為支持決策的制定對數據的一種加工操作)功能的大型DBMS,有的數據庫是關系型的、有的可支持面向對象數據庫。針對選擇的DBMS,進行數據庫結構定義。
    (2) 數據表定義:數據表定義指定義數據庫中數據表的結構,數據表的邏輯結構包括:屬性名稱、類型、表示形式、缺省值、校驗規則、是否關鍵字、可否為空等。關系型數據庫要盡量按關系規范化要求進行數據庫設計,但為使效率高,規范化程度應根據應用環境和條件來決定。數據表設計不僅要滿足數據存儲的要求,還要增加一些如反映有關信息、操作責任、中間數據的字段或臨時數據表。
    (3) 存儲設備和存儲空間組織:確定數據的存放地點、存儲路徑、存儲設備等,備份方案,對多版本如何保證一致性和數據的完整性。
    (4) 數據使用權限設置:針對用戶的不同使用要求,確定數據的用戶使用權限,確保數據安全。
    (5) 數據字典設計:用數據字典描述數據庫的設計,便于維護和修改。
    為了更好地組織數據和設計出實際應用數據庫,應該注意如下問題:
    規范化地重組數據結構:對數據進行規范化表達,這在后面將會具體討論。
    關系數據結構的建立:在進行了數據基本結構的規范化重組后,還必須建立整體數據的關系結構。這一步設計完成后數據庫和數據結構設計工作基本完成,只待系統實現時將數據分析和數據字典的內容代入到所設計的數據整體關系結構中,一個規范化數據庫系統結構就建立起來了。
    建立關系數據結構涉及三方面內容:確定關聯的關鍵指標項并建立關聯表;確定單一的父系記錄結構;建立整個數據庫的關系結構。
    (1)鏈接關系的確定
    在進行了上述數據規范化重組后,已經可以確保每一個基本數據表(我們簡稱為表)是規范的,但是這些單獨的表并不能完整地反映事物,通常需要通過指標體系整體指標數據才能完整全面地反映問題。也就是說在這些基本表的各宇段中,所存儲的是同一事物不同側面的屬性。那么計算機系統如何能知道哪些表中的哪些記錄應與其它表中的哪些記錄相對應,它們表示的是同一個事物呢?這就需要在設計數據結構時將這種各表之間的數據記錄關系確定下來。這種表與表之間的數據關系一般都是通過主或輔關鍵詞之間的連接來實現的。因為在每個表中只有主關鍵詞才能唯一地標識表中的這一個記錄值(因為根據第三范式的要求,表中其它數據字段函數都依賴于主關鍵詞),所以將表通過關鍵詞連接就能夠唯一地標識出某一事物不同屬性在不同表中的存放位置。
    (2)確定單一的父子關系結構
    所謂確定單一的父系關系結構就是要在所建立的各種表中消除多對多(以下用M:N來表示)的現象,即設法使得所有表中記錄之間的關系呈樹狀結構(只能由一個主干發出若干條分支,而不能有若干條主干交錯發出若干條分支狀況)。所謂的“父系”就是指表的上一級關系表。消除多對多關系可以借助于E-R圖的方法來解決,也可以在系統分析時予以注意,避免這種情況的發生。
    消除這種M:N情況的辦法也很簡單,只需在二表之間增加一個表,則原來M:N的關系就改成了M:1,1:N的關系了。
    確定數據資源的安全保密屬性:
    一般DBMS都提供給我們自己定義數據安全保密性的功能。系統所提供的安全保密功能一般有8個等級(0-7級),4種不同方式(只讀、只寫、刪除、修改),而且允許用戶利用這8個等級的4種方式對每一個表自由地進行定義。
    定義安全保密性的方法一般有如下幾種:
    a.原則上所有文件都定義為4級,個別優先級特別高的辦公室(終端或微機的入網賬號)可定義高于4級的級別,反之則定義為低于4的級別。
    b.統計文件(表)和數據錄入文件一般只對本工作站定義為只寫方式,對其它工作站則定義為只讀方式。
    c.財務等保密文件一般只對中工作站(如財務科等)定義為可寫、可改、可刪除方式,對其它工作站則定義為只讀方式,而且不是每個人都能讀,只有級別相同和高級別者才能讀。
    2.1.2  數據庫設計范式分析
    建立起一個良好的數據指標體系,是建立數據結構和數據庫的最重要的一環。一個良好的數據指標體系是建立DB的必要條件,但不是充分條件。我們完全可以認為所建指標體系中的一個指標類就是關系數據庫中的一個基本表,而這個指標類下面的一個個具體指標就是這個基本表中的一個字段。但如果直接按照這種方式建庫顯然還不能算最佳。對于指標體系中數據的結構在建庫前還必須進行規范化的重新組織。
    a.  數據組織的規范化形式
    在數據的規范化表達中,一般將一組相互關聯的數據稱為一個關系(relation),而在這個關系下的每個數據指標項則被稱為數據元素(data element),這種關系落實到具體數據庫上就是基本表,而數據元素就是基本表中的一個字段(field)。規范化表達還規定在每一個基本表中必須定義一個數據元素為關鍵字(key),它可以唯一地標識出該表中其它相關的數據元素。在規范化理論中表是二維的,它有如下四個性質:
    l 在表中的任意一列上,數據項應屬于同一個屬性(如圖中每一列都存放著不同合同記錄的同一屬性數據)。
    l 表中所有行都是不相同的,不允許有重復組項出現(如圖中每一行都是一個不同的合同記錄)。
    l 在表中,行的順序無關緊要(如圖中每行存的都是合同記錄,至于先放哪一個合同都沒關系)。
    l 在表中,列的順序無關緊要,但不能重復(如圖中合同號和合同名誰先誰后都沒關系,但二者不可重復或同名)。
    在對表的形式進行了規范化定義后,數據結構還有五種規范化定義,定名為規范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的數據結構自動滿足一、二、三、四范式,滿足第四范式的數據結構自動滿足第一、二、三范式,……,依此類推。
    第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復項出現,如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規范化處理。在本文所討論的開發方法里,1st NF實際上是沒有什么意義的。因為我們按規范化建立的指標體系和表的過程都自動保證了所有表都滿足1st NF。
    第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數據元素為主關鍵字(primary key),其它數據元素與主關鍵字一一對應。例如,在圖l9.7中

    如果我們將合同號定義為主關鍵字(其它數據元素中的記錄數據都有可能重名,故不能作為主關鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關系為函數依賴(functional depEndence)關系。即表中其它數據元素都依賴于主關鍵字,或稱該數據元素唯一地被主關鍵字所標識。
    第三范式(third normal form,簡稱 3rd NF)就是指表中的所有數據元素不但要能夠唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數關系。也就是說對于一個滿足了 2nd NF的數據結構來說,表中有可能存在某些數據元素依賴于其它非關鍵宇數據元素的現象,必須加以消除。
    為防止數據庫出現更新異常、插入異常、刪除異常、數據冗余太大等現象,關系型數據庫要盡量按關系規范化要求進行數據庫設計。
    §2.2  SQL語言介紹
    2.2.1  SQL基礎
    SQL(Structured Query Language,結構查詢語言)是一個功能強大的數據庫語言。SQL通常使用于數據庫的通訊。ANSI(美國國家標準學會)聲稱,SQL是關系數據庫管理系統的標準語言。SQL語句通常用于完成一些數據庫的操作任務,比如在數據庫中更新數據,或者從數據庫中檢索數據。使用SQL的常見關系數據庫管理系統有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數的數據庫系統使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統。但是,標準的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成絕大多數數據庫的操作。MS SQL Server 就是用的Transact- SQL。
    SQL語言有著非常突出的優點,主要是:
    n 非過程化語言
    n 統一的語言
    n 是所有關系數據庫的公共語言
    非過程化語言:SQL是一個非過程化的語言,因為它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。
    SQL不要求用戶指定對數據的存放方法, 這種特性使用戶更易集中精力于要得到的結果;所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段,查詢優化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。
    統一的語言:SQL可用于所有用戶的DB活動模型,包括系統管理員、數據庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶。
    SQL為許多任務提供了命令,其中包括:
    n 查詢數據
    n 在表中插入、修改和刪除記錄
    n 建立、修改和刪除數據對象
    n 控制對數據和數據對象的存取
    n 保證數據庫一致性和完整性
    以前的數據庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。
    所有關系數據庫的公共語言:由于所有主要的關系數據庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS(關系數據庫管理系統)轉到另一個,所有用SQL編寫的程序都是可以移植的。
    2.2.2  SQL語句
    SQL功能強大,是一種完備的數據處理語言,不僅用于數據庫查詢,而且用于數據庫中的數據修改和更新,概括起來,它可以分成以下幾組:
    DML(Data Manipulation Language,數據操作語言):用于檢索或者修改數據;
    DDL(Data Definition Language,數據定義語言): 用于定義數據的結構,比如 創建、修改或者刪除數據庫對象;
    DCL(Data Control Language,數據控制語言):用于定義數據庫用戶的權限。
    DML組可以細分為以下的幾個語句:
    SELECT:用于檢索數據;
    INSERT:用于增加數據到數據庫;
    UPDATE:用于從數據庫中修改現存的數據;
    DELETE:用于從數據庫中刪除數據。
    DDL語句可以用于創建用戶和重建數據庫對象。下面是DDL命令:
    CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX
    下面是一個簡單SQL語句的例子:
    我們使用SQL語句來從Book中檢索‘借書證號’為‘000001’的借閱者姓名:
    SELECT 姓名  FROM  Book   WHERE 借書證號 = ‘000001’
    2.2.2.1 DDL與DML
    數據定義語言DDL:它是用來創建和修改數據庫結構的一種語句,包括 Create、Alter和Drop 語句。
    數據操作語言DML:包括數據查詢與數據更新。數據查詢主要是由Select語句完成,這一點不再贅述。而數據更新所造成的風險大大超過數據查詢。數據庫管理系統必須在更改期內保護所存儲的數據的一致性,確保有效的數據進入數據庫,數據庫必須保持一致性,DBMS還必須協調多用戶的并行更新,以確保用戶和它們的更改不至于影響其它用戶的作業。
    用于修改數據庫內容的 SQL 語句主要有以下三個:
    (1)  Insert,向一個表中加入新的數據行
    (2)  Delete,從一個表中刪除數據行
    (3)  Update,更改數據庫中已經存在的數據
    Insert標準語法:
    INSERT INTO  table_name (col1, col2...)  VALUES(value1, value2...)
    下例要將借書證號為‘000001’作為一個新的借書情況加入借書情況表OWNER中
    Insert Into

    【圖書館管理系統】相關文章:

    閱卷管理與監測系統08-17

    學籍管理系統軟件08-07

    停車管理系統方案08-08

    圖書館管理述職報告02-15

    設備財產管理系統實施計劃08-23

    工商管理系統實習報告08-15

    信息管理系統開題報告11-19

    信息管理系統論文11-02

    管理系統的心得體會05-09

    淺談中學管理的動力系統08-17

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      天天狠天天天天透在线2020 | 亚洲精品第一国产综合国服瑶 | 亚洲日韩精品欧美一区二区一 | 中文字幕在线不卡精品视频99 | 亚洲国产精品久久久男人的天堂 | 久综合在线观看精品 |