一、從現實世界到機器世界:
使用資料庫技術的目的就是把現實世界中存在的事物,事物之間的聯系在資料庫中用資料加以描述,記錄并對其進行各種處理,歸類可用的資訊,然後機器根據這些描述轉換為機器可用的資訊,資料庫模型設計就是這麼一個過程。

資訊的三個世界的過程是通過研究“過程和對象”,然後建立相應的關系模型來實作的。在這兩個轉換過程中,需要建立兩個模型,一個是概念模型,另一個是資料模型。
關系資料資料模型是關系資料庫(Relation Database)的基礎。它由資料庫結構,資料操作,完整性限制條件三部分組成。建立和使用關系資料庫的主要工具是SQL語言(Structured Query Language,結構化查詢語言)。
概念模型是從客戶的想法和觀點出發,結合商業規則和設計人員經驗,将現實世界的需求用更直覺的方法表達出來。常使用實體和聯系方法(Entity-Relationship Approach,E-R方法)來研究和描述邏輯模型。
E-R模型包含如下三要素:
● 實體(Entity):客觀存在并且可以互相差別的“事物”成為實體。實體可以是具體的,如一個人,一本書;也可以是抽象的如一堂課,一場球賽。
● 屬性(Attribute):描述實體的“特征”稱為該實體的屬性。如人有姓名,性别,年齡,出生日期等方面的屬性;屬性有“型”和“值”之分,型即為屬性名,值即為屬性的具體内容。如(張三豐,男,232,淳佑7年)。
● 聯系(Relationship):實體之間的聯系。用菱形表示,菱形框内寫明聯系名并用無向邊分别于有關實體聯系起來,同時在無向邊旁标注上聯系的類型或需要注意的事項。
聯系的三種類型:
◆ 一對一(1:1)類型:實體集A中的一個實體至多餘實體集B中的一個實體相對應;
◆ 一對多(1:n)類型:實體集A中的一個實體至多餘實體集B中N(N≥0)個的實體相對應;
◆ 多對多(m:n)類型:實體集A中的一個實體至多餘實體集B中N(N≥0)個的實體相對應;反之,實體集B中的一個實體至多餘實體集A中M(M≥0)個的實體相對應;
二、關系模型
關系模型是在概念模型的基礎上所建立的适用于具體資料庫實作的一種資料模型。
關系模型是目前最重要的一種資料庫模型。它是實體、屬性、關系在資料庫中的具體展現。目的是講概念模型轉換為關系模型,需要将實體映射為資料庫表,将屬性映射為資料序列,将關系映射為表和主鍵。
關系模型的資料操作:關系模型以關系代數和關系演算為數學基礎。
關系代數包括:選擇(select)、投影(projection)、連接配接(join)、除(division)、并(union)、交(intersection)、差(difference)、笛卡爾積(production)。
關系演算包括:元組關系演算和域關系演算。
關系模型的資料操作主要是查詢、插入、修改和删除資料。這些操作必須滿足關系的完整性限制條件(即實體完整性、參照完整性、使用者自定義完整性)。
三、關系資料庫的範式理論:
範式:為了保證構造的表既能準确地反應現實世界,又有利于應用和具體操作,還需要對構造的表進行規範化,常用的規範化方法就是對關系應用不同的設計範式。
目前關系資料庫有6種範式:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)、第4範式(4NF)、BCNF、第五範式(5NF)。
第一範式(1NF):是指資料庫表中的每一個列都是不可分割的基本資料項,同一列中不能有多個值;即實體的某個屬性不能具有多個值或者不能有重複的屬性。表的每一行隻包含一個執行個體資訊。例如,對于學生資訊表,不能将學生資訊都放在一列中顯示,也不能将其中的兩列或多列存入一行顯示;學生資訊表中每一行隻表示一個學生資訊,一個學生的資訊在表中隻出現一次。經過第一範式(1NF)後,資料庫表中的字段都是單一的,不可再分的。
第二範式(2NF):第二範式(2NF)是在第一範式(1NF)的基礎上建立起來的,即滿足第二範式(2NF)必須滿足第一範式(1NF)。第二範式(2NF)要求資料庫中的每個實體或者各個行必須可以被唯一區分。為實作區分各行通常需要為表加上一個列,以存儲各個實體的唯一辨別。在學生資訊表的中加上“學号”一列,每個學生的學号就是唯一的,是以每個學生可以被唯一區分。這個唯一屬性列被稱為主關鍵字或主鍵,主碼。第二範式(2NF)要求實體的屬性完全依賴主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分屬性。簡言之,第二範式就是每個非主屬性完全依賴于碼,消除非主屬性對碼的部分函數依賴。例如,在選課關系表(學号,課程号,成績,學分),關鍵字為組合關鍵字(學号,課程号),但由于非主屬性學分僅依賴于課程号,對關鍵字(學号,課程号)隻是部分依賴,而不是完全依賴,是以此種方式會導緻資料備援以及更新異常等問題,解決辦法是将其分為兩個關系模式:學生表(學号,課程号,分數)和課程表(課程号,學分),新關系通過學生表中的外關鍵字課程号聯系,在需要時進行連接配接。消除了資料備援、更新異常,插入異常和删除異常。
第三範式(3NF):第三範式(3NF)是在第二範式(2NF)的基礎上建立起來的,即滿足第二範式(3NF)必須滿足第一範式(2NF)。要求關系表不存在非關鍵字對任何一候選關鍵字列的傳遞函數依賴。簡言之,第三範式要求一個關系表中不包括已在其他表中已包含的非關鍵字資訊。所謂傳遞函數依賴,就是指如果存在關鍵字字段X決定非關鍵字段y,而非關鍵字段y決定非關系字段z,則稱非關系字段z傳遞依賴于非關系字段x。以學生表(學号,姓名,課程号,成績)為例,其中學生姓名無重名,是以該表有兩個候選碼(學号,課程号)和(姓名,課程号),故存在函數依賴:學号——>姓名,(學号,課程号)——>成績,唯一的非主屬性成績對碼不存在部分依賴,也不存在傳遞依賴,是以屬性屬于第三範式。
四、常用的關系資料庫
目前常用的關系資料庫代表有如下類型:1、Oracle資料庫,2、Microsoft SQL Server,3、Sybase,4、DB2