1數據模型與數據庫系統結構

腦子一熱,突然想考國家電網。但由於本科並不是計算機的,所以需要學習好多東西。今天在網上買了一套計算機專業的書,但還沒到,就學了一下數據庫系統概論,數據模型與數據庫系統結構。感覺路上會挺辛苦的,希望自己能堅持下來,給自己加油打氣。寫的比較亂。還不願意畫圖。特別懶的一個人兒。

數據模型:

描述事物的符號記錄稱爲數據

將從數據中獲得的有意義的內容稱爲信息

數據有一定的格式,格式的規定是數據的語法

數據的含義是數據的語義

數據是信息存在的一種形式,只有通過解釋或處理才能成爲有用的信息。

數據的靜態特徵基本結構、聯繫、約束

數據的動態特徵指對數據可以進行的操作以及操作規則。對數據庫的操作主要有查詢數據更改數據(插入、刪除和更新)

一般將對數據的靜態特徵和動態特徵的描述稱爲數據模型三要素數據結構(最基本)、數據操作、完整性約束

數據模型是對現實世界數據特徵的抽象,是數據庫系統的核心和基礎。在數據庫領域中,數據模型用於表達現實世界中的對象,即將現實世界中雜亂的信息用一種規範的、形象化的方式表達出來。數據模型不僅要面向現實世界,還要面向機器世界,因此,需滿足三個要求:能夠真實地模擬現實世界、容易被人們理解、能夠方便的在計算機上實現。數據模型是使數據和信息模型化的工具,根據模型應用的不同目的,將模型分爲兩大類:概念模型邏輯模型(還有物理模型)

概述:

概念模型:也稱信息模型,從數據的語義視角來抽取模型,按用戶的觀點對數據和信息進行建模,主要用在數據庫的設計階段,與具體的數據庫管理系統無關,與具體的實現方式無關。

邏輯模型:從數據的組織層次來描述數據,主要有層次模型、網狀模型、關係模型、面向對象模型、對象-關係模型,從計算機系統的觀點對數據進行建模,與所使用的數據庫管理系統有關。

從現實世界到機器世界的過程:

現實世界 抽象爲 信息世界(概念層模型) 轉換爲機器世界(組織層模型)描述爲現實世界

詳細:

 

概念層數據模型:是指抽象現實系統中有應用價值的元素及其關聯關係,反映現實系統中有應用價值的信息結構,並且不依賴於數據的組織層數據模型。用於對信息世界建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的工具,也是數據庫設計人員和業務領域的用戶之間進行交流的工具。概念層數據模型應該:具有較強的語義表達能力;能夠方便、直接地表達應用中的各種語義知識;簡單、清晰,易於被用戶理解。它是面向用戶、面向現實世界的數據模型,與具體的DBMS無關。常用的概念模型有:實體-聯繫模型(E-R簡單實用,得到廣泛應用,目前描述信息結構最常用的方法)、語義對象模型

實體-聯繫模型:也稱實體-聯繫方法,使用的工具稱爲E-R,描述的結果稱爲E-R模型。包括實體、屬性、聯繫

實體:具有公共性質可相互區分現實世界對象集合。在E-R圖中用矩形框表示具體的實體,把實體名寫在框內。實體中每個具體的記錄值(一行數據),稱爲實體的一個實例另外一種表達方式是將實體稱爲實體集或實體類型,而將每行具體的記錄稱爲實體

屬性:描述實體或者聯繫的性質或特徵數據項。能夠唯一標識實體的一個屬性或最小的一組屬性(稱爲屬性集或屬性組)稱爲實體的標識屬性,又稱爲實體的。用圓角矩形橢圓形表示,框內寫上屬性名,並用連線連到相應實體。

聯繫:是數據之間關聯集合,是客觀存在的應用語義鏈。一個實體內屬性之間聯繫稱爲實體內部的聯繫。不同實體之間的聯繫稱爲實體之間的聯繫。實體之間的聯繫用菱形框表示,框內寫上聯繫名,並用連線與有關的實體相連。聯繫分爲一對一聯繫(1:1一對多聯繫(1n多對多聯繫(mn

一對一聯繫:如果實體A中的每個實例在實體B中至多有一個(也可以沒有)實例與之關聯,反之亦然,則稱實體A與實體B具有一對一聯繫,記作:1:1

一對多聯繫:如果實體A與實體B之間存在聯繫,並且對於實體A中的一個實例,實體B中有多個實例與之對應;而對實體B中任意一個實例,在實體A中都只有一個實例與之對應,則稱實體A到實體B的聯繫是一對多的,記爲1n

多對多聯繫:如果實體A與實體B之間存在聯繫,並且對於實體A中的一個實例,實體B中有多個實例與之對應;而對實體B中的一個實例,在實體A中也有多個實例與之對應,則稱實體A到實體B的聯繫是多對多的,記爲mn

聯繫說明:一對一聯繫是一對多聯繫的特例,一對多聯繫又是多對多聯繫的特例。實體之間聯繫的種類與語義直接相關。

 

邏輯數據模型:從數據的組織形式的角度描述信息。在數據庫的發展過程中用到的組織層數據模型主要有層次模型(非關係模型)、網狀模型(非關係模型)、關係模型、面向對象模型、對象關係模型

 

層次模型:它是數據庫管理系統中最早出現的數據模型,層次數據庫管理系統採用層次模型作爲數據的組織形式。層次數據庫管理系統的典型代表是IBM公司的IMS,是IBM1968推出的第一個大型商用數據庫管理系統。用樹形結構表示實體和實體之間的聯繫,構成模型的樹由節點連線組成,節點表示實體,節點中的項表示實體的屬性;連線表示相連的兩個實體間的聯繫,這種聯繫是一對多的。根節點、父節點、子節點、葉節點。

層次模型的侷限性:層次模型可以方便的表示一對多的聯繫,但不能直接表示多對多聯繫,另外還有兩點限制:有且僅有一個節點無父節點,這個節點記爲樹的根;其他節點有且僅有一個父節點。當把多對多聯繫轉換爲一對多聯繫,會出現一個子節點有多個父節點的情況。解決辦法:把一個層次模型分解爲兩個層次模型。

層次模型的基本特點:任何一個給定的記錄值只有從層次模型的根部開始按路徑查看時,才能明確其含義,任何子節點都不能脫離父節點而存在。

 

網狀數據模型:若去掉層次模型中的兩點限制,即允許一個以上的節點無父節點,並且每個節點可以有多個父節點,便構成了網狀模型。它用圖形結構表示實體與實體之間的聯繫。網狀數據模型可以直接表示多對多聯繫,但實現起來太複雜,因此一些支持網狀模型的數據庫管理系統對多對多聯繫進行了限制。

關係數據模型:用關係(表格數據)表示實體與實體之間的聯繫的模型就稱爲關係數據模型。目前最重要的一種數據模型,關係數據庫採用關係數據模型作爲數據的組織方式。關係數據模型源於數學,他把數據看成二維表中的元素,而這個二維表在關係數據庫中就稱爲關係。在關係數據模型中,實體本身以及實體和實體之間的聯繫都用關係來表示,實體之間的聯繫不再通過指針來實現。在關係數據庫中,記錄值僅僅構成關係,關係之間的聯繫是靠語義相同的字段(連接字段)值表達的。

關係模型好處:易於設計、實現、維護和使用,它與層次數據模型和網狀數據模型的最根本區別是,關係數據模型不依賴於導航式的數據訪問系統,數據結構的變化不會影響對數據的訪問。

 

 

數據庫系統結構

數據模型中有‘’和‘’的概念。

模式是數據庫中全體數據的邏輯結構和特徵的描述,僅僅涉及到型的描述,不涉及具體的值。模式的一個具體值稱爲模式的一個實例。同一個模式可以有很多實例。

模式是相對穩定的,而實例是相對變化的。模式反映的是數據的結構及其聯繫,而實例反映的是數據庫某一時刻的狀態。

數據庫系統的三級模式結構外模式、模式、內模式

模式:也稱邏輯模式,是數據庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。它是數據庫系統模式結構的中間層,既不涉及數據的物理存儲細節和硬件環境,也與具體的應用程序、所使用的應用開發工具及高級程序設計語言無關。一個數據庫只有一個模式。定義模式時不僅要定義數據的邏輯結構,還要定義數據之間的聯繫,定義與數據有關的安全性、完整性要求。DBMS提供模式描述語言(模式DDL)來嚴格的定義模式。

外模式:也稱子模式用戶模式,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式通常是模式的子集一個數據庫可以有多個外模式。同一外模式可以爲某一用戶的多個應用系統所使用,但一個應用程序只能使用一個外模式。外模式是保證數據庫安全性的一個有力措施。每個用戶只能訪問外模式。DBMS提供子模式描述語言(子模式DDL)來嚴格的定義子模式。

內模式:也稱爲存儲模式一個數據庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。DBMS提供內模式描述語言(內模式DDL,或者存儲模式DDL)來嚴格的定義內模式。

 

數據庫的二級映像功能:外模式/模式映像、模式/內模式映像,保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。

外模式/模式映像:模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。對應於同一個模式可以有任意多的外模式。對於每一個外模式,數據庫系統都有一個外模式/模式映像,它定義了該外模式與模式之間的對應關係。這些映像通常包含在各自的外模式的描述中。當模式改變時,由數據庫管理員對各個映像做相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性

模式/內模式映像:唯一的,定義了數據全局邏輯結構與存儲結構之間的對應關係。當數據庫的存儲結構改變了,由數據庫管理員對映像做相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性

數據庫模式即全局邏輯結構是數據庫的中心與關鍵,它獨立於數據庫的其他層次。因此設計數據庫模式結構時應首先確定數據庫的邏輯模式

設計外模式時應充分考慮到應用的擴充性,不同的應用程序有時可以共用同一個外模式


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章