多张表的数据库设计
模式(SCHEMA)是對數據庫內的數據描述(列和表),以及任何相關對象和各種連接方式的描述。
1 外鍵
外鍵是表中的某一列,它引用用另一個表的主鍵
關于外鍵:
(1)外鍵可能與它引用的主鍵名稱不同
(2)外鍵使用的主鍵也稱為父鍵,主鍵所在的表又稱為父表
(3)外鍵能用于確認一張表中的行與另一表中的行相對應
(4)外鍵的值可以值NULL,即使主鍵值不可為NULL
(5)外鍵值不需要唯一,事實上,外鍵通常不唯一
外鍵為NULL,表示在父表中沒有相符的主鍵,要確認外鍵包含意義、已存儲在父表中,可以通過約束實現。
插入外鍵列的值必須已經存在父表的來源表中,這是引用完整性。
創建外鍵的方法:
方法一:
方法二:
alter table TABLE_NAME add constraint FK_TABLE_NAME foreign key (AA) references TABLE_NAME2 (AA);2 表與表之間的關系
表間的關系:一對一、多對一、多對多
連接表(junction table):遇到多對多關系,可以在中間新建表以滿足范式的要求,減少重復數據。
組合鍵由多個列組成的主鍵。
3 函數依賴
當某列的數據必須隨著另一列的數據的改變而改變時,表示第一列函數依賴于第二列。
T.x→T.y?表示在關系表T?中,y 列函數依賴于x?<script id="MathJax-Element-741" type="math/tex">x</script>列
部分函數依賴指非主鍵的列依賴于組合主鍵的某個部分(但不是完全依賴于組合主鍵)
傳遞函數依賴指如果改變任何非鍵列可能造成其他列的改變
4 范式
第一范式(1NF)
規則1:每個數據行必須包含具有原子性的值
規則2:每個數據行必須有獨一無二的識別項——主鍵
第二范式(2NF)
規則1:先符合1NF
規則2:沒有部分函數依賴性
只要所有列都是主鍵的一部分或者表中有唯一主鍵列符合1NF的表也符合2NF
第三范式(3NF)
規則1:符合2NF
規則2:沒有傳遞函數依賴性
總結
- 上一篇: 第四章 数据的概括性度量
- 下一篇: 小米小说怎么样?小米小说阅读器功能评测