您好,登錄后才能下訂單哦!
這篇文章主要介紹了數(shù)據(jù)庫的三種模型分別是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言
數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心,本文簡要介紹三種主要的數(shù)據(jù)庫模型。
一、格式化模型
格式化模型是層次模型和網(wǎng)狀模型的統(tǒng)稱
1.層次模型
① 層次數(shù)據(jù)模型的概念
層次模型用屬性結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系
② 層次模型的數(shù)據(jù)結(jié)構(gòu)
特點(diǎn):
結(jié)點(diǎn)的雙親是唯一的;
只能直接處理一對多的實(shí)體聯(lián)系;
每個記錄類型可以定義一個排序段,也稱碼字段;
任何記錄值只有按其路徑查看時才能顯出它的全部意義;
沒有一個子女記錄值能夠脫離雙親記錄值而獨(dú)立存在。
③層次模型的數(shù)據(jù)操縱
查詢
插入
刪除
更新
④層次模型的完整性約束
無對應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn);
如果刪除雙親結(jié)點(diǎn)則相應(yīng)的子女節(jié)點(diǎn)值也被同時刪除;
更新操作時,應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性。
⑤層次模型的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰;
查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型;
層次數(shù)據(jù)模型提供了良好的完整性支持。
缺點(diǎn)
結(jié)點(diǎn)之間的多對多聯(lián)系表示不自然;
對插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜;
查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn);
層次命令趨于程序化;
2.網(wǎng)狀模型
①網(wǎng)狀模型的概念
網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式
?典型代表是DBTG系統(tǒng):
■亦稱CODASYL系統(tǒng)
■20世紀(jì)70年代由DBTG提出的一個系統(tǒng)方案
必實(shí)際系統(tǒng)
■Cullinet Software公司的IDMS
■Univac公司的DMS1100
■Honeywell公司的IDS/2
■HP公司的IMAGE
②網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)
滿足下面兩個條件的基本層次聯(lián)系的集合:
允許一個以上的結(jié)點(diǎn)無雙親;
一個結(jié)點(diǎn)可以有多于一個的雙親。
表示方法(與層次數(shù)據(jù)模型相同)
實(shí)體型:用記錄類型描述
每個結(jié)點(diǎn)表示-一個記錄類型(實(shí)體)
屬性:用字段描述
每個記錄類型可包含若千個字段
聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄類型(實(shí)體)之間的一對多的父子聯(lián)系
③網(wǎng)狀模型的操縱與完整性約束
網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加
了一些限制,提供了–定的完整性約束
■碼:唯一標(biāo)識記錄的數(shù)據(jù)項的集合
■一個聯(lián)系中雙親記錄與子女記錄之間是一-對多聯(lián)系
■支持雙親記錄和子女記錄之間某些約束條件
④網(wǎng)狀模型的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
a.能夠更為直接地描述現(xiàn)實(shí)世界,如一個結(jié)點(diǎn)可以有多個雙親
b.具有良好地性,存取效率較高
缺點(diǎn)
a.結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境地擴(kuò)大,數(shù)據(jù)庫就變得越來越復(fù)雜,不利于最終用戶掌握
b.DDL、DML語言復(fù)雜,用戶不容易使用
c.記錄之間聯(lián)系是通過存取路徑實(shí)現(xiàn)地,用戶必須了解系統(tǒng)結(jié)構(gòu)地細(xì)節(jié)
3.網(wǎng)狀模型與層次模型的區(qū)別
■網(wǎng)狀模型允許多個結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)
■網(wǎng)狀模型允許結(jié)點(diǎn)有多個雙親結(jié)點(diǎn)
■網(wǎng)狀模型允許兩個結(jié)點(diǎn)之間有多種聯(lián)系(復(fù)合聯(lián)系)
■網(wǎng)狀模型可以更直接地描述現(xiàn)實(shí)世界
■層次模型實(shí)際上是網(wǎng)狀模型的一一個特例
二、關(guān)系模型
①關(guān)系模型的概念
關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式
心970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型
計算機(jī)廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型
②關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)
在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。
關(guān)系(Relation)
●一個關(guān)系對應(yīng)通常說的一張表
元組(Tuple)
●表中的一行即為一個元組
屬性(Attribute )
●表中的一列即為一個屬性,給每–個屬性起一個名稱即屬性名
主碼(Key)
●也稱碼鍵。表中的某個屬性組,它可以唯一 確定一個元組
域(Domain )
●是一組具有相同數(shù)據(jù)類型的值的集合。屬性的取值范圍來自某個域。
分量
●元組中的一一個屬性值。
關(guān)系模式 ●對關(guān)系的描述 關(guān)系名(屬性1,屬性2,,.屬性n) 學(xué)生(學(xué)號,姓名,年齡,性別,系名,年級)
關(guān)系必須是規(guī)范的,滿足一定的約束條件
最基本的約束條件: 關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,不允許表中還有表
③關(guān)系模型的操縱與完整性約束
數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系
■查詢
■插入
■刪除
■更新
存取路徑對用戶隱蔽,用戶只要指出“千什么 ’,不必詳細(xì)說明‘ “怎么干”
關(guān)系的完整性約束條件
■實(shí)體完整性
■參照完整性
■用戶定義的完整性
④關(guān)系數(shù)據(jù)庫的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
1.建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上
2.概念單一
●實(shí)體和各類聯(lián)系都用關(guān)系來表示
●對數(shù)據(jù)的檢索結(jié)果也是關(guān)系
3.關(guān)系模型的存取路徑對用戶透明
●具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性
●簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作
缺點(diǎn)
1.存取路徑對用戶透明,查詢效率往往不如格式化數(shù)據(jù)模型
2.為提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“數(shù)據(jù)庫的三種模型分別是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。