天天看點

資料庫設計

考點:

資料模型、主鍵和超鍵、E-R模型轉換為關系模型、SQL語句……

資料庫模式:概念模式、外模式、内模式

資料模型:E-R圖、​​第一範式、第二範式、第三範式​​

資料操作:集合運算、關系運算

資料庫語言:SQL語言

資料庫控制功能:并發控制、恢複、安全性、完整性

資料倉庫、分布式資料庫

資料庫的邏輯設計、實體設計

​​關系資料庫與非關系資料庫​​:​​其他​​

​​面向對象資料庫​​ :​​概念​​

​​網狀資料庫​​

​​層次資料庫​​

​​空間資料庫​​

​​演繹資料庫​​

多媒體資料庫

聯系類型:

  (1)1:1  一對一

  (2)1:n 一對多

  (3)n:1 多對一

  (4)m:n 多對多

聯系的判斷:

  屬性||文字

關系模式主要問題:

  (1)資料備援問題

  (2)資料修改不一緻問題

關系模型的邏輯結構:

  是一組關系模式的集合

​​E-R圖​​、實體聯系圖:功能、實體

  實體+實體的屬性+實體之間的聯系,三個要素組成。

  ​​轉換為關系模型​​:

    将實體、實體的屬性、實體之間的聯系,轉換為關系模式。

    (1)一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的​​候選碼​​。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯系本身的屬性。

    (2)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。

    (3)一個m:n聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體碼的組合組成該關系的碼,或碼的一部分。

    (4)​​三個或三個以上實體間的一個多元聯系可以轉換為一個關系模式​​。與該多元聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。

    (5)具有相同碼的關系模式可合并。

    ​​javascript:void(0)​​

 實體與屬性

  遵循的原則:

    (1)“屬性”必須是不可再分的資料項,不能具有需要描述的性質

    (2)“屬性”不能與其他實體有聯系

沖突

1.屬性沖突            

  (1)   屬性域沖突,即屬性值的類型、取值範圍或取值集合不同。 例如:屬性“零件号”有的定義為字元型,有的為數值型。 

  (2)   屬性取值機關沖突。   例如:屬性“重量”有的以克為機關,有的以公斤為機關。 

2.命名沖突          

  (1)   同名異義。                       不同意義對象相同名稱。 

  (2)   異名同義(一義多名)。同意義對象不相同名稱。“項目”和“課題” 

3.結構沖突     

  (1)   同一對象在不同應用中具有不同的抽象。例如 "課程 "在某一局部應用中被當作實體,而在另一局部應用中則被當作屬性。 

  (2)   同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 

  (3)   實體之間的聯系在不同局部視圖中呈現不同的類型。 

  例如實體E1與E2在局部應用A中是多對多聯系,而在局部應用B中是一對多聯系;又如在局部應用X中E1與E2發生聯系,而在局部應用Y中E1、E2、E3三者之間有聯系。 

  解決方法是根據應用的語義對實體聯系的類型進行綜合或調整。 

資料庫規範化:如果資料庫沒有進行相應的規範設計,雖然在查詢資料庫可能會比較容易,但有時會造成一些問題,主要的問題如下:

  1.資訊重複(會造成儲存空間的浪費及一些其他問題).

  2.更新異常(備援資訊不僅浪費空間,還會增加更新的難度).

  3.插入異常

  4.删除異常(在某些情況下,當删除一行時,可能會丢失有用的資訊).

三大範式

1.第一範式:

  目标是確定每列的原子性.如果每列都是不可再分的最小資料單元,則滿足第一範式.

2.第二範式:

  第二範式在第一範式的基礎上更進一層,其目标是確定表中的每列都和主鍵相關,也就是說在一個資料庫表中,一個表中隻能儲存一種資料,不可以把多種資料儲存在同一張資料庫表中.如果一個關系滿足第一範式,并且除了主鍵以外的其他列都依賴與該主鍵.則滿足第二範式.

3.第三範式:

  第三範式在第二範式的基礎上更進一層,第三範式的目标是確定每列都和主鍵列直接相關,而不是間接相關.如果一個關系滿足第二範式,并且除了主鍵以外的其他列都這能依賴于主鍵列,列和列之間不存在互相依賴關系,則滿足第三範式.

規範性和性能的關系:為了滿足三大範式,我們的資料操作性能會受到相應的影響,是以,在實際的資料庫設計中,既要考慮三大範式,避免資料的備援和各種資料操作異常;有要考慮到資料通路性能,有時,為了減少表間連接配接,提高資料庫的通路性能,允許适當的資料備援列,這可能是最合适的資料庫設計方案.

主鍵:

  如果存在某個屬性、屬性組合能夠唯一辨別該關系的元組,則這個屬性、屬性組合成為該關系的候選關鍵字。

  可在一個關系的若幹個候選關鍵字中随意指定一個作為關鍵字。

  這個關鍵字成為該關系的主鍵、主碼。

外鍵:

  關系模式R中中屬性或屬性組X并非R的鍵,但是X是另一個關系模式的鍵,則成X是R的外鍵。

屬性組:

  注意是否多寫,&&

​​關系代數運算​​:

  ​​除​​

  ​​笛卡爾積、等值連接配接、自然連接配接的聯系與差別​​

關系模式:

  ​​資料庫閉包和候選碼求解方法​​

  模式分解:​​無損連接配接​​

  ​​候選關鍵字​​

SQL語句:

  列名 類型 primary key;

  foreign key(列名)references 表名

  count(*)  ;sum(列名)  ;avg(列名)

  group by 列名 having 條件

  existes與in的差別:​​javascript:void(0)​​

  表關聯查詢時,表之間的聯系必須在where語句中。 例如:  A.no=B.no

  嵌套語句select中,屬性不能缺少

  group 語句中,select中的屬性不能少

  兩個not existes:可以表示&&,或者非非得正

資料插入:

  1.題幹條件

  2.主鍵:唯一辨別符,不能重複

  2.外鍵:對應關系主碼,可為null(允許為空)&&題幹條件

上一篇: 資料庫設計
下一篇: 資料庫設計