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è)務(wù)邏輯,一般是自增的;
3、第三范式:
表中不要有冗余數(shù)據(jù),即如果表中的信息能夠被推導(dǎo)出來就不應(yīng)該單獨的設(shè)計一個字段來存放;對字段冗余性的約束,要求字段沒有冗余。
如下表所示,符合三范式要求:
student表
class表
如下表所示,不符合三范式要求:
student表
class表
反三范式案例:
一個相冊下有多個圖片,每個圖片有各自的瀏覽次數(shù),相冊有總的瀏覽次數(shù)。
相冊瀏覽表
圖片表:
如果相冊瀏覽表沒有適當?shù)娜哂啵视杏绊憽?/div>
冗余比較可以得出一個結(jié)論:1對N時,冗余應(yīng)當發(fā)生在1的一端。
posted on 2014-11-21 09:26 順其自然EVO 閱讀(633) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習專欄 、數(shù)據(jù)庫
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||