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