jones's technical blog

  • 首页
  • 文章归档
  • 默认分类
  • 关于页面

  • 搜索
博客系统 linux 酸酸乳

使用DDL创建数据库 数据表时要注意什么

发表于 2020-05-08 | 分类于 数据库 | 0 | 阅读次数 125

DDL

基础语法

  • DDL 的英文全称是 Data Definiton Language, 中文是数据库定义语言. 它定义了数据库的结构和数据表的结构.

  • 对数据库进行定义: CREATE DATABASE, DROP DATABASE

  • 对数据表进行定义:

    • 创建: CREATE TABLE [table_name] (字段名 数据类型, ...)
    • 修改: ALTER TABLE
  • 可视化管理和设计工具: navicat, DataGrip

数据表的常见约束

  • 主键约束:主键起到唯一标识一条记录的作用, 不能重复, 不能为空.
  • 外键约束: 外键确保了标语表之间的引用完整性. 一个表中的外键对应的另一张表中的主键.外键可以是重复的, 也可以是null.
  • 唯一性约束: 唯一性约束说明了字段在表中数值是唯一的, 不可重复的, 即使我们已经有了主键, 还可以对其他字段进行唯一性约束.
  • NOT NULL 约束: 字段的为空约束.
  • DEFAUT: 字段的默认值.
  • CHECK约束: 用来检查特定字段取值范围的有效性: 对height的值进行CHECK约束, 必须 >= 0, 且 <= 3, 即 CHECK(height >= 0 AND height < 3)

设计数据表的原则

设计数据表的时候, 经常会考虑各种问题:

  • 用户需要什么数据?

  • 需要在数据表格中保存哪些数据?

  • 哪些数据是经常访问的?

  • 如何提示检索效率?

  • 如何保证数据表中数据的正确性, 当插入, 删除, 更新的时候该进行怎样的约束检查?

  • 如何降低数据表的数据冗余度, 如何保证数据表不会因为用户量的增长而迅速扩张?

  • 如何让负责数据库维护的人员更方便地使用数据库?

借鉴一个设计原则: 三少一多

1. 数据表的个数越少越好

RDBMS 的核心在于对实体和联系的定义, 也就是 E-R图(Entity Relationship diagram), 数据表越少, 证明实体和联系设计的越简洁, 既方便理解又方便操作.

2. 数据表中的字段个数越少越好

字段个数越多, 数据冗余的可能性越大. 设置字段个数少的前提是各个字段相互独立, 而不是某个字段的取值可以由其他字段计算出来. 当然字段个数少是相对的, 我们通常在数据冗余和检索效率中平衡.

3. 数据表中联合主键的字段个数越少越好

设置主键是为了确定唯一性, 当一个字段无法确定唯一性的时候, 就需要采用联合主键的方式(就是用多个字段定义一个主键). 联合主键中的字段越多, 占用的索引空间就越大么不仅会加大理解难度, 还会增加运行时间和索引空间, 因此联合主键的字堵啊个数越少越好.

4. 使用主键和外键越多越好

数据库的设计实际上是定义各种表, 以及各种字段之间的关系. 这些关系越多, 证明这些实体之间的冗余度越低, 利用度越高. 这样做的好处在于不仅保证了数据表之间的独立性, 还能提升相互之间的关联使用率.

三少一多的原则是 简单可复用

jones wechat
更多精彩内容请关注微信公众号
  • 本文作者: jones
  • 本文链接: https://www.lushuaiyu.com/archives/使用ddl创建数据库数据表时要注意什么
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 博客系统 # linux # 酸酸乳
mac os, idea control + 鼠标左键 = 鼠标右键
通用 mapper -- mybatis 逆向工程
  • 文章目录
  • 站点概览
jones

jones

程序猿

46 日志
16 分类
3 标签
Github E-mail
Creative Commons
0%
© 2021 jones
主题 - NexT.Pisces