Oracle使用powerDesigner進行資料庫設計
1>一對多的關係 表結構 在多的一方 新增一的一方的主鍵 當做外檢
-- 比如 班級和學生是一對多的關係 班級是一的一方 學生是多的一方 應該在學生的表中一家班級表的主鍵作為外檢
2> 一對一的關係 表結構是在雙方的表中都新增對方的主鍵作為外檢 並且給外檢新增唯一索引
舉例 使用者表
id name carid
1 張三 1
身份表
id carid userid
1 444334343434 1
3>多對多的關係 表結構是新增一張中間表 中間中存在雙方的主鍵作為雙主鍵
使用者表
用id 使用者名稱
1 scott
2 hr
3 sys
角色id 角色名稱
1 dba
2 connect
3 sys_operate
使用者角色中間表
使用者id 角色id
3 1
3 2
3 3
1 2
2 1
二 三大正規化
--第一正規化 是針對於單列來說 如果列是相對來說不可拆分的最小單位 說明滿足第一正規化
--第二正規化 是針對於多列來說 一個表只能做一件事情 也就是說所以的列必須依賴主鍵
--第三正規化 所有的列 必須直接依賴主鍵 不能間接依賴
一般資料庫的設計 只需要滿足 第一和第二正規化
產生了冗餘 不滿足第三正規化 但是對於解決大資料量的關聯問題 有很大的優化空間