保证数据的完整性

 1.数据的完整性:数据的可靠性+准确性

2.数据完整性的实施方法:

                实体完整性:一个表中的一行,如果与它所代表的实体完全一致,就说该表具有实体完整性

                          (保证一行数据是有效的)

                            实体完整性将行定义为特定表的唯一实体,实体完整性强制表的标识列或主键的完整性,可通过在表中设置主键约束、唯一约束或标识列属性来实现

                             (保证每行所代表的实体能相互区别)

                域完整性:给定列的输入有效性(保证一列的数据是有效的)  

                          强制域有效性的方法:限制类型(通过数据类型)、格式(通过检查约束)或可能值的范围(通过外键约束、检查约束、默认值定义、非空约束)。

                引用完整性:必须在有关联关系的表中,确保一个表的外键的值来源于另一个表中额主键值(保证引用的编号是有效的)

                用户自定义完整性:保证自定义规则。可通过触发器、储存过程等实现。

3.外键与外键约束:

    外键:从表的某列与主表的某列存在依附关系

   外键约束:外键关联主键上强制加上一个约束

4.主键约束:主键是表中的一到多个列,主键列不能为空,也不能重复

   唯一约束:可以为空

5.实体完整性保证表中的每一行都是不同的实体,域完整性保证输入到每一列数据的正确性和准确性,引用完整性保证表间关系的正确性和准确性

7.CREATE DATABASE day03_32;
USE day03_32;


CREATE TABLE t_student(
s_id INT,
s_name VARCHAR(20),
s_age INT,
s_phone BIGINT UNIQUE,
PRIMARY KEY (s_id)
);
INSERT INTO t_student VALUES(1,'xu',20,13890023451);
INSERT INTO t_student VALUES(2,'wang',20,13890023459);
INSERT INTO t_student VALUES(3,'wang',20,13890023450);
SELECT * FROM t_student;


/*域完整性*/
DROP TABLE t_student;
CREATE TABLE t_student(
s_id INT NOT NULL,
s_name VARCHAR(20) NOT NULL,
s_age INT NOT NULL UNIQUE,
s_phone BIGINT DEFAULT 132,
PRIMARY KEY (s_id)
);


INSERT t_student(s_id,s_name,s_phone)VALUES(3,NULL,123);
INSERT t_student(s_id,s_name,s_age)
VALUES(4,'wang',18);


INSERT t_student(s_id,s_name,s_age,s_phone)
VALUES(5,'wang',18,NULL);


/*外键*/
SELECT * FROM t_student;
CREATE TABLE t_student(
s_id INT NOT NULL,
s_name VARCHAR(20) NOT NULL,
s_age INT NOT NULL UNIQUE,
s_phone BIGINT DEFAULT 132,
s_t_id INT,
PRIMARY KEY (s_id),
CONSTRAINT teaKey FOREIGN KEY (s_t_id) REFERENCES t_tea(t_id)
);


CREATE TABLE t_tea(
t_id INT PRIMARY KEY,
t_name VARCHAR(20),
t_age INT
);


DROP TABLE t_student;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值