文章目录
一、表的概念
- 表包含了 表名、字段(名称+类型+约束)、记录组成。
Table | Python |
---|---|
表名 | 类名(class) |
字段名 | 属性名 |
字段类型 数字、字符串、日期等 | 数字、字符串、列表、字典、集合、日期等 |
一条记录 | 一个对象 |
-
查看表结构。
命令: desc emp; #emp代表 表名先进去所要查询的库中,在查询对应的表名字进行结构查询。
二、常见的数据类型
(1)数字类型
int 存储数字,默认长度是四个字节;tinyint 是一个字节,用于存储布尔值。
(2)字符类型
char 和 varchar
char 是固定长度,没有达到最长补空格,最长 155 字节。
varchar 是可变长度,最长 255
(3)要存储文章大字段 采用 text ; blob 存储二进制文件。
(4)日期类型
data (日期) datatime(日期时间)
timestamp(时间戳) time(时间)
(5)浮点类型
float 、double 、 decimal (用来保存具有小数点而且数值确定的数值)
三、关系型数据库设计原则(三范式 Normal Form)
(1) 1NF
数据库表中每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
数据库表中的所有字段值都是不可分解的原子值。
不符合 1NF
(2) 2NF
在 1NF 基础上建立,2NF 要求数据表中的每个实例或行必须可以被唯一区分。一般情况下,为了实现区分,通常为表加上一个列,以存储各个实例的唯一标识。这个唯一标识(属性)被称为主关键字或主键、主码。
不符合2NF。
(3) 3NF
属性必须依赖于主键,即非主键列必须直接依赖于主键必须是直接关系,不能传递。
不符合 3NF, 手机依赖于主键 姓名,但是手机归属 依赖于手机号。 不符合
四、五大约束
-
1 主键约束(Primay Key Coustraint) 唯一性,非空性
-
2 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
-
3 检查约束 (Check Counstraint)对该列数据的范围、格式的限制(如:年龄、性别等)
-
4 默认约束 (Default Counstraint)该数据的默认值
-
5 外键约束 (Foreign Key Counstraint)需要建立两表间的关系并引用主表的列