《数据库原理》第五次 数据库完整性约束的实现与验证

本实验通过SQL Server SSMS工具,详细介绍了如何创建和管理数据库及数据表,实现和验证实体完整性、参照完整性和用户自定义完整性。实验内容包括创建会员、员工和部门表,添加NOT NULL、FOREIGN KEY、PRIMARY KEY、UNIQUE约束,以及CHECK约束和DEFAULT约束,通过实例展示了违约处理机制。实验旨在深化理解和操作RDBMS的约束机制。

本系列传送门:

  1. 实验二 SQL Server SSMS工具创建和管理数据库及数据表
  2. 实验三 SQL Server SSMS工具添加数据
  3. 实验四 SQL的数据定义语句
  4. 实验五 数据库完整性约束的实现与验证
  5. 实验六 SQL数据查询实验
  6. 实验六(2) SQL数据查询—连接查询
  7. 实验七 SQL的数据更新和视图
  8. 实验八 T_SQL编程
  9. 实验九 存储过程和触发器
  10. 实验十 索引和数据库的安全性

1. 本实验的数据来源

请参考 实验四 SQL的数据定义语句

https://blog.csdn.net/okfang616/article/details/124090402

2. 实验目的

1、 掌握SQL定义实体完整性、参照完整性、用户自定义完整性的方法
2、 加深理解并通过实践操作验证RDBMS针对实体完整性、参照完整性、用户自定义完整性的违约处理机制。
3、 掌握规则和默认值的SQL定义语句

3. 实验内容

1. 在实验四的基础上,重新创建以下三个表:

会员表:member(memno,memname,address,telephone,username,userpwd),主码为memno,属性memname不能取空值

create table member (
	memno int primary key,
	memname varchar(30) not null,
	address varchar(50),
	telephone varchar(15),
	username varchar(30),
	userpwd varchar(30)
)

员工表:employee(empno,empname,depno,sex,telephone,username,userpwd),主码为empno,depno参照部门表department的主码属性depno

create table employee (
	empno int primary key ,
	empname varchar(30),
	depno int,
	sex varchar(4),
	telephone varchar(15),
	username varchar(30),
	userpwd varchar(30)
	foreign key (depno) references department(depno)
)

部门表:department(depno,depname,manager,deptotal),主码为depno,属性depname不能取空值

create table department (
	depno int primary key,
	depname varchar(30) not null,
	manager int,
	deptotal int
)
2、 为employee表的empname属性添加不能取空值的约束,并举例实践验证DBMS的违约处理机制,写出具体的实验数据、步骤和结果
alter table employee alter column empname varchar(30) not null
3、 为department表的manager属性增加参照完整性约束,要求该属性参照员工表employee的主码属性empno,并举例实践验证DBMS的违约处理机制,写出具体的实验数据、步骤和结果
alter table department add foreign key(manager) references employee(empno)
4、 为订单表orders增加主码约束,主码为orderno, 并举例实践验证DBMS的违约处理机制,写出具体的实验数据、步骤和结果
alter table orders add primary key(orderno)
5、 为会员表member属性列username添加取唯一值的约束,约束名为UK1,删除约束,并举例实践验证增加约束前后DBMS的违约处理机制,写出具体的实验数据、步骤和结果
alter table member add constraint UK1 unique(username)
alter table member drop constraint UK1
6、 为员工表employee的属性列username增加取唯一值的约束,并举例实践验证DBMS的违约处理机制,写出具体的实验数据、步骤和结果
alter table employee add unique(username)
7、 创建一个性别只能取“男”或“女”的规则并把其绑定到员工表employee的属性sex上
alter table employee add check (sex in ('男','女'))
8、 定义一个默认值,并绑定在员工表employee的userpwd属性上,要求userpwd属性的默认取“123456”
alter table employee
add constraint userpwd_default
default '123456' for userpwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

okfang616

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值