又是新的一章开始了,今天开始的是第五章的内容——数据库完整性
所谓数据库的完整性指的是
数据的正确性关系模型的实体完整性是通过在CREATE TABLE中使用PRIMARY KEY来定义的。具体使用方法有两种,一种是在列级定义主码,另一种是在表级定义主码。
【例5.1】将Student表中的Sno属性定义为码
列级定义主码
create table Student1
(Sno char(9) primary key,
Sname char(20) not null,
Ssex char(2),
Sage smallint,
Sdept char(20)
)
表级定义主码
create table Student2
(Sno char(9),
Sname char(20) not null,
Ssex char(2),
Sage smallint,
Sdept char(20),
primary key(Sno)
)
在实际应用中一般推荐第一种,在列级定义主码。
【例5.2】将SC表中的Sno,Cno属性组定义为码
create table SC
(Sno char(9) not null,
Cno char(4) not null,
Grade smallint,
primary key(Sno,Cno)
)
只能在表级定义主码
关系模型的参照完整性定义
在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照那些表的主码【例5.3】定义SC中的参照完整性
这里需要新建一个Course表,具体建表过程详见。。。算了,不详了,到现在建表还不会的话,