任務2 收集、整理信息
任務描述
合理的數據庫設計可以使用戶方便準確地訪問到最新的信息。正確的數據庫設計對于實現使用數據庫的目標非常重要。本任務提供了規劃數據庫的一些原則。在本任務中將學習如何確定需要哪些信息,如何將這些信息劃分到相應的表和列,以及這些表如何彼此關聯。
1.數據庫基本術語
數據庫中信息以表的形式存儲,表是由行和列組成的列表,與Excel工作表類似。在數據庫中可包含一個或多個表。如圖1-18所示,Catalog表中存儲著網站欄目(頻道)的基本信息,在CatalogType表中存儲有關欄目的類型代碼信息,而在Gls表中存儲與圖文信息相關的信息。

圖1-18 Catalog表
表中的每一行被稱為記錄,而每一列則被稱為字段。記錄是一種用來組合某事項的相關信息的有效且一致的方法。字段是單個信息項,即出現在每條記錄中的項類型。例如,在Gls表中,每一行或記錄中都會包含與某個圖文信息相關的信息。每一列或字段則包含有關該圖文信息的某種類型的信息,如CatID(所屬欄目)、Title(圖文標題)等。
2.數據庫設計標準
一個良好的數據庫設計應該具備以下特點:
? 將信息劃分到基于主題的表中以減少冗余數據。重復信息(也稱為冗余數據)很糟糕,因為重復信息會浪費空間,并會增加出錯和不一致的可能性。
? 向數據庫提供根據需要連接表中信息時所需的信息。
? 可幫助支持和確保信息的正確性和完整性。信息的正確性和完整性非常重要。如果數據庫中包含不正確的信息,任何從數據庫中提取信息的顯示、統計等也將包含不正確的信息。因此,基于這些信息所做的任何決策都將提供錯誤信息。
? 可滿足數據處理和統計報表需求。
操作步驟
1.確定數據庫的用途
最好將數據庫的用途記錄在紙上,包括數據庫的用途、預期使用方式及使用者。
綠蕾教育網后臺數據庫,用于保存綠蕾教育網站上所涉及的用戶、欄目、圖文、資源、友情鏈接、調查、廣告等信息。
2.收集和整理所需信息
收集可能希望在數據庫中記錄的各種信息,如文檔標題、作者、內容等。
收集和整理所需的信息,應從現有信息著手。
做一做
將任務1中的信息按照圖1-19的形式整理成表格。

圖1-19 圖文信息表
在準備此表格時,不要為了讓它在最開始就能達到完美的效果而擔憂。相反,請列出每個想到的項。如果還有其他人使用該數據庫,也應向他們征求意見。以后可對該列表進行優化。
應該將每條信息分為最小的有用單元。
3.將信息項轉換為列
確定希望在每個表中存儲哪些信息。每個項將成為一個字段,并作為列顯示在表中。
4.指定主鍵
每個表應包含一個列或一組列,用于對存儲在該表中的每個行進行唯一的標識。通常是一個唯一的標識號,如“CatID”(欄目編號)。在數據庫術語中,此信息稱為表的主鍵。Access使用主鍵字段將多個表中的數據關聯起來,從而將數據組合在一起。
如果已經為表指定了唯一的標識符(如欄目表中的欄目編號“CatID”),就可以使用該標識符作為表的主鍵。主鍵中不能有重復的值,例如,圖文表中的欄目編號就不能用做主鍵,因為這里的欄目編號不是唯一的。
選擇主鍵的標準:
? 主鍵不能為空值,如果某列的值可以在某個時間變成空值,則該值不能作為主鍵的組成部分。
? 主鍵值應該是固定不變的。主鍵的值一旦建立,不應變動。在多表數據庫中,經常是一個表引用另一個表的主鍵,如果主鍵值發生改變,則必須更改引用它的所有表的相應值。使用值固定的主鍵可降低出現主鍵與其他引用該鍵的表不同步的概率。
? 通常將任意唯一數字作為主鍵使用。例如,可能會為每條圖文信息分配一個唯一的ID。ID的唯一用途是對信息進行標識。分配后,ID就永遠都不更改。
? 如果尚未確定可能成為好的主鍵的一個或一組列,請考慮使用具有“自動編號”數據類型的列。使用“自動編號”數據類型時,Access將自動分配一個值。這樣的標識符不包含事實數據,即不包含描述它所表示的行的事實信息。不包含事實數據的標識
做一做
為整理的每個表格指定主鍵。________________
5.建立表關系
查看每個表格,并確定各個表中的數據如何彼此關聯。根據需要,將字段添加到表中或創建新表,以便清楚地表達這些關系。
做一做
畫出整理的各表格之間的關系。________________
知識拓展
拓展1 數據庫
通俗地說,數據庫是按照數據結構來組織、存儲和管理數據的“倉庫”,并以文件的形式保存在存儲器中,這些特殊的文件被稱為數據庫文件。
在日常工作中,人們常常需要把某些相關的數據放進這樣的“倉庫”中,并根據管理的需要進行相應的處理。例如,單位的人事部門經常需要將本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數據庫。有了它就可以根據需要隨時查詢某職工的基本情況,也可以查詢在某個年齡范圍內的職工人數等。
數據庫的發展大致劃分為如下幾個階段:人工管理階段、文件系統階段、數據庫系統階段和高級數據庫階段。
拓展2 數據庫管理系統與數據庫系統
數據庫管理系統(Database Management System,DBMS)是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫,簡稱DBMS。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過DBMS訪問數據庫中的數據,數據庫管理員也通過DBMS進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立、修改和詢問數據庫。它使用戶能方便地定義和操縱數據,維護數據的安全性和完整性,以及進行多用戶下的并發控制和恢復數據庫。
常用的數據庫管理系統有Oracle、DB2、Microsoft SQL Server、MySQL、Sybase、Informix、Visual FoxPro、Microsoft Access等。
數據庫系統是一個具體的數據庫管理系統軟件和用它建立起來的數據庫,它通常由軟件、數據庫和數據管理員組成。其軟件主要包括操作系統、實用程序,以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據庫管理員負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。
拓展3 數據模型
數據(Data)是描述事物的記錄符號。模型(Model)是現實世界的抽象。數據模型(Data Model)是數據特征的抽象,是數據庫管理的教學形式框架。
數據模型所描述的內容包括3個部分:數據結構、數據操作、數據約束。
① 數據結構:數據模型中的數據結構主要描述數據的類型、內容、性質,以及數據間的聯系等。數據結構是數據模型的基礎,數據操作和數據約束都建立在數據結構上。不同的數據結構具有不同的操作和約束。
② 數據操作:數據模型中的數據操作主要描述在相應數據結構上的操作類型和操作方式。
③ 數據約束:數據模型中的數據約束主要描述數據結構內數據間的語法、詞義聯系、它們之間的制約和依存關系,以及數據動態變化的規則,以保證數據的正確、有效和相容。
數據模型按不同的應用層次分為3種類型,分別是概念數據模型、邏輯數據模型、物理數據模型。
? 概念數據模型(Conceptual Data Model):簡稱概念模型,是面向數據庫用戶的實現世界的模型,主要用來描述世界的概念化結構,它使數據庫的設計人員在設計的初始階段擺脫計算機系統及DBMS的具體技術問題,集中精力分析數據及數據之間的聯系等,與具體的數據管理系統無關。概念數據模型必須轉換成邏輯數據模型,才能在DBMS中實現。
? 邏輯數據模型(Logical Data Model):簡稱數據模型,這是用戶從數據庫所看到的模型,是具體的DBMS所支持的數據模型,如網狀數據模型(Network Data Model)、層次數據模型(Hierarchical Data Model)等。此模型既要面向用戶,又要面向系統,主要用于數據庫管理系統(DBMS)的實現。
? 物理數據模型(Physical Data Model):簡稱物理模型,是面向計算機物理表示的模型,描述了數據在存儲介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬件有關。每一種邏輯數據模型在實現時都有對應的物理數據模型。DBMS為了保證其獨立性與可移植性,大部分物理數據模型的實現工作由系統自動完成,而設計者只設計索引、聚集等特殊結構。
在概念數據模型中,最常用的是E-R模型、擴充的E-R模型、面向對象模型及謂詞模型。在邏輯數據類型中,最常用的是層次模型、網狀模型、關系模型。
拓展4 關系型數據庫
關系型數據庫以行和列的形式存儲數據,以便于用戶理解。這一系列的行和列被稱為表,一組表組成數據庫。用戶用查詢(Query)來檢索數據庫中的數據。一個Query是一個用于指定數據庫中行和列的SELECT語句。關系型數據庫通常包含下列組件:客戶端應用程序(Client)、數據庫服務器(Server)、數據庫(Database)。
Structured Query Language(SQL)是Client端和Server端的橋梁,Client端用SQL向Server端發送請求,Server端返回Client端要求的結果。
關系型數據庫管理系統中存儲與管理數據的基本形式是二維表。
- 計算機綜合設計實驗指導
- LibGDX Game Development Essentials
- 數據分析實戰:基于EXCEL和SPSS系列工具的實踐
- Unity 5.x Game AI Programming Cookbook
- Developing Mobile Games with Moai SDK
- Game Development with Swift
- 商業分析思維與實踐:用數據分析解決商業問題
- 重復數據刪除技術:面向大數據管理的縮減技術
- 視覺大數據智能分析算法實戰
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(上冊)
- Mastering LOB Development for Silverlight 5:A Case Study in Action
- Access數據庫開發從入門到精通
- AndEngine for Android Game Development Cookbook
- 區塊鏈應用開發指南:業務場景剖析與實戰
- Artificial Intelligence for Big Data