专业课学习——第 5 章 数据库完整性

1. 实体完整性

  • 定义实体完整性

// 在列级定义主码
create table Student(Sno char(9) primary key, Sname char(40) not null, 
Ssex char(2), Sage smallint, Sdept char(20));

// 在表级定义主码
create table Student(Sno char(9), Sname char(40) not null, 
Ssex char(2), Sage smallint, Sdept cahr(20)), primary key(Sno);

// 将 SC 表中的 Sno、Cno 定义为主码
create table SC(Sno char(9) not null, Cno char(4) not null, 
Grade smallint, primary key (Sno, Cno));

2. 参照完整性

// 定义 SC 中的参照完整性
create table SC(Sno char(9) not null, Cno char(4) not null, 
Grade smallint, primary key(Sno, Cno), 
foreign (Sno) references Studnet(Sno), 
foreign key (Cno) references Course(Cno));

// 显示说明参照完整性的违约处理
create table SC(Sno char(9) not null, Cno char(4) not null, 
Grade smallint, primary key (Sno, Cno),
foreign key (Sno) references Student(Sno),
	on delete cascade 
	on update cascade
foreign key(Cno) references Course(Cno),
	on delete cascade
	on update cascade
);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值