- Visual FoxPro程序設計教程(第3版)
- 劉瑞新 汪遠征 曹歡歡等
- 1483字
- 2020-05-28 17:19:53
1.2 數據模型
在現實世界中,事物和事物之間是存在聯系的,這種聯系是客觀存在的,是由事物本身的性質所決定的。例如,學校教學系統中的教師、學生、課程、成績等都是相互關聯的。通常把表示客觀事物及其聯系的數據及結構稱為數據模型。
1.2.1 基本概念
1.實體
客觀存在并且可以相互區別的事物稱為實體。實體可以是實際的事物,如教師、職工、部門、單位等;也可以是抽象的事件,如比賽、訂貨、選修課程等。
2.實體集
實體集是具有相同類型及相同性質(或屬性)實體的集合,例如某個學校的所有學生的集合可以被定義為實體集Students。
3.屬性
實體通過一組屬性來表示,屬性是實體集中每個成員具有的描述性性質。將一個屬性賦予某實體集表明數據庫為實體集中每個實體存儲相似的信息,例如學生可以用學號、姓名、性別、出生日期等屬性描述。但對每個屬性來說,各實體有自己的屬性,即屬性被用來描述不同實體間的區別。
4.聯系
實體之間的對應關系稱為聯系,它反映了現實事物之間的相互聯系,例如,一位學生可以選學多門課程;一個部門中可以有多個職工。
1.2.2 實體之間的聯系
聯系可以歸納為以下3類。
1.一對一的聯系
若對于實體集A中的每一個實體,都有實體集B中唯一的一個實體與之聯系,則稱實體集A與實體集B具有一對一的聯系。例如,一個部門有一個經理,而每個經理只在一個部門任職,則部門和經理之間具有一對一的聯系。
2.一對多的聯系
若對于實體集A中的每一個實體,實體集B中有n(n>;0)個實體與之聯系,反之,對于實體集B中的每個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B具有一對多的聯系。例如,一個部門有若干名職工,而每名職工只在一個部門工作,則部門與職工之間是一對多的聯系。
3.多對多的聯系
若對于實體集A中的每一個實體,實體集B中有n(n>;0)個實體與之聯系,反之,對于實體集B中的每個實體,實體集A中也有m(m>;0)個實體與之聯系,則稱實體集A與實體集B具有多對多的聯系。例如,學生和選修課程的聯系,某個學生可以選修多門課程,某門選修課程也可以被多名學生選修。
1.2.3 數據模型簡介
數據庫中的數據從整體來看是有結構的,即所謂數據的結構化。各實體以及實體間存在的聯系的集合稱為數據模型,數據模型的重要任務之一就是指出實體間的聯系。按照實體集間的不同聯系方式,數據庫分為3種數據模型:層次型、網絡型和關系型。
1.層次模型
層次模型的結構是樹結構,樹的節點是實體,樹的枝是聯系,從上到下為一對多的聯系。每個實體由“根”開始沿著不同的分支放在不同的層次上。如果不再向下分支,則此分支中最后的節點稱為“葉”。圖1-1所示為某系的機構設置,“根”節點是系,“葉”結點是各位教師。

圖1-1 樹結構與層次模型
支持層次模型的數據庫管理系統稱為層次數據庫管理系統,其中的數據庫稱為層次數據庫。
2.網狀模型
用網形結構表示實體及其之間聯系的模型稱為網狀模型。在網狀模型中,每一個節點代表一個實體,并且允許節點有多于一個的“父”節點。這樣網狀模型代表了多對多的聯系類型,如圖1-2所示。

圖1-2 網形結構與網狀模型
支持網狀模型的數據庫管理系統稱為網狀數據庫管理系統,其中的數據庫稱為網狀數據庫。
3.關系模型
關系模型是以數學理論為基礎構造的數據模型,它用二維表格來表示實體集中實體之間的聯系。在關系模型中,操作的對象和結果都是二維表(即關系),表格與表格之間通過相同的欄目建立聯系。
關系模型有很強的數據表示能力和堅實的數學理論,且結構單一,數據操作方便,最易被用戶接受,以關系模型建立的關系數據庫是目前應用最廣泛的數據庫。由于關系數據庫的許多優秀功能,層次數據庫和網狀數據庫均已失去其重要性。
- Spring Boot 2實戰之旅
- C# 7 and .NET Core Cookbook
- Magento 2 Theme Design(Second Edition)
- 深入淺出Windows API程序設計:編程基礎篇
- Python數據可視化之Matplotlib與Pyecharts實戰
- Yocto for Raspberry Pi
- Julia for Data Science
- Kivy Cookbook
- UML2面向對象分析與設計(第2版)
- After Effects CC案例設計與經典插件(視頻教學版)
- jQuery Mobile Web Development Essentials(Second Edition)
- SQL Server 2008實用教程(第3版)
- HikariCP數據庫連接池實戰
- Visual C++程序設計全程指南
- Java EE框架開發技術與案例教程