MySQL數(shù)據(jù)庫優(yōu)化技術(shù)之數(shù)據(jù)庫表的設(shè)計
三范式介紹
表的范式:只有符合的第一范式,才能滿足第二范式,進一步才能滿足第三范式。
1、第一范式:
表的列具有原子性,不可再分解。只要是關(guān)系型數(shù)據(jù)庫都自動滿足第一范式。
數(shù)據(jù)庫的分類:
關(guān)系型數(shù)據(jù)庫:MySQL/ORACLE/Sql Server/DB2等
非關(guān)系型數(shù)據(jù)庫:特點是面向?qū)ο蠡蛘呒?/div>
主站蜘蛛池模板:
瑞安市|
托克逊县|
台山市|
文化|
扎鲁特旗|
蕉岭县|
阳信县|
云龙县|
西吉县|
永兴县|
余庆县|
贺兰县|
长海县|
黑龙江省|
攀枝花市|
五大连池市|
栖霞市|
凤台县|
厦门市|
高阳县|
思茅市|
会同县|
长乐市|
台安县|
昭平县|
玉环县|
和田市|
丹东市|
竹溪县|
广平县|
张家界市|
太湖县|
镇康县|
陵川县|
封开县|
马公市|
嘉荫县|
芦溪县|
桦川县|
肇州县|
微博|
nosql數(shù)據(jù)庫:MongoDB(特點是面向文檔)
2、第二范式:
表中的記錄是唯一的,就滿足第二范式。通常我們設(shè)計一個主鍵來實現(xiàn)。
主鍵一般不含業(yè)務邏輯,一般是自增的;
3、第三范式:
表中不要有冗余數(shù)據(jù),即如果表中的信息能夠被推導出來就不應該單獨的設(shè)計一個字段來存放;對字段冗余性的約束,要求字段沒有冗余。
如下表所示,符合三范式要求:
student表
class表
如下表所示,不符合三范式要求:
student表
class表
反三范式案例:
一個相冊下有多個圖片,每個圖片有各自的瀏覽次數(shù),相冊有總的瀏覽次數(shù)。
相冊瀏覽表
圖片表:
如果相冊瀏覽表沒有適當?shù)娜哂啵视杏绊憽?/div>
冗余比較可以得出一個結(jié)論:1對N時,冗余應當發(fā)生在1的一端。
posted on 2014-11-21 09:26 順其自然EVO 閱讀(633) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、數(shù)據(jù)庫
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||