实体完整性定义(续)(2)在表级定义主码CREATETABLEStudent( Sno CHAR(9),Sname CHAR(20)NOTNULL系统锯论Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)PRIMARYKEY(SnO));AnIntroduction toDatabaseSystem
An Introduction to Database System 实体完整性定义(续) (2)在表级定义主码 CREATE TABLE Student ( Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) );
实体完整性定义 (续)「例5.2]将SC表中的Sno,Cno属性组定义为码CREATETABLESC(SnO CHAR(9) NOTNULL,CnO CHAR(4) NOT NULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno)*只能在表级定义主码*);7AnIntroduction toDatabase System
An Introduction to Database System 实体完整性定义(续) [例5.2] 将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC ( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/ );
5.1实体完整性5.1.1实体完整性定义5.1.2实体完整性检查和违约处理数据库系统概论An Introduction to Database System
An Introduction to Database System 5.1 实体完整性 5.1.1 实体完整性定义 5.1.2 实体完整性检查和违约处理
5.1.2实体完整性检查和违约处理心插入或对主码列进行更新操作时,关系数据库管理系统按照实体完整性规则自动进行检查。包括:■检查主码值是否唯一,如果不唯一则拒绝插入或修改检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改数据库系丝AnlntroductiontoDatabaseSystem
An Introduction to Database System 5.1.2 实体完整性检查和违约处理 ❖插入或对主码列进行更新操作时,关系数据库管理 系统按照实体完整性规则自动进行检查。包括: ◼ 检查主码值是否唯一,如果不唯一则拒绝插入或修改 ◼ 检查主码的各个属性是否为空,只要有一个为空就拒绝 插入或修改
(续)实体完整性检查和违约处理检查记录中主码值是否唯一的一种方法是进行全表扫描依次判断表中每一条记录的主码值与将插入记录上的主码值(或者修改的新主码值)是否相同待插入记录KeyiF2iF3iF4iF5i基本表F21F31F41F51KeylF22Key2F32F42F52Key3F23F33F43F53:AnIntroductionto Database System
An Introduction to Database System 实体完整性检查和违约处理(续) ❖检查记录中主码值是否唯一的一种方法是进行全表 扫描 ◼ 依次判断表中每一条记录的主码值与将插入记录上的主码 值(或者修改的新主码值)是否相同