5.3 用户定义的完整性
用户定义的完整性
not null create table student ( sno char( 5 ), sname varchar( 20 ) not null, ssex char( 2 ), sage smallint, sdept varchar(15), constraint PK_student_sno primary key( sno ) )
参照完整性检查和违约处理
insert into t1 values(1) insert into t1 values(1) insert into t1 values(2) insert into t1 values(3) insert into t2 values(1) insert into t2 values(1) insert into t2 values(2) insert into t2 values(3) insert into t2 values(4) 拒绝
5.2 参照完整性
参照完整性
参照完整性规则 若属性 ( 或属性组 ) F是基本关系 的外 若属性(或属性组) 是基本关系 是基本关系R的外 码它与基本关系S的主码 相对应( 的主码K 码它与基本关系 的主码 s相对应( 基本 关系R和 可能是相同的关系 可能是相同的关系) 则对于R 关系 和S可能是相同的关系),则对于 中每个元组在F上的值必须为 上的值必须为: 中每个元组在 上的值必须为: 或者取空值 或者取空值 或者等于 中某个元组的主码值。 或者等于S中某个元组的主码值 或者等于 中某个元组的主码值。
实体完整性定义 创建表的时候用 创建表的时候用primary key定义 定义
示例:创建 示例:创建student表,将属性 定义为主码 表 将属性sno定义为主码 create table student ( sno char(5),constraint PK_stu_sno primary key, sname varchar(20) not null, ssex char(2), sage smallint, sdept varchar(20), ) onstraint PK_stu_sno primary key(sno) c