【数据库范式】 分析题第一范式
1、第一范式1NF
定義:數據庫表中的字段都是單一屬性的,不可再分。
簡單的說,每一個屬性都是原子項,不可分割。
?
1NF是關系模式應具備的最起碼的條件,如果數據庫設計不能滿足第一范式,就不稱為關系型數據庫。也就是說,只要是關系型數據庫,就一定滿足第一范式。
?
我們先來看一張不符合1NF的表1-1
| CardNo | StudentNo | StudentName | Sex | Department | CardCash | UserID | UserLevel | Time |
| 001 | 021101 | 小明 | 男 | 教育學院,心理系,1班 | 100 | Operator | 操作員 | 2011/10/03,09:00 |
?
之所以說這張表不符合1NF,是因為Department和Time字段可以再分,所以應該更改為表1-2:
| CardNo | StudentNo | StudentName | Sex | Academy | Major | class | CardCash | UserID | UserLevel | Date | Time |
| 001 | 021101 | 小明 | 男 | 教育學院 | 心理系 | 1 | 100 | Operator | 操作員 | 2011/10/03 | 09:00 |
?
--------------------------------
1.第一范式(確保每列保持原子性)
第一范式是最基本的范式。如果數據庫表中的所有字段值都是不可分解的原子值,就說明該數據庫表滿足了第一范式。
第一范式的合理遵循需要根據系統的實際需求來定。比如某些數據庫系統中需要用到“地址”這個屬性,本來直接將“地址”屬性設計成一個數據庫表的字段就行。但是如果系統經常會訪問“地址”屬性中的“城市”部分,那么就非要將“地址”這個屬性重新拆分為省份、城市、詳細地址等多個部分進行存儲,這樣在對地址中某一部分操作的時候將非常方便。這樣設計才算滿足了數據庫的第一范式,如下表所示。
上表所示的用戶信息遵循了第一范式的要求,這樣在對用戶使用城市進行分類的時候就非常方便,也提高了數據庫的性能。
?
?
?
顯然第一個表結構不但不能滿足足夠多物品的要求,還會在物品少時產生冗余。也是不符合第一范式的。
?
轉載于:https://www.cnblogs.com/viewcozy/p/4652297.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的【数据库范式】 分析题第一范式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: samtools idxstats
- 下一篇: mysql重置密码