- Visual FoxPro程序設(shè)計
- 黃玲芳 劉建蘭主編
- 595字
- 2019-07-25 11:48:21
1.2 數(shù)據(jù)模型
數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。為了把現(xiàn)實世界中的具體事物抽象組織為數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù),首先要把現(xiàn)實世界中的客觀對象抽象為某種信息結(jié)構(gòu)。這種信息結(jié)構(gòu)不依賴于具體的計算機系統(tǒng),即概念模型,然后把概念模型轉(zhuǎn)換為計算機中某一數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型。數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型3種。
1.層次模型
層次模型用樹型結(jié)構(gòu)來表示實體及其之間的聯(lián)系,在層次模型中數(shù)據(jù)被組織為倒掛的樹,如圖1-1所示為學(xué)校行政機構(gòu)層次模型。

圖1-1 學(xué)校行政機構(gòu)層次模型
層次模型的特點如下。
(1)有且只有一個節(jié)點沒有父節(jié)點,這個節(jié)點就是根節(jié)點。
(2)其他節(jié)點有且僅有一個父節(jié)點。
2.網(wǎng)狀模型
廣義地講,任意一個連通的基本層次聯(lián)系的集合是一個網(wǎng)狀模型。這種廣義的提法把樹也包括在網(wǎng)狀中,在數(shù)據(jù)庫中則把樹結(jié)構(gòu)排除在網(wǎng)狀模型之外。
網(wǎng)狀模型的特點如下。
(1)有一個以上的節(jié)點沒有雙親。
(2)節(jié)點可以有多于一個的雙親。
如圖1-2所示為圖書借閱網(wǎng)狀模型。

圖1-2 圖書借閱網(wǎng)狀模型
3.關(guān)系模型
在日常使用數(shù)據(jù)時我們習(xí)慣用表格來表示,由行與列構(gòu)成的二維表在數(shù)據(jù)庫理論中稱為“關(guān)系”。用關(guān)系表示的數(shù)據(jù)模型稱為“關(guān)系模型”,它與層次模型、網(wǎng)狀模型有本質(zhì)區(qū)別,在關(guān)系模型中用二維表來表示實體和聯(lián)系。關(guān)系不僅可以表示實體間一對多的聯(lián)系,通過創(chuàng)建關(guān)系間的關(guān)聯(lián),還可以表示多對多的聯(lián)系。表1-1所示為一個職工關(guān)系。
表1-1 職工關(guān)系

- Mobile Application Development:JavaScript Frameworks
- 企業(yè)級Java EE架構(gòu)設(shè)計精深實踐
- Building a Home Security System with Raspberry Pi
- Three.js開發(fā)指南:基于WebGL和HTML5在網(wǎng)頁上渲染3D圖形和動畫(原書第3版)
- 數(shù)據(jù)庫系統(tǒng)原理及MySQL應(yīng)用教程
- Mastering PHP Design Patterns
- ADI DSP應(yīng)用技術(shù)集錦
- MATLAB for Machine Learning
- Java程序設(shè)計入門
- Python程序設(shè)計與算法基礎(chǔ)教程(第2版)(微課版)
- Julia High Performance(Second Edition)
- 計算機應(yīng)用基礎(chǔ)案例教程(第二版)
- Swift 2 Design Patterns
- Java EE 程序設(shè)計
- SQL Server 2014數(shù)據(jù)庫設(shè)計與開發(fā)教程(微課版)