MySQL 数据库 数据完整性

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

什么是数据完整性

数据的完整性是指数据的精确性和可靠性它的目的是为了防止数据库中存在不符合予以规定的数据或者因错误信息的输入而造成无效的操作。

数据完整性的分类

  1. 实体完整性每一行记录在表中是唯一的

——主键约束Primary Key——主键是表中一列或者多列数据用来唯一标识一行数据 。例如学号、身份证

——唯一约束Unique——可以用来确保在非主键列中不存在重值列值可以使NULL

  1. 域完整性限制向表中输入的数值的范围

——外键约束Foreign——一个表中的外键指向另一个表中的主键

——默认约束Default——向列中插入默认值

——非空约束Not Null ——强制该列不允许为Null值

  1. 引用完整性保证主关键字和外部关键字之间的参照关系涉及到两个或者两个以上表中数据的一致性维护

——通过外键约束Foreign key实现

4.自定义完整性根据项目实际情况设置的数据完整性要求

实现数据完整性细节问题

  1. 主键约束主键又称为主码是表中一列或多列的组合主键约束要求主键列的数据唯一并且不允许为空。主键能够唯一的标识表中的一条记录

主键分类——单字段主键——create table student (idCard int primary key):

——多字段主键/联合主键——create table student (idCard int,studentNum int, sex char,primary key (idCard,studentNum)

——create table student(studentNum int auto_increment primary key);

  1. 设置字段自动增长小技巧一个表中只能有一个字段使用auto_increment

anto_increment只有主键能用

设置auto_increment的字段数据类型必须为整数

  1. 使用外键约束——在多张表之间建立关系确保多个表之间数据的一致性、完整性。一个表中可以有任意多个外键外键值等于另一张表的主键

——创建年级表——create table grade (id auto_increment primary key);

——创建班级信息表——create table classinfo(id int auto_increment primary key,

GradeID int,

foreign key (GradeID) references Grade(ID)

---从表外键字段 ---主表主键字段

注意主表字段必须设置唯一约束否则无法设置外键

4.使用非空约束指定字段的值不能为空——create table student(name varchar(3) not null;

5.使用默认约束指定某字段的默认值——create table student(sex char(1) default '男'

注意不能用于auto_increment、timestamp列

6.使用唯一约束该列的值唯一不出现重复值包括null值——create table student(studentNum varchar(11) unique;

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql数据库