計算機二級VFP備考筆記之VFP數據模型
模型是對客觀事物及其聯系的數據描述,反映實體內部和實體之間的聯系。由于采用的數據模型不同,相應的數據庫管理系統也就完全不同。在數據庫系統中,常用的數據模型有層次模型、網狀模型和關系模型3種。
1.層次模型
層次模型用樹形結構來表示實體及它們之間的聯系。在這種模型中,數據被組織成由“根”開始的“樹”,每個實體由根開始沿著不同的分支放在不同的層次上。樹中的每一個結點
代表實體型,連線則表示它們之間的關系。根據樹形結構的特點,建立數據的層次模型需要滿足兩個條件:
(1)有一個結點沒有父結點,這個結點即根結點。
(2)其他結點有且僅有一個父結點。
事實上,許多實體間的聯系本身就是自然的層次關系。如一個單位的行政機構、一個家庭的世代關系等。圖1.3是學校實體的層次模型。層次模型具有層次清晰構羹隨望、易于實現等優點。但由于受到如上所述的兩個條件的限制,它可以比較方便地表示出一對一和一對多的實體聯系,而不能直接表示出多對多的實體聯系,對于多對多的聯系,必須先將其分解為幾個一對多的聯系,才能表示出來。因而,對于復雜的數據關系,實現起來較為麻煩,這就是層次模型的局限性。
采用層次模型來設計的數據庫稱為層次數據庫。層次模型的數據庫管理系統是最早出現的數據庫系統,它的典型代表是IBM公司的IMs(Information Managenlent syst em)系統,這是世界上最早出現的大型數據庫系統。
2.網狀模型
網狀數據用以實體型為結點的有向圖來表示各實體及它們之間的聯系。其特點是:
(1)可以有一個以上的結點無父結點。
(2)至少有一個結點有多于一個的父結點。
由于樹形結構可以看成是有向圖的特例,所以網絡模型要比層次模型復雜,但它可以直接用來表示“多對多”聯系。然而由于技術上的困難,一些已實現的網狀數據庫管理系統(如DBTG)中仍然只允許處理“一對多”聯系。
在以上兩種數據模型中,各實體之間的聯系是用指針實現的。其優點是查詢速度高。但是當實體集和實體集中實體的數目都較多時(這對數據庫系統來說是理所當然的),眾多的指針使得管理工作相當復雜,對用戶來說使用也比較麻煩。
3.關系模型
關系模型與層次模型及網狀模型相比有著本質的區別,它是用二維表格來表示實體及其相互之間的聯系。在關系模型中,把實體集看成一個二維表,每一個二維表稱為一個關系。每個關系均有一個名字,稱為關系名。