方法2:在创建表时同时设置参照完整性约束,并设置规则为级联。请写出SQL语句。
(4)修改Student表学号9512101为9512109,观察SC表中相应记录是否更新? (5)在Course表中删除课程代号为C01的记录,观察SC表中选课C01的记录是否删除?
3、用户自定义完整性 (1)设置Student表的Sno输入长度必须为7个字符的约束。请将CHECK约束子句写在下面: (2)设置student表的Sdept只能为“计算机系”,“数学系”,“信息系”,“物理系”。请将CHECK约束子句写在下面:
31
4、触发器
(1)定义一个触发器,其基本功能是在SC表中增加或修改一个选课记录时,检查该课程的选课人数是否超过限定(可自行定义一个限定值,根据表中数据的情况而定)。若超过限定值,则拒绝操作。 触发器代码:
验证语句:
(2)定义一个触发器,当删除Student表中数据时,先将删除的数据插入到另一个专门存放已删除数据的表中(实验时,首先定义一个与Student表结构相同的表用来存放删除的数据),然后执行删除操作。 触发器代码:
(3)定义一个触发器实现级联删除,当删除student表中学生记录时,将sc表中对应学生的选课信息一并删除。
32
5、用户权限控制
(1)在自己数据库中添加其他用户。
(2)为添加的用户进行授权和权限收回。相互检查是否获得了相应的权限。
6、完整性综合应用
创建账户信息表bank和交易信息表TransInfo --账户信息表
create table bank (
customerName char(8)not null, cardID char(10) not null, currentMoney money not null )
--交易信息表
create table transInfo(
cardID char(10) not null, transType char(4) not null, transMoney money not null, transDate datetime not null )
(1)添加约束,账户余额不能少于1元,交易日期默认为当天日期
插入数据:
insert into bank values('张三','10010001',1000) insert into bank values('李四','10010002',1)
33
(2)创建触发器,根据交易信息中的交易类型‘支取’,‘存入’修改客户的账户余额
测试数据并查看
insert into transInfo(cardID,transType,transMoney) values('10010001','支取',200)
insert into transInfo(cardID,transType,transMoney) values('10010002','存入',500)
select * from bank
select * from transInfo
四、实验小结
五、评阅成绩
实验预习20% 实验过程20% 实验结果30% 实验报告30% 总成绩 34
实验六 视图与存储过程
一、实验目的
1、掌握视图的定义及使用
2、掌握存储过程的建立和调用 3、理解事务处理技术
二、实验预习
1、基本表与视图有什么不同?哪种视图可以更新?
2、视图定义语句格式:
3、什么是存储过程,其作用主要是什么?
4、什么是事务?事务处理的特点?
三、实验内容和要求
1、视图(将执行的SQL语句写在下面)
(1)建立视图IS_STUDENT,视图中包含信息系全体学生的基本信息。
35
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证数据库原理实验指导书2016cslg - (9)全文阅读和word下载服务。
相关推荐: