数据库设计基础知识

流程:
1.用户需求分析 2.概念结构设计 3.逻辑结构设计(规范化) 4.数据库的物理结构设计

E-R 模型 -> 关系数据模型步骤
①为每个实体建立-张表 ②为每个表选择一一个主键(建议添加一-个没有实际意义的字段作为主键) ③使用外键表示实体间关系 ④定义约束条件 ⑤评价关系的质量,并进行必要的改进(关于范式等知识请参考其他数据库书籍) ⑥为每个字段选择合适的数据类型、属性和索引等

关系:
一对一 将 一 方的主键放入到 另一方 中 一对多 将 一 方的主键 放到 多方 中 多对多 两边都将主键拿出,放入到一个新的表中

最少满足第三范式

定义属性 类型 索引


注:
1.当超出范围时,取类型的最大值 

2.当无符号数时,给出负数,赋值为 0


字符串类型
可存储图像或声音之类的二进制数据
可存储用 gzip 压缩的数据


char 使用环境(推荐)
如果字段值长度固定或者相差不多(如性别)
数据库要进行大量字符运算(如比较、排序等)

varchar
如果字段长度变化较大的(如文章标题)

BLOB保存二进制数据(相片、 电影、压缩包)

ENUM('','') 枚举类型



字段属性
UNSIGNED 不允许字段出现负数,可以使最大允许长度增加
ZEROFILL 用零填充,数值之前自动用0补齐不足的位数,只用于设置数值类型
auto_ increment 自动增量属性,默认从整数1开始递增,步长为1
可以指定自增的初始值 auto_ increment=n
如果将 NULL 添加到一个auto increment列,MySQL将自动生成下一个序列编号
DEFAULT 指定一个默认值

索引
确保数据的唯一性
优化查询
对索引字段中文本的搜索进行优化

2020-05-07

原文地址:https://www.cnblogs.com/hany-postq473111315/p/12841422.html