数据完整性是为了保证插入到数据中的数据是正确的,它防止了用户可能的输入错误。
一、实体完整性(记录完整性):
规定表的一行(即每一条记录)在表中是唯一的实体。实体完整性通过表的主键来实现。
解决办法:采用主键:PRIMARY KEY 唯一,不能为NULL
第一种声明主键的方式:
CREATE TABLE s1(
id INT PRIMARY KEY,
NAME VARCHAR(10),
gender VARCHAR(4)
);
第二种声明主键的方式:
CREATE TABLE s2(
id INT ,
NAME VARCHAR(10),
gender VARCHAR(4),
PRIMARY KEY(id)
);
注:第二种声明主键的方式:可以声明联合主键(两个字段作为主键)
CREATE TABLE s3(
id INT ,
NAME VARCHAR(10),
gender VARCHAR(4),
PRIMARY KEY(id,NAME)#联合声明
);
二、域完整性(列完整性约束):
指数据库表的列(即字段)必须符合某种特定的数据类型或约束。比如NOT NULL。
约束:
类型约束: id int
长度约束: id int(2) 插入数据 1111
非空约束: username varchar(8) NOT NULL 必须有值
唯一约束: idcardnum varchar(18) UNIQUE 可以为null,有的话必须唯一
用户名:一般网站用户名必须有,且唯一(不让他作为主键)
username varchar(100) NOT NULL UNIQUE
示例:
CREATE TABLE s4(
id INT PRIMARY KEY,
username VARCHAR(10) NOT NULL UNIQUE,
gender VARCHAR(4) NOT NULL,
idcardnum VARCHAR (4) UNIQUE
);
三、参照完整性:
保证一个表的外键和另一个表的主键对应。
3.1多表的设计
a、一对多(出现频率最高)
网友评论