-
數據庫概念模型
鎖定
數據庫概念模型基本介紹
數據庫概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用户之間進行交流的語言。建立數據概念模型,就是從數據的觀點出發,觀察系統中數據的採集、傳輸、處理、存儲、輸出等,經過分析、總結之後建立起來的一個邏輯模型,它主要是用於描述系統中數據的各種狀態。這個模型不關心具體的實現方式(例如如何存儲)和細節,而是主要關心數據在系統中的各個處理階段的狀態。 實際上,數據流圖也是一種數據概念模型。
數據庫概念模型層次模型
若用圖來表示,層次模型是一棵倒立的樹。在數據庫中,滿足以下條件的數據模型稱之為層次模型:① 有且僅有一個結點無父結點,這個結點稱之為根結點; ② 其他結點有且僅有一個父結點。 根據層次模型的定義可以看到,這是一個典型的樹型結構。結點層次從根開始定義,根為第一層,根的子結點為第二層,根為其子結點的父結點,同一父結點的子結點稱為兄弟結點,沒有子結點的結點稱為葉結點。
層次模型的優缺點
層次模型的主要優點:
層次模型的主要缺點:
在現實世界中有很多的非層次性的聯繫,如多對多的聯繫,一個結點具有多個父結點等,層次模型表示這類聯繫的方法很笨拙、對於插入和刪除操作的限制比較多、查詢子結點必須經過父結點、由於結構嚴密,層次命令趨於程序化。
面向對象的數據庫模型
面向對象數據庫研究的另一個進展是在現有關係數據庫中加入許多純面向對象數據庫的功能。在商業應用中對關係模型的面向對象擴展着重於性能優化,處理各種環境的對象的物理表示的優化和增加SQL模型以賦予面向對象特徵。如Versant、UNISQL、O2等, 它們均具有關係數據庫的基本功能,採用類似於SQL的語言,用户很容易掌握。
其他應用
由於這些應用需求,80年代已開始出現一些面向對象數據庫的商品和許多正在研究的面向對象數據庫。多數這樣的面向對象數據庫被用於基本設計的學科和工程應用領域。
早期的面向對象數據庫
早期的面向對象數據庫由於一些特性限制了在一般商業領域裏的應用。首先同許多別的商業事務相比較,面向設計假定用户只執行有限的擴充事務;其次,商業用户要求易於使用的查詢手段,如結構查詢語言(SQL)所提供的手段。 而開發商用於商業領域的數據庫定義和操作語言未獲成功,使得它們對規模較大的應用完全無法適應。
面向對象數據庫的新產品都在試圖改變這些狀況,使得面向對象數據庫的開發從實驗室走向市場。面向對象數據庫從面向程序設計語言的擴充着手使之成為基於面向對象程序設計語言的面向對象數據庫。例如:ONTOS、ORION等,它們均是C++的擴充,熟悉C++的人均能很方便地掌握並使用這類系統。
加入純面向對象數據庫
在現有關係數據庫中加入純面向對象數據庫是面向對象數據庫研究的另一個進展是在現有關係數據庫中加入許多純面向對象數據庫的功能。在商業應用中對關係模型的面向對象擴展着重於性能優化,處理各種環境的對象的物理表示的優化和增加SQL模型以賦予面向對象特徵。如Versant、UNISQL、O2等, 它們均具有關係數據庫的基本功能,採用類似於SQL的語言,用户很容易掌握。
數據庫概念模型網狀模型
① 允許一個以上的結點無父結點;
數據庫概念模型關係模型
在數據庫中,滿足下列條件的二維表稱為關係模型:
① 每一列中的分量是類型相同的數據;
② 列的順序可以是任意的;
③ 行的順序可以是任意的;
④ 表中的分量是不可再分割的最小數據項,即表中不允許有子表;
⑤ 表中的任意兩行不能完全相同。
關係數據庫採用關係模型作為數據的組織方式。 關係數據庫因其嚴格的數學理論、使用簡單靈活、數據獨立性強等特點,而被公認為最有前途的一種數據庫管理系統。它的發展十分迅速,已成為佔據主導地位的數據庫管理系統。自20世紀80年代以來,作為商品推出的數據庫管理系統幾乎都是關係型的,例如,Oracle,Sybase,Informix,Visual FoxPro,mysql,sqlserver等。
只有滿足一定條件的關係模式,才能避免操作異常。
關係模式要滿足的條件稱為規範化形式,簡稱範式。
下面介紹四種不同程度的範式,由低級向高級:
1、第一範式(1NF)
2、第二範式(2NF)
3、第三範式(3NF)
如果關係模式R(U,F)中所有非主屬性對任何侯選關鍵字都不存在傳遞依賴,則稱關係R是屬於第三範式。記為R∈3NF。
4、BCNF