第1章 數據管理與數據模型
1.1 信息、數據和數據處理
1.1.1 信息與數據
信息是現實世界各種事物的特征、形態以及不同事物間的聯系等在人腦里的抽象反映。
數據是表達信息的載體。為了表達信息(抽象概念),必須使用某些符號,這些符號叫數據。廣義地講,數據是一切文字、符號、聲音、圖像等有意義元素的組合。
1.1.2 數據處理
數據處理是對數據的收集、記載、整理、組織、存儲、檢索、計算∕加工、維護、傳送等一系列活動的總和。
基本目的都是從已知數據出發,參照各種相關數據,經過計算∕加工,得到新的數據。新的精煉數據(表示新的信息)能夠反映事物的本質和特征以及事物間的內在聯系。這些有價值、有意義的數據成為人們決策的依據。
數據處理的特點:數據量大,數據間的邏輯聯系錯綜復雜,但是計算相對比較簡單,較少涉及復雜的數學模型和計算方法。
數據處理過程中的主要矛盾是如何更好地組織管理數據。
數據處理的主要問題:
數據管理問題。數據管理是數據處理過程中一個基本一個環節,是所有數據處理任務必需的共性發,具體是指如何在計算機內把數據組織管理好。數據管理的優劣,直接影響數據處理的效率。
數據處理方式問題。
集中處理方式:把要處理的數據作為一個完整的集合,所有的工作都由一臺計算機完成;
分散處理方式:把數據集合分成多個部分,分別由多個計算機處理完成,對數據的管理和操縱都分開并且相互產,彼此之間沒有數據通信聯系;
分布處理方式:把在多臺計算機上的數據通過網絡連接起來,數據在物理上分開存儲,但是在邏輯上是一個整體。
1.2 數據管理技術的發展
數據管理是指如何在計算機內把數據管好,包括對數據的組織、編目、定位、存儲、檢索和維護等。
1.2.1 人工管理階段
主要特征:
數據不保存在計算機中
沒有專用的軟件對數據進行管理
以應用為中心,數據面向應用
1.2.2 文件系統階段
文件系統:是用文件方式管理數據的系統,它把數據組織成文件,按名存取數據,既方便,又實用。文件系統既可順序訪問,也可隨機訪問。
數據項:是文件中最小的、不再細分的數據單位,描述事物的某個特征。
記錄:若干相關的數據項的集合,一個記錄可以表達一個具體的事物。
文件:若干記錄的集合,是操作系統管理數據的一個基本單位。
數據組織成文件形式存儲在磁盤上。
磁帶是順序存儲設備,存取數據時只能一個一個順序地存取。
磁盤既可以順序訪問,也可以隨機訪問。
特征:
數據可以長期存在在外存的磁盤上;
有專門的軟件進行數據管理;
數據的邏輯結構:是指按某種觀點把關聯的數據起來;
數據的物理結構:是指用體現數據邏輯結構的物理存儲形式把數據存儲到存儲設備上。
出現多種不同的文件組織
數據不再屬于某個特定的程序,在一定程度上可以共享
隨著數據管理規模的擴大,顯露文件系統存在的缺陷:
仍以應用為中心,數據面向應用;
程序與文件任何一方發生變動都可能引起另一方做相應的修改。
數據冗余;
數據冗余是指同一數據在多個不同的地方重復存儲。
數據不一致性。
數據不一致性:指同一數據在不同的存儲地點出現差異。
數據聯系弱。
因為文件與文件相互獨立,文件間缺乏聯系,所以文件系統不能反映現實世界事物間的聯系。
1.2.3 數據庫系統階段
特征:
數據結構化——用數據模型表示數據結構
數據模型:不僅描述數據本身,還描述數據間的聯系。
數據共享
不同用戶所使用的數據可以重疊,同一數據可供多個用戶使用,這就是共享。
減少數據冗余
有較高的數據獨立性
數據庫技術期望的目標就是數據獨立性,即數據與程序無關。
數據庫的結構
用戶的邏輯結構
整體邏輯結構
物理結構
數據獨立性
邏輯數據獨立性
物理數據獨立性
為用戶提供方便的用戶接口
對數據實行統一管理
1.2.4 四個重要的術語
數據庫(Database,DB):DB是實行統一管理的相關數據的集合。
數據庫管理系統(Database Management System,DBMS):DBMS是數據管理的核心軟件。
數據庫系統(Database System,DBS):DBS是指實現有組織、動態地存儲大量關聯數據,方便多用戶訪問的計算機軟件、硬件、數據資源和數據庫管理員(Database Administrator,DBA)組成的計算機系統。
數據庫技術:是一門研究數據庫的結構、存儲、管理的軟件學科。
預備知識:離散數學、數據結構、操作系統、軟件工程
是一門綜合性較強的學科
1.3 數據模型
數據模型是對客觀事物及其聯系的數據描述。
數據模型不停要表示存儲了哪些數據
還要用某種結構表示各種不同數據之間的聯系
常用的數據模型
概念數據模型(1.3.2)
結構數據模型(1.3.3)
1.3.1 數據與數據聯系的描述
對數據的描述
數據描述:現實世界→信息世界→機器世界
現實世界:數據的源頭
信息世界:現實世界的事物在人腦中的抽象反映
型是概念的內涵,值是概念的實例。
實體(entity):客觀存在的可以相互區別的事物
屬性(attribute):實體所具有的特征
實體集(entity set):具有相同性質的同類實體的集合
實體標識符(identifier):能夠唯一標識每個實體的屬性或屬性集
機器世界:信息在機器世界中以數據形式存儲,因此又稱為數據世界
數據項(field):對應實體屬性的數據單位,描述事物的某個特性
記錄(record):若干相關數據項的有序集合,描述實體
文件(file):若干記錄的集合,描述實體集
關鍵字(key):能夠唯一地標識文件中每個記錄的數據項或數據項組合,又叫關鍵碼,簡稱鍵,與實體標識符對應
物理數據是實際存放在存儲設備上的數據。
邏輯數據是程序員或用戶用以操作的數據形式,是按某種邏輯觀點看待數據的視圖。
對數據聯系的描述
實體的聯系
實體內部的聯系,反映在數據上是一個記錄內各數據項間的聯系
實體與實體間的聯系,反映在數據上是記錄與記錄間的聯系
兩個不同實體集的實體間的聯系
一對一聯系
如果實體集E1中的每個實體至多和實體集E2中的一個實體有聯系;反之,實體集E2中的每個實體至多和實體集E1中的一個實體有聯系,則稱E1和E2的聯系是一對一聯系
一對多聯系
如果實體集E1中的每個實體和實體集E2中的任意個(包括零個)實體有聯系;反之,實體集E2中的每個實體至多和實體集E1中的一個實體有聯系,則稱E1和E2的聯系是一對多聯系
多對多聯系
如果實體集E1中的每個實體和實體集E2中的任意個(包括零個)實體有聯系;反之,實體集E2中的每個實體和實體集E1中的任意個(包括零個)實體有聯系,則稱E1和E2的聯系是多對多聯系
注意:
實體間的聯系反映了實體間的語義關系
聯系本身也是實體,也可以命名,也可以有屬性。
1.3.2 實體聯系模型
信息模型是脫離計算機系統的模型。用來描述信息的結構,強調語義表達功能。比較著名的是實體聯系模型(Entity Relationship Model),簡稱ER模型。
ER圖的四個基本成分
矩形框——表示實體型
菱形框——表示聯系型
橢圓形框——表示實體型或聯系型的屬性
直線——用來連接上述三種圖框
聯系的分類
兩個不同實體型之間的聯系
兩個不同實體型之間的多種聯系
多個不同實體型之間的聯系
多個不同實體型之間的多元聯系
同一實體型內各實體間的聯系
1.3.3 結構數據模型
結構數據模型是能夠在計算機中真正實現的模型,有著嚴格的形式化定義。
結構數據模型的組成
數據結構——解決數據與聯系如何表達和實現
數據操作——實現對數據庫有檢索和更新操作
數據完整性約束——給出數據及聯系應具有的制約和依賴規則,保證數據庫中的數據的正確性。
結構數據模型的分類
層次模型
層次模型是用樹結構表示記錄型及記錄型間的聯系
層次模型中,不管記錄型還是記錄值,其組織形式都是一棵樹,都是一對多聯系的。
特點
聯系通過指針實現
檢索效率較高
查找記錄時要指定存取路徑
網狀模型
網狀模型用有向圖結構表示記錄型及記錄型間的聯系。
網狀模型的組織形式是結點的連通圖。在圖中可以有一個以上的結點無父結點,每個結點也可以有多于一個的父結點。
特點
聯系通過指針實現
檢索效率較高
程序編寫復雜
關系模型
關系模型是由若干張二維表組成的集合。
關系模式相當于一張二維表的框架,在這個框架下填入數據,稱為關系模式的一個實例,也叫關系。
關系模型是數學化的模型,對關系的任何操作都可以通過二維表的方式去理解。
面向對象模型
對象(Object)是封裝了狀態(數據)和行為(函數、程序)的實體
對象的狀態是對該對象屬性值的集合。
對象的行為是在對象狀態上操作的方法集。
類(Class)是屬性集和方法集相同的所有對象的集合
類的繼承使得數據和程序的可以重用。
多態性
多態性使每個類可以具有獨特的行為。
在面向對象模型中,所有的類構成一個有根有向無環圖,稱為類層次。
小結
基本概念:信息、數據、數據處理
數據管理技術的三個階段
數據的三種聯系方式
數據描述的兩種模型
信息模型
結構數據模型:數據結構、數據操作、數據完整性約束
關系結構數據模型
備注:
《數據庫技術基礎與應用(第2版)》的豆瓣鏈接https://book.douban.com/subject/2995584/