VFP數(shù)據(jù)模型
模型是對客觀事物及其聯(lián)系的數(shù)據(jù)描述,反映實體內(nèi)部和實體之間的聯(lián)系。由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)也就完全不同。在數(shù)據(jù)庫系統(tǒng)中,常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型3種。
1.層次模型
層次模型用樹形結(jié)構(gòu)來表示實體及它們之間的聯(lián)系。在這種模型中,數(shù)據(jù)被組織成由“根”開始的“樹”,每個實體由根開始沿著不同的分支放在不同的層次上。樹中的每一個結(jié)點
代表實體型,連線則表示它們之間的關(guān)系。根據(jù)樹形結(jié)構(gòu)的特點,建立數(shù)據(jù)的層次模型需要滿足兩個條件:
(1)有一個結(jié)點沒有父結(jié)點,這個結(jié)點即根結(jié)點。
(2)其他結(jié)點有且僅有一個父結(jié)點。
事實上,許多實體間的聯(lián)系本身就是自然的層次關(guān)系。如一個單位的行政機構(gòu)、一個家庭的世代關(guān)系等。圖1.3是學(xué)校實體的層次模型。層次模型具有層次清晰構(gòu)羹隨望、易于實現(xiàn)等優(yōu)點。但由于受到如上所述的兩個條件的限制,它可以比較方便地表示出一對一和一對多的實體聯(lián)系,而不能直接表示出多對多的實體聯(lián)系,對于多對多的聯(lián)系,必須先將其分解為幾個一對多的聯(lián)系,才能表示出來。因而,對于復(fù)雜的數(shù)據(jù)關(guān)系,實現(xiàn)起來較為麻煩,這就是層次模型的局限性。
采用層次模型來設(shè)計的數(shù)據(jù)庫稱為層次數(shù)據(jù)庫。層次模型的數(shù)據(jù)庫管理系統(tǒng)是最早出現(xiàn)的數(shù)據(jù)庫系統(tǒng),它的典型代表是IBM公司的IMs(Information Managenlent syst em)系統(tǒng),這是世界上最早出現(xiàn)的大型數(shù)據(jù)庫系統(tǒng)。
2.網(wǎng)狀模型
網(wǎng)狀數(shù)據(jù)用以實體型為結(jié)點的有向圖來表示各實體及它們之間的聯(lián)系。其特點是:
(1)可以有一個以上的結(jié)點無父結(jié)點。
(2)至少有一個結(jié)點有多于一個的父結(jié)點。
由于樹形結(jié)構(gòu)可以看成是有向圖的特例,所以網(wǎng)絡(luò)模型要比層次模型復(fù)雜,但它可以直接用來表示“多對多”聯(lián)系。然而由于技術(shù)上的困難,一些已實現(xiàn)的網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)(如DBTG)中仍然只允許處理“一對多”聯(lián)系。
在以上兩種數(shù)據(jù)模型中,各實體之間的聯(lián)系是用指針實現(xiàn)的。其優(yōu)點是查詢速度高。但是當(dāng)實體集和實體集中實體的數(shù)目都較多時(這對數(shù)據(jù)庫系統(tǒng)來說是理所當(dāng)然的),眾多的指針使得管理工作相當(dāng)復(fù)雜,對用戶來說使用也比較麻煩。
3.關(guān)系模型
關(guān)系模型與層次模型及網(wǎng)狀模型相比有著本質(zhì)的區(qū)別,它是用二維表格來表示實體及其相互之間的聯(lián)系。在關(guān)系模型中,把實體集看成一個二維表,每一個二維表稱為一個關(guān)系。每個關(guān)系均有一個名字,稱為關(guān)系名。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |