Heim > Datenbank > MySQL-Tutorial > 【DAO】数据库三范式说明

【DAO】数据库三范式说明

WBOY
Freigeben: 2016-06-07 15:29:37
Original
1476 Leute haben es durchsucht

************************************************************************ ****原文: blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************ 第一范式: 概况为列的唯一性,不能有重复的列(

************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************

 

第一范式:  概况为列的值唯一性,不能有重复的列值(必须遵守);

反面例子:

名字           联系方式(字符串类型)

xxx             12345abc@163.com

xxx             bcd@163.com

xxx             12345;67890;def@163.com

危害性:为垃圾数据,无法删除,无法修改;

正确的设计方法:

                   名字         电话1      电话2      电话3      电话4      邮箱

第二范式, 属性完全依赖于主键(必须遵守

n  必须满足第一范式

n  必须有主键

n  其他列必须完全依赖于主键

错误的建表方法:

编号         姓名      性别         专业      专业课时

100            xxx           m               java           600

200            xxx             f                 java           700

 

违反范式2的是另外一种含义,将两个实体放在同一个表中,不方便其中一个实体数据的单独维护

编号         姓名      性别         专业      专业课时

100            xxx           m               java           600

200            xxx             f                 java           700

 

2

专业编号         专业         专业课时

001                     java           600

002                     java          700

3)  第三范式:属性不依赖其他非主属性

n  必须遵守第二范式

n  去除传递依赖

正确的设计方法为:

编号         姓名      性别         专业编号     

100            xxx           m               001           

200            xxx             f                 002 

 

2

专业编号         专业         专业课时

001                     java           600

002                     java          700

 

概况为:

范式2:一个表中不能含有两个实体的信息,必须含有一个实体

范式3:一个实体中不能引用其他实体的属性,只能引用其他实体的主键

注意:

         在某些情况下,出于查询效率的考虑,可能会违反范式3,此时增加了冗余,查询的时候,不需要表连接,增加了表的执行效率,但是可维护性下降,一般为不建议经常维护的表违反第三范式。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage