一.数据库中的范式:

范式,英文名称是NormalForm,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法,以下就是对这三个范式的基本介绍:

第一范式(1NF):

数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。

例如:userInfo:‘山东省烟台市1318162008’依照第一范式必须拆分成

userInfo:‘山东省烟台市’userTel:‘1318162008’两个字段

第二范式(2NF):

满足1NF后要求表中的所有列,都必需依赖于主键,而不能有任何一列与主键没有关系(一个表只描述一件事情)。

例如:订单表只能描述订单相关的信息,所以所有的字段都必须与订单ID相关。

产品表只能描述产品相关的信息,所以所有的字段都必须与产品ID相关。

因此在同一张表中不能同时出现订单信息与产品信息。

第三范式(3NF):第三范式(3NF):满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)

例如:订单表中需要有客户相关信息,在分离出客户表之后,订单表中只需要有一个用户

ID即可,而不能有其他的客户信息,因为其他的用户信息是直接关联于用户ID,而不是关联

于订单ID。

注意事项:

1.第二范式与第三范式的本质区别:在于有没有分出两张表。

第二范式是说一张表中包含了多种不同实体的属性,那么必须要分成多张表,第三范式是要求已经分好了多张表的话,一张表中只能有另一张标的ID,而不能有其他任何信息,(其他任何信息,一律用主键在另一张表中查询)。

2.必须先满足第一范式才能满足第二范式,必须同时满足第一第二范式才能满足第三范式。

二:数据库中的五大约束:

数据库中的五大约束包括:

1.主键约束(PrimayKeyCoustraint)唯一性,非空性;

2.唯一约束(UniqueCounstraint)唯一性,可以空,但只能有一个;

3.默认约束(DefaultCounstraint)该数据的默认值;

4.外键约束(ForeignKeyCounstraint)需要建立两表间的关系;

5.非空约束( NotNull Counstraint ):设置非空约束,该字段不能为空。

详细介绍:

(1)[外键约束 (ForeignKeyCounstraint) ]

1.设置外键的注意事项:

①:只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB;

②:外键与参照列的数据类型必须相同。(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同);

③:设置外键的字段必须要有索引,如果没有索引,设置外键时会自动生成一个索引;

2.设置外键的语法:

[CONSTRAINT外键名]FOREIGNKEY(外键字段)REFERENCES参照表(参照字段);

[ONDELETESETNULLONUPDATECASCADE]—设置操作完整。

3、外键约束的参照操作:

当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对。

参照操作可选值:

RESTRICT:拒绝对参照字段的删除或修改(默认);

NOACTION:与RESTRICT相同,但这个指令只在MySql生效;

CASCADE: 删除或更新参照表的参照字段时,外键表的记录同步删除或更新;

SETNULL:删除删除或更新参照表的参照字段时,外键表的外键设为NULL(此时外键不能设置为NOTNULL)。

(2)[主键约束] (PrimayKeyCoustraint)

1.主键的注意事项:主键默认非空,默认唯一性约束,只有主键可以设置自动增长(主键不一定自增,自增一定是主键)。

2.设置主键的方式:

①:在定义列时设置:id   INTUNSIGNEDPRIMARYKEY。

②:在列定义完成后设置:PRIMARYKEY(id)。

其他约束没有特殊要求因此不做解释。

mysql数据库五大约束_数据库基础知识:数据库中的约束和三大范式相关推荐

  1. 计算机术语中CPU是指______,试题题库_计算机基础知识考试试卷全套.doc

    试题题库_计算机基础知识考试试卷全套.doc 第一部分 计算机基础知识 (一)单项选择题 1. 世界上第一台计算机使用的物理器件是( ). A)电子管 B)继电器 C)晶体管 D)集成电路 2. 第四 ...

  2. dell电脑计算机专业,戴尔Dell专用英语_电脑基础知识_IT计算机_专业资料.doc

    戴尔Dell专用英语_电脑基础知识_IT计算机_专业资料 英文縮寫英文全名中文字義5COne methodology of solving problem, 5C including: Charact ...

  3. 计算机word文档无法工作,word无法打开(WORD文档打不开_解决方法_电脑基础知识_IT/计算机_专业资料)...

    word无法打开(WORD文档打不开_解决方法_电脑基础知识_IT/计算机_专业资料),哪吒游戏网给大家带来详细的word无法打开(WORD文档打不开_解决方法_电脑基础知识_IT/计算机_专业资料) ...

  4. excel宏计算机,excel宏教程_电脑基础知识_IT计算机_专业资料.doc

    excel宏教程_电脑基础知识_IT计算机_专业资料 Excel宏教程 一.?? 选中单个单元格 Range("").Select ? 例:Range("C9" ...

  5. 计算机PPT教材教法,小语教材教法讲义课件_电脑基础知识_it计算机_专业资料.ppt...

    小语教材教法讲义课件_电脑基础知识_it计算机_专业资料 绪 论 课堂观察的内涵 课堂观察,顾名思义,就是通过观察者对课 堂的运行状况进行记录.分析和研究,并在此基 础上谋求师范生课堂学习的改善.促进 ...

  6. 计算机专业高级知识,高级选择_电脑基础知识_IT计算机_专业资料

    高级选择_电脑基础知识_IT计算机_专业资料 (79页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 21.9 积分 1.注水泥塞丿施T时,从配水泥浆到反洗 ...

  7. 计算机机场基础知识,全国机场频率_电脑基础知识_IT计算机_专业资料

    全国机场频率_电脑基础知识_IT计算机_专业资料 (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 机场频率2009-11-28 15 ...

  8. 联想计算机usb启动怎么办,联想电脑bios怎么设置USB启动_电脑基础知识_IT计算机_专业资料...

    联想电脑bios怎么设置USB启动_电脑基础知识_IT计算机_专业资料 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 联想电脑bios ...

  9. 化学相关计算机知识,化学练习_电脑基础知识_it计算机_专业资料.ppt

    化学练习_电脑基础知识_it计算机_专业资料 七年级上册第二单元:认识新自我 第一框 世界因生命而精彩 第三课 珍爱生命 他们一样吗? 她们一样吗? 人与其他动物.植物等生命相比,其突出的表现是( ) ...

  10. 计算机文档编辑ps知识,PS指导书_电脑基础知识_IT计算机_专业资料

    PS指导书_电脑基础知识_IT计算机_专业资料 (24页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 游泳的鱼教程新建一个大小设置为780 ...

最新文章

  1. 爬虫之selenium对cookie的处理
  2. C++——新类型与原始字面量(原始字符串)
  3. 是否提交由npm 5创建的package-lock.json文件?
  4. Fragment回调Activity的事件分发
  5. 汇编语言int 13中断02h功能Demo - 使用emu8086
  6. C#的TreeView标记
  7. Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(2)
  8. java十六进制大小端转换_字节顺序
  9. 前后端敏感数据加密方案及实现_01
  10. 研究Warehousing Management
  11. [webpack]手写一个mvp版本的webpack
  12. 先验概率与后验概率的区别
  13. java简单图书馆管理系统_简单 图书馆管理系统 Java+Oracle
  14. OpenCV学习笔记(十五)——k近邻算法
  15. 右键文件或文件夹或空白处弹出菜单包含自己软件快捷方式
  16. 解决mysql重启自动同步的问题
  17. win7如何启用计算机的无线功能,win7如何开启无线功能
  18. T48568 【zzy】yyy送礼物
  19. Lyra编码器基础环境搭建
  20. 【SemiDrive源码分析】系列文章链接汇总(全)

热门文章

  1. mysql 临时表_第05问:MySQL 在处理临时结果集时,内部临时表会使用多少内存?...
  2. Android RecyclerView使用GridLayoutManager间距设置
  3. Django内置的分页模块
  4. 获取串口设备名称 获取设备管理器里的硬件名称 转
  5. TODO monkey笔记,PC端执行和手机端执行
  6. 20145204 《Java程序设计》第6周学习总结
  7. WebGL on iOS8 最终等到了这一天
  8. BZOJ 1020——[SHOI2008]安全的航线flight
  9. Maven将中央仓库修改为阿里云的仓库地址
  10. vue-manage-system 后台管理系统开发总结