關係模型與ER模型、Database & Schema & Instance ...
資料庫複習④
2016年6月15日
21:34
Main Logical Data Model(LDM) 邏輯數據模型
1.邏輯數據模型的三要素:
Data Structure 數據結構
Data Operation 數據操縱
Data Constraints 數據約束
2.關係模型的歷史
- E.F.Codd, a researcher of IBM company, proposed relational model in 1970
- Proposed the Relational-Algebra
提出關係代數
- Defined the 1st, 2nd, and 3rd Normal Forms of relational model in 197
在1972年定義第一範式(1NF),第二範式(2NF),第三範式(3NF)
- Proposed BC NF in 1974
在1974年提出BC範式(BCNF)
3.關係型資料庫
Became the mainstream of database products after 1980s
關係型資料庫在20世紀80年代成為主流資料庫產品
典型的關係型資料庫代表:
ORACLE、SQL Server、Access、DB2
4.ER模型與關係模型
- 都是對數據的一種模型
- ER模型有很多的概念
實體Entities,關係relations,屬性attributes等等
很好的滿足了應用的需求
不適合電腦處理的需求
- 關係模型
只有一個概念:關係relation
物理世界是由一些表的集合組成的
很好地滿足了電腦對數據的處理需求
5.Database & Schema & Instance 資料庫&模式&實例
學生黨一枚,通過其他的博客以及自己理解來簡單地對這三個概念進行分析。
Database即資料庫,何為資料庫,由Data和base組成,字面意思也就是存儲數據的倉庫。這樣理解是不無道理。至於為何有資料庫的存在,這就樣回到人們對數據的處理問題上來了。最開始的時候,在電腦行業能夠處理數據的人士需要很專業的知識,因此數據都是人工進行維護、拷貝和恢復的。然後在存儲介質的發展和電腦門檻的降低,以往的人工管理系統已經不能滿足人們對數據管理和處理的需求,接下來進入的是文件系統時代。通過一個一個獨立的文件來進行數據的存儲,也可以這樣理解,你自己有一首電子歌曲,你的同學也想要一份。同學可以用各種存儲介質來拷貝一份。但是對於一個企業一個公司來書,這樣數據的不斷拷貝,不僅僅耗費了大量的存儲空間同時也造成了數據的不同步。有需求才有發展,資料庫迎刃而生,通過存儲數據以及數據之間的聯繫,使用優化的存儲方式,不僅僅可以解決數據的冗餘,而且應對大數據的查詢更新等操作也是游刃有餘。至於資料庫的更多詳細解釋可以參看本人的博客園與資料庫相關的博文:伊甸一點 - 博客園
Schema即模式,當在資料庫基礎上談論模式時,我們可以理解為數據存儲的結構。舉一個例子:需要用一些木材做一個柜子,柜子有很多種了,可以是有很多抽屜的那種,也可以是一個抽屜里又分為很多的抽屜的,另外想象一下某些抽屜是和其他抽屜在時空上是相連的(這真的是很厲害了)也許這種連接可能是很多重(chong)的,一個連著一個。同時還有很多種抽屜了,或者是伸進抽屜的方向不同連接到的另外一個抽屜也不相同。對應著資料庫存儲數據結構也可以是關係資料庫,鏈式資料庫,網狀資料庫等等了。至於Schema,當和Relation一起討論時,大概可以這樣描述:Corresponds to the programming language concept of type definition。舉一個程式的例子:String movie = "Spiderman". 在這裡string 也就算是Schema。
Instance即實例,對於瞭解面向對象編程的程式員來說,實例這個東西真的不算陌生了。簡單的就可以是Object obj = new object(). 開玩笑的舉這樣的例子:程式猿找不到“對象”,身邊的小伙伴們也許會對他說,自己構造一個吧。在這裡的構造也就是通過自己寫了一些類(至於什麼是類,就不想在此描述了,可以理解為一個加工廠吧,裡面抽象了屬性和動作)。通過這些類來構造自己的”對象“。可以初始化為”164cm“ ”C“ balabala...也就是這樣子的。當其和模式掛鉤之後,可以視為是記錄下來了一些數值,比如關係資料庫,在關係資料庫中表的實例也就是一列的數值。
學生黨一枚,難免會有解釋不當或者錯誤的地方還請寬恕。