国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

三大范式

2024-07-21 02:51:23
字體:
來源:轉載
供稿:網友

第一范式:

強調的是列的原子性,即列不能夠再分成其他幾列,考慮這樣一個表,【聯系人】(姓名,性別,電話) ,但是這里的聯系人還能再進行分解,即表中還有表,可以再創建一個聯系人表來進行解決。

第二范式

在第一范式的基礎上,還需要表中必須存在主鍵,同時當主鍵為復合主鍵的時候,其余的非主屬性類,必須完全依賴于主鍵,不能只依賴主鍵中的一部分。

考慮一個訂單明細表:【OrderDetail】(OrderID,PRoductID,UnitPrice,Discount,Quantity,ProductName)。 因為我們知道在一個訂單中可以訂購多種產品,所以單單一個 OrderID 是不足以成為主鍵的,主鍵應該是(OrderID,ProductID)。顯而易見 Discount(折扣),Quantity(數量)完全依賴(取決)于主鍵(OderID,ProductID),而 UnitPrice,ProductName 只依賴于 ProductID。所以 OrderDetail 表不符合 2NF。不符合 2NF 的設計容易產生冗余數據。 可以把【OrderDetail】表拆分為【OrderDetail】(OrderID,ProductID,Discount,Quantity)和【Product】(ProductID,UnitPrice,ProductName)來消除原訂單表中UnitPrice,ProductName多次重復的情況。

第三范式:

在第二屬性的基礎上,非主屬性不能對主鍵存在傳遞依賴,即就是非主屬性A依賴非主屬性B,非主屬性B依賴于主鍵,考慮一個訂單表【Order】(OrderID,OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity)主鍵是(OrderID)。 其中 OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity 等非主鍵列都完全依賴于主鍵(OrderID),所以符合 2NF。不過問題是 CustomerName,CustomerAddr,CustomerCity 直接依賴的是 CustomerID(非主鍵列),而不是直接依賴于主鍵,它是通過傳遞才依賴于主鍵,所以不符合 3NF。 通過拆分【Order】為【Order】(OrderID,OrderDate,CustomerID)和【Customer】(CustomerID,CustomerName,CustomerAddr,CustomerCity)從而達到 3NF。 第二范式(2NF)和第三范式(3NF)的概念很容易混淆,區分它們的關鍵點在于,2NF:非主鍵列是否完全依賴于主鍵,還是依賴于主鍵的一部分;3NF:非主鍵列是直接依賴于主鍵,還是直接依賴于非主鍵列。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: SHOW| 穆棱市| 乐陵市| 阿克| 金乡县| 射阳县| 揭阳市| 安溪县| 新密市| 莲花县| 酒泉市| 东安县| 黔西| 常山县| 湖北省| 武邑县| 灵宝市| 武陟县| 德兴市| 海盐县| 驻马店市| 虹口区| 灌南县| 平顶山市| 泸溪县| 克山县| 凉山| 县级市| 樟树市| 上思县| 天等县| 奉贤区| 汝南县| 开平市| 应城市| 高淳县| 剑阁县| 延寿县| 鄯善县| 甘谷县| 南汇区|