1. 表结构设计

在数据库表设计上有个很重要的设计准则,称为范式设计。

1.1 范式设计

要想设计—个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级比一级要求
得严格。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。
满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般来说,数据库只需满足第三范式(3NF)就行了。

1.1.1 第一范式

属于第一范式关系的所有属性都不可再分,即数据项不可分。第一范式强调数据表的原子性,是其他范式的基础。

name-age 列具有两个属性,一个 name、一个 age 不符合第一范式,把它拆分成两列后,满足第一范式:

实际上,1NF 是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS),例如 SQL Server,Oracle,MySQL 中创建数据表的时候,如果数据表的设计不符合这个最基本的要求,那么操作一定是不能成功的。也就是说,只要在 RDBMS 中已经存在的数据表,一定是符合 1NF 的。

MySQL——O4. 表结构设计和数据类型优化相关推荐

  1. 【2. 表结构设计和数据类型优化】

    表结构设计和数据类型优化 数据库表设计 ​ 良好的表结构设计是高性能的基石,应该根据系统将要执行的业务查询来设 计,这往往需要权衡各种因素.糟糕的表结构设计,会浪费大量的开发时间,严 重延误项目开发周 ...

  2. mysql 数据库表结构设计与规范

    mysql 数据库表结构设计与规范 DDL(data difinition language)就是数据定义语言. 1.sql语句的界定符 [code]– 默认情况下" ; " 代表 ...

  3. mysql表设计很多非常大的varchar_聊一聊数据库(MySQL)设计中的数据类型优化

    良好的逻辑设计和物理设计事高性能的基石,在进行数据库设计时,我们应该要考虑到未来将会执行的查询语句,这就需要对各种因素进行权衡.本文将会聊一聊数据库(MySQL)设计中有关数据类型优化的一些内容.以下 ...

  4. MYSQL 分析表、检查表和优化表

    1. 对表进行优化 ( 优化表主要作用是消除删除或者更新造成的空间浪费) 2. 对表进行分析(分析关键字的分布, 分析并存储MyISAM和BDB表中键的分布) 3. 对表进行检查(检查表的错误,并且为 ...

  5. 导出 MySQL 数据库表结构设计文档

    第一种 :利用sql语句查询 需要说明的是该方法应该适用很多工具,博主用的是navicat SELECT TABLE_NAME 表名,COLUMN_NAME 列名, COLUMN_TYPE 数据类型, ...

  6. mysql 查看表是否存在_MySQL优化篇二

    单表优化 最佳左前缀原则为,保持索引的定义和使用顺序的一致性 将含In的范围查询,放到where条件语句的最后. 索引需要逐步优化 两表优化 小表驱动大表 避免索引失效的一些原则: 复合索引,不要跨列 ...

  7. 使用PowerDesigner15创建MySQL数据库表结构设计

    1.打开PowerDesigner,依次点击:文件->建立新模型,出现以下画面,然后按照画面中的红色箭头进行操作: 2.然后点击"OK",即可创建MySQL数据库的表结构设计 ...

  8. mysql数据表的创建-数据类型

    库建好了,开始要建表了 >建表的语句 一个库中可以存在多个表 具体来看每一张表的情况 以表格为例子 >表格 >主键 一行信息的唯一标识 特点: 非空 唯一 >数据类型 总的分三 ...

  9. MySQL之表结构设计

    Schema设计原则 : 更小的数据类型,根据估计选择不会超过范围的最小数据类型. 简单数据类型的操作通常需要更少的CPU周期.例如整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比 ...

最新文章

  1. mysql事务四个安全级别_四个MySQL事务隔离级别的详细说明
  2. 从B 树、B+ 树、B* 树谈到R 树
  3. php后台如何连接网口打印机_如何设置斑马网络打印机的网卡IP地址
  4. 海量数据随机抽样问题(蓄水池问题)
  5. vs unity shader插件_一些Shader资料
  6. 九大经典算法之冒泡排序、快速排序
  7. linux下tail命令的用法,在Linux命令中tail的用法
  8. NLTK在python中文字所表达的情感预测
  9. 民警使用计算机应当遵守哪些保密规定,公安民警保密责任书
  10. 为什么总是封板又打开涨停_多次涨停多次被打开,涨停板打开然后封住反复
  11. QQ出现Initialization failure:0x0000005
  12. 寻找因数——算法简化
  13. 极客范十足!10块钱打造你的专属PCB名片
  14. Python中可迭代对象是什么?
  15. fagor后处理格式_输出格式
  16. React Context源码是怎么实现的呢
  17. ps aux 中的 VSZ 代表什么意思,RSS 代表什么意思
  18. _access()函数
  19. 有了花呗还需要办信用卡吗?
  20. Google 宣布 GSoC 2014 计划Fwd: Google Summer of Code 2014 + 10 Things

热门文章

  1. BZOJ 2152: 聪聪可可|点分治
  2. 挤奶厅的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. KPS同意约21亿美元巨资收购Garrett全部资产
  4. unity接入声网音频sdk
  5. python文件夹操作_Python文件夹与文件的操作 ZZ
  6. valleyview gen7 linux驱动,天敏睿盒iBox win8.1界面大曝光!!
  7. 卸下皮肤和排位,亲近自然,别让游戏成瘾
  8. PS的一些基础概念(分辨率,色相,饱和度,明度,RGB)
  9. 网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法
  10. 2021年金属非金属矿山(小型露天采石场)安全管理人员复审考试及金属非金属矿山(小型露天采石场)安全管理人员考试申请表