官术网_书友最值得收藏!

1.2 數據模型

數據模型(Data Model)是現實世界數據特征的抽象。它不僅反映數據本身的內容,而且要反映數據之間的聯系。

1.2.1 數據模型概述

數據模型是數據庫中數據的存儲方式,是數據庫系統的基礎。

1.數據模型概念

數據的加工是一個逐步轉換的過程,經歷了現實世界、信息世界和計算機世界3個不同的過程,經歷了兩級抽象和轉換,其示意圖如下所示。

?現實世界

現實世界是指客觀存在的事物及其相互間的聯系。現實世界中的事物有著眾多的特征和相互聯系,但人們只選擇感興趣的一部分來描述,如描述一件衣服或學生等特征。

?信息世界

信息世界是人們把現實世界的信息和聯系,通過“符號”記錄下來,然后用規范化的數據庫定義語言來定義描述而構成的一個抽象世界。

在信息世界中,不是簡單地對現實世界進行符號化,而是通過篩選、歸納、總結、命名等抽象過程產生概念模型,用以表示對現實世界的抽象與描述。

?計算機世界

計算機世界是將信息世界的內容數據化后的產物。將信息世界中的概念模型,進一步轉換成數據模型,形成便于計算機處理的數據表現形式。

2.數據模型的研究內容

數據模型的研究包括下列3個方面。

?概念數據模型

概念數據模型簡稱概念模型,是面向數據庫用戶的現實世界的模型,主要用來描述世界的概念化結構,依托計算機系統及DBMS的具體技術問題,集中精力分析數據之間的聯系等。概念數據庫模型必須換成邏輯數據模型,才能在數據庫管理系統中實現。

?邏輯數據模型

在數據庫中,用戶可以看到的數據模型,是數據庫管理系統支持的數據模型,如網狀數據模型、層次數據模型和關系數據模型3種類型。該模型既要面向用戶、又要面向系統,主要用于數據庫管理系統的實現。在數據庫中用數據模型來抽象、表示和處理現實世界中的數據和信息,主要是研究數據的邏輯結構。

?物理數據模型

物理數據模型是描述數據在存儲介質上的組織結構的數據模型,它不但與具體的數據庫管理系統相關,而且還與操作系統和硬件相關。數據庫管理系統為了保證其獨立性與可移植性,將大部分物理數據模型的實現工作交由系統自動完成,而設計者只設計索引、聚集等特殊結構。

3.數據模型的組成

數據模型是嚴格定義的一組概念的集合。是現實世界中的事物及其間聯系的一種抽象表示。通常,一個數據庫的數據模型由下列3部分組成。

?數據結構

數據結構是所研究的對象類型的集合。這些對象描述數據的類型、內容、性質和數據之間的相互關系。

數據結構是刻畫一個數據模型性質最重要的方面。在數據庫系統中通常按數據結構的類型來命名數據模型。例如,采用層次型數據結構、網狀型數據結構、關系型數據結構的數據模型分別稱為層次模型、網狀模型和關系模型。

?數據操作

數據操作是指對數據庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則。例如,數據庫中主要的操作有查詢和更新(插入、刪除、修改)兩大類。數據模型要給出這些操作確切的含義、操作規則和實現操作的語言。因此,數據操作規定了數據模型的動態特性。

?數據的約束條件

數據的約束條件是一組完整規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效和相容。

1.2.2 數據模型的分類

數據庫系統模型是指數據庫中數據的存儲結構。根據具體數據存儲需求的不同,數據庫可以使用多種類型的系統模型。而較常見的有層次模型、網狀模型和關系模型,以及表示現實復雜問題的面向對象的模型。

1.層次模型

層次模型是以“樹結構”表示數據之間的聯系,它是數據庫系統中最早使用的一種模型。

這種模型描述數據的組織形式像一棵倒置的樹,它由節點和連線組成,其中節點表示實體。樹有根、枝、葉,在這里都稱為節點,根節點只有一個,向下分支,是一種一對多的關系。例如,行政機構或家族譜的組織形式都可以看作層次模型。

此類數據庫的優點:層次分明、結構清晰、不同層次間的數據關聯直接簡單。

而它的缺點:數據將不得不以縱向向外擴展,節點之間很難建立橫向的關聯。對插入和刪除限制較多,查詢非直系的節點非常麻煩。

2.網狀模型

網狀模型以“圖結構”來表示數據之間的聯系,以網狀結構來表示實體與實體之間的聯系。

這種模型描述事物及其聯系的數據組織形式就像一張網,節點表示數據元素,節點間連線表示數據間聯系。它去掉了層次模型的兩個限制,允許多個結點沒有雙親結點,允許結點有多個雙親結點,此外它還允許兩個結點之間有多種聯系。節點之間是平等的,無上下層關系。如學校中的“教師”、“學生”、“課程”、“教室”等事物之間有聯系但無層次關系,可認為是一種網狀結構模型。

此類數據庫的優點:能很容易地反映實體之間的關聯,同時它還避免了數據的重復性。

缺點是結構比較復雜,路徑太多,當加入或刪除數據時,牽動的相關數據較多,不易維護和重建。

3.關系模型

關系型數據庫使用的存儲結構是多個二維表格,即反映事物及其聯系的數據描述是以平面表格的形式體現的。數據表與數據庫之間存在相應的關聯,這些關聯將用來查詢相關的數據。

在每個二維表中,每一行稱為一條記錄,用來描述一個對象的信息。每一列稱為一個字段,用來描述對象的一個屬性。

4.面向對象模型

面向對象數據模型能完整地描述現實世界復雜的數據結構,并具有封裝性和繼承性等面向對象技術的特點。

面向對象的數據模型基于對象(現實世界中實體的抽象)、屬性(描述對象的特性)、類(具有相同特性的對象被分組為類)、類層次(類似于一棵倒立的樹,其中每個類只有一個雙親)和繼承性(類層次中的對象繼承上層類的屬性和方法的能力)。

主站蜘蛛池模板: 宁波市| 翁牛特旗| 鄱阳县| 界首市| 惠州市| 宁国市| 桐柏县| 阿拉善右旗| 太白县| 简阳市| 泾阳县| 西宁市| 宁津县| 景东| 城口县| 绵阳市| 颍上县| 宁陕县| 兴仁县| 尼勒克县| 华宁县| 安陆市| 新巴尔虎左旗| 格尔木市| 合山市| 三河市| 三穗县| 荣成市| 唐山市| 兖州市| 敦化市| 北海市| 安新县| 竹溪县| 大邑县| 德州市| 伊川县| 奉节县| 古蔺县| 扶绥县| 中江县|