我爱编程

MYSQL入门学习基础片-数据完整性

2018-05-26  本文已影响0人  温暖在靠近

数据完整性是为了保证插入到数据中的数据是正确的,它防止了用户可能的输入错误。


一、实体完整性(记录完整性):

规定表的一行(即每一条记录)在表中是唯一的实体。实体完整性通过表的主键来实现。

解决办法:采用主键: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、一对多(出现频率最高)

上一篇 下一篇

猜你喜欢

热点阅读