用户定义的完整性

第1关:用户定义的完整性

任务描述
本关任务:定义教师表的完整性。

相关知识
为了完成本关任务,你需要掌握:1.用户定义的完整性,2.属性上的约束条件,3.元组上的约束条件。

用户定义的完整性
任何关系数据库系统都应该支持实体完整性和参照完整性,这是关系模型所要求的。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。

用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。力图某个属性必须取唯一值、某个非主属性不能取空值等。

属性上的约束条件
属性上约束条件的定义
在 CREATE TABLE 中定义属性的同时,可以根据应用要求定义属性上的约束条件,即属性值限制,包括:

列值非空(NOT NULL)

列值唯一(UNIQUE)

检查列值是否满足一个条件表达式(CHECK短语)

例如在定义 SC 表时,说明 Sno、Cno、Grade 属性不允许取空值:

CREATE TABLE SC(
Sno CHAR(9) NOT NULL, /Sno属性不允许取空值/
Cno CHAR(4) NOT NULL, /Cno属性不允许取空值/
Grade SMALLINT NOT NULL, /Grade属性不允许取空值/
PRIMARY KEY(Sno,Cno) /在表级定义实体完整性,隐含了Sno、Cno不允许取空值,在列级不允许取空值的定义可不写/
);
例如建立部门表

你可能感兴趣的:(Educoder实训,数据库,sql)