完整性约束
- 主键约束: primary key
- 自增键约束:auto_increment
- 唯一键约束:unique
- 非空约束:not null
- 默认值约束:default
- 外键约束:foreign key
一个表里只能创建一个主键,但可以有多个唯一键。
使用示例:
CREATE TABLE user(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
nickname varchar(50) UNIQUE NOT NULL,
age TINYINT UNSIGNED NOT NULL DEFAULT 18,
sex ENUM(‘male’, ‘female’));
关系型数据库表的设计
1.一对一
如图,这是两张表,一个表示用户基本信息,一个表示身份信息,
想让两张表产生关联,需要给身份信息表添加一个字段
2. 一对多
比如要做一个电商系统
- 用户User
- 商品Product
- 订单Order
分析:
用户和商品:没有关系
用户与订单:一对多关系
商品与订单:多对多关系
一对多关系:在订单子表里添加一列关联父表的主键(表示用户id的字段)。但以这样的方式,明显可以看出数据冗余,特别是成百上千的订单,会导致大批量的修改。
3. 多对多
为了解决数据冗余的问题,可以创建一个中间表。