《數(shù)據(jù)庫模型-數(shù)據(jù)結(jié)構(gòu)-網(wǎng)狀模型》要點(diǎn):
本文介紹了數(shù)據(jù)庫模型-數(shù)據(jù)結(jié)構(gòu)-網(wǎng)狀模型,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
我們上次聊了數(shù)據(jù)結(jié)構(gòu)的層次模型,本日看下結(jié)構(gòu)的網(wǎng)狀模型.
網(wǎng)狀模型:用網(wǎng)絡(luò)結(jié)構(gòu)表現(xiàn)實(shí)體類型及其實(shí)體之間聯(lián)系的模型,顧名思義,一個(gè)事物和另外的幾個(gè)都有聯(lián)系這樣構(gòu)成一張網(wǎng)狀圖.
(1)容許有一個(gè)以上的節(jié)點(diǎn)無雙親.
(2)至少有一個(gè)節(jié)點(diǎn)可以有多于一個(gè)的雙親.
網(wǎng)狀模型中每個(gè)結(jié)點(diǎn)表示一個(gè)記錄型(實(shí)體),每個(gè)記錄型可包括若干個(gè)字段(實(shí)體的屬性),結(jié)點(diǎn)間的連線表示記錄類型(實(shí)體)間的父子關(guān)系.
從定義可以看出,層次模型中子結(jié)點(diǎn)與雙親結(jié)點(diǎn)的聯(lián)系是唯一的,而在網(wǎng)狀模型中這種聯(lián)系可以不惟一.因此,在網(wǎng)狀模型中要為每個(gè)聯(lián)系命名,并指出與該聯(lián)系有關(guān)的雙親記錄和子記錄.
實(shí)體型:用記錄類型描述
每個(gè)結(jié)點(diǎn)表述一個(gè)記載類型(實(shí)體);
屬性:用字段描述,每個(gè)記錄類型包括若干個(gè)字段;
聯(lián)系:用結(jié)點(diǎn)之間的連線表現(xiàn)記錄類型(實(shí)體)之間的一對(duì)多的父子關(guān)系;
網(wǎng)狀模型與條理模型的區(qū)別:
網(wǎng)狀模型:允很多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn);
容許結(jié)點(diǎn)有多個(gè)雙親;
允許兩個(gè)結(jié)點(diǎn)有多種接洽(復(fù)合接洽);
可以更直接的去描寫現(xiàn)實(shí)世界;
條理模型是網(wǎng)狀模型的一個(gè)特例.
要為每個(gè)聯(lián)系定名(L1、L2),并指出該聯(lián)系相關(guān)的雙親記錄和子女記錄.
用網(wǎng)狀模型表現(xiàn)多對(duì)多的關(guān)系
辦法:將多對(duì)多直接分解成一對(duì)多的聯(lián)系
4、 舉例:學(xué)生選課模子
它由3個(gè)數(shù)據(jù)項(xiàng)組成,即學(xué)號(hào)、課程號(hào)、成績,表現(xiàn)某個(gè)學(xué)生選修某一門課程及其成績.
每個(gè)學(xué)生可以選修多門課程.顯然對(duì)付學(xué)生記錄中的一個(gè)值,選課記錄中可以有多個(gè)值與之聯(lián)系.而選課記錄中的一個(gè)值,只能與學(xué)生記錄中的一個(gè)值聯(lián)系.學(xué)生與選課之間的聯(lián)系是一對(duì)多的聯(lián)系,聯(lián)系名為學(xué)生-選課.同樣,課程與選課之間的聯(lián)系也是一對(duì)多的聯(lián)系,聯(lián)系名為課程-選課.
網(wǎng)狀模型的數(shù)據(jù)操作主要包括查詢、插入、刪除和更新:
插入:插入尚未肯定雙親結(jié)點(diǎn)值的子結(jié)點(diǎn)值;
刪除:只允許刪除雙親結(jié)點(diǎn)值.如可刪除一個(gè)教研室,而該科研室所有教師的信息仍保存在數(shù)據(jù)庫中.
修改:可直接表示非樹狀結(jié)構(gòu),而無須像層次模型那樣增加冗余結(jié)點(diǎn),因此修改操作時(shí)只必要指定更新記錄即可.
網(wǎng)狀數(shù)據(jù)系統(tǒng)(DBTG)對(duì)數(shù)據(jù)加了一些限制,提供了必定的完整性約束:
碼:唯一標(biāo)識(shí)記載的數(shù)據(jù)項(xiàng)集合;
一個(gè)聯(lián)系中雙親記錄和后代記錄是一對(duì)多的關(guān)系;
支持雙親記錄和后代記錄之間的某些約束性條件;
癥結(jié):實(shí)現(xiàn)記錄聯(lián)系;
常用辦法:單向、雙向、環(huán)向、向首鏈接;
網(wǎng)狀數(shù)據(jù)模型的長處如下:
(1) 能夠更為直接地描述現(xiàn)實(shí)客觀世界,可表現(xiàn)實(shí)體間的多種復(fù)雜聯(lián)系.
(2) 具有優(yōu)越的性能,存取效率較高.
網(wǎng)狀數(shù)據(jù)模型的毛病如下:
(1) 結(jié)構(gòu)比擬復(fù)雜,其數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)復(fù)雜,用戶不容易使用.而且應(yīng)用環(huán)境越大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越復(fù)雜,不利于最終用戶掌握.
(2) 數(shù)據(jù)獨(dú)立性差,由于實(shí)體間的聯(lián)系本質(zhì)上是通過存取路徑表示的,因此應(yīng)用程序在拜訪數(shù)據(jù)時(shí)要指定存取路徑.
以上,相識(shí)下~
歡迎參與《數(shù)據(jù)庫模型-數(shù)據(jù)結(jié)構(gòu)-網(wǎng)狀模型》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10702.html