第六章、数据完整性控制——(SQL SEVER 2017)

数据完整性是指数据的精确性和可靠性,主要应用于保证数据库中数据的质量。为了防止数据库中存在不符合语义规定的数据。
数据完整性分为四类:
        实体完整性(保证表中每一行数据在表中是唯一的)、
        域完整性(保证列的值的有效性和正确性(CHECK约束、DEFAULT约束、NOT NULL 约束))、
        参照完整性(表之间,多个表数据的一致性与更新的同步性)、
        用户定义完整性。

约束就是限制,定义约束就是定义限制条件。
        1.主键约束(PRIMARY KEY)
        2.唯一约束(UNIQUE)
        3.外键约束(FOREIGN KEY)
        4.检查约束(CHECK)
        5.默认约束(DEFAULT)
        6.非空约束(NOT NULL)


创建多列组合主键

USE 学生成绩
GO 
CREATE TABLE 期末成绩表
(CONSTRAINT PK_期末成绩 PRIMARY KEY(班级编号,课程编号),   --创建多个列组合的主键约束,采用表级约束,这里班级编号和课程编号值是唯一的
	学号 char(8) NOT NULL,
	班级编号 char(2) NOT NULL,
	课程编号 char (8) NOT NULL,
	成绩  decimal(4,1) NULL)
GO

        上面的代码创建了期末成绩表,执行代码以后,右键表,然后刷新。然后会更新期末成绩表。其中班级编号,课程编号是PRIMARY KEY约束 不允许输入重复值。
第六章、数据完整性控制——(SQL SEVER 2017)_第1张图片
             这里插入了两行数据进去,便于后面检测主键的功能。
            1.新建查询
USE 学生成绩
GO 
	INSERT INTO 期末成绩表(班级编号,课程编号,学号,成绩)
		VALUES ('01','001','0000011','91')
GO

               2.执行上面的代码,向表中插入一行数据,其中班级编号和课程编号与表中现有的数据重复,执行代码。
   

                提示不能输入重复值。
(博客是自己学习笔记,不喜勿喷。)

你可能感兴趣的:(biancheng)