实体:表; 属性:表中的数据(字段); 关系:表与表之间的关系;

数据库设计三大范式(重点):

第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;

例如:userInfo:山东省烟台市  131777368781           userAds:山东0省烟台市  userTel:131777368781

第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情;

例如:订单表只描述订单相关的信息,所以所有字段都必须与订单id相关       产品表只描述产品相关的信息,所以所有字段都必须与产品id相 关;因此不能在一张表中同时出现订单信息与产品信息;如下图所示:

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

例如:订单表中需要有客户相关信息,在分离出客户表之后,订单表中只需要有一个用户id即可,而不能有其他的客户信息。因为其他的客户信息直接关联于用户id,而不是直接与订单id直接相关。

【如何更好的区分三大范式】

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

【数据库五大约束】

1.primary KEY:设置主键约束;2.UNIQUE:设置唯一性约束,不能有重复值;3.DEFAULT 默认值约束,height DOUBLE(3,2)DEFAULT 1.2 height不输入是默认为1,24.NOT NULL:设置非空约束,该字段不能为空;5.FOREIGN key :设置外键约束。

【主键】1.主键的注意事项?主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定自动增长;2.设置主键的方式?在定义列时设置:ID INT PRIMARY KEY在列定义完之后设置:primary KEY(id)

【外键】

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

只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB    外键必须与参照列的数据类型必须相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)。

2设置外键的语法:

CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段)    ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性

3.外键约束的参照操作?

参照表的完整性操作:当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对;

参照操作可选值:

RESTRICT拒绝参照表删除或更新参照字段;

RESTRICT和NO ACTION相同,但这个指令只在mysql生效;

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

SET NULL 删除或更新参照表的参照字段时,外键表的外键设为NULL;

mysql数据库五大对象_数据库的三大范式以及五大约束相关推荐

  1. 数据库三大范式及五大约束

    数据库的三大范式以及五大约束                                                                     数  据   库      今天小 ...

  2. Mysql存储过程名规则_数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)...

    命名规范是指数据库对象如数据库(SCHEMA).表(TABLE).索引(INDEX).约束(CONSTRAINTS)等的命名约定. 1. 原则命名使用具有意义的英文词汇,词汇中间以下划线分隔. 命名只 ...

  3. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  4. MySQL获取数据库连接对象_利用JDBC连接mysql数据库,获取连接对象的通用格式

    String driverName="com.mysql.jdbc.Driver";        //驱动程序名 String userName="root" ...

  5. 【MySQL 第10章_数据库的设计规范】

    第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  6. 数据库的三大范式和五大约束(转)

    一.三大范式: 1. 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性: 2. 第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键, ...

  7. 数据库的三大范式以及五大约束

    实体:表: 属性:表中的数据(字段): 关系:表与表之间的关系: 数据库设计三大范式(重点): 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性: 例 ...

  8. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

  9. mysql数据库简单介绍_数据库的简单介绍

    关系型数据库与非关系型数据库 关系型数据库:mysql /oracle/sql server/sqlite 优点: 1.易于维护:都是使用表结构,格式一致: 2.使用方便:sql语言通用,可用于复杂查 ...

最新文章

  1. python路径拼接os.path.join()函数的用法
  2. MyBatis知多少(12)私有数据库
  3. java 循环读取文件_您如何用Java连续读取文件?
  4. Hadoop文件压缩格式分析和比较
  5. Objective-C马路成魔【14-关键C语言功能】
  6. 2017病毒感染监测(string,BF,附思路与可能WA解析)
  7. powerbi视觉对象_Power BI 视觉对象词云WordCloud
  8. android webview 下载视频播放 206,Android webview+Html5 video
  9. data structure最短路径问题
  10. PHP分组聊天室--fooking现实
  11. ChromeTimeline
  12. Ubuntu16.04下PCL点云库的安装及使用demo
  13. 面向机器学习的自然语言标注2.3 整合数据集
  14. Mysql之查询基础select
  15. copyWebpackPlugin的使用及常见问题(glob及Path ............... is not in cwd)
  16. TARA从3.4.1更新到3.5.7后项目运行出现app.js错误: TypeError: Cannot read property ‘isBatchingLegacy‘ of undefined
  17. Golang:后台管理系统Revel搭建教程
  18. WinForm自定义分页控件实现Datagridview分页效果附引用Demo
  19. 全面的软件测试( 转)
  20. 我的世界服务器显示文字,我的世界服务器悬浮字体教程 | 手游网游页游攻略大全...

热门文章

  1. OS- -死锁(二)
  2. 火山引擎视频云科技原力峰会即将开启,一起乘云 · 瞰世界
  3. Xilinx软硬IP双管齐下解决音视频处理痛点
  4. [ffmpeg] 解码API
  5. 视频容器格式与编码格式简介
  6. tomcat servlet容器请求时序
  7. idea没有git选项
  8. 中国顶级互联网公司的技术组织架构调整预示着什么?【强烈推荐行业人士阅读】
  9. Vue010_ 过滤器
  10. linux 命令 nohup 后台运行