数据完整性:主键、外键、约束
2018-09-28 本文已影响8人
别动我名字呀
什么是数据完整性:保证用户输入的数据保存到数据库中是正确的
如何保证数据完整性:在创建表时给表中添加约束
完整性分类:
1.实体完整性
什么是实体:表中的一行(一条记录)就是一个实体
实体完整性的作用:标记每一行数据不重复,行级约束
1.primary key(主键约束) 每个表中一般只有个主键,唯一且非空
create table emp (
id bigint primary key,
name varchar(50)
);
联合主键:两个字段同时相同才违法主键约束
create table students(
id bigint ,
snum bigint,
name varchar(50)
primary key(id,snum)
)
2.unique(唯一约束)数据唯一,可以非空
create table emp (
id bigint primary key,
name varchar(50) unique
);
3.auto-increment(自增约束)值列的数据自动增长,即使数据删除还是从删除之前的数据继续增长
create table emp (
id bigint primary key auto-incremen,
name varchar(50) unique
);
2.域完整性
域代表当前单元格,限制此单元格的数据正确性,不对照此列的其他单元格比较
1.数据类型约束:数值类型、日期类型、字符串类型
2.非空约束(not null)
create table emp(
id int primary key auto_incremen,
name varchar(20) unique not null
)
3. 默认值约束(default)
create table emp(
id int primary key auto_incremen,
name varchar(20) unique not null,
gender vhar(1) default '女'
)
3.引用完整性
是指表与表直接的一种对应关系,通常情况下可以通过设置两个表之间的主键、外键关系,或者编写两表的触发器来实现。
给score表的sid字段添加约束,参照stu表的id
create table score(
sid int,
score int,
constraint sc_st_fk foreing key(sid) references stu(id)
);