长 沙 理 工 大 学
计算机与通信工程学院
实 验 报 告
课程名称 数据库原理与技术
实验项目名称 数据完整性
班级
学号 姓名
实验日期 年 月 日
指导教师签字
一﹑实验目的
掌握SQL Server管理平台和Transact-SQL语句(Create table、alter table)定义和删除约束的方法,并了解约束的类型。
掌握通过SQL Server管理平台和Transact-SQL语句Create trigger创建触发器的方法和步骤;
掌握引发触发器的方法;
掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器; 二﹑实验平台
操作系统:Windows xp
DBMS:SQL Server 2005
三﹑实验内容和步骤
1.在studentsdb数据库中用CREATE TABLE语句创建表stu_con,并同时创建约束。
(1)创建表的同时创建约束。表结构如图1所示。
图1 要创建的表的结构
约束要求如下:
将学号设置为主键(PRIMARY KEY),主键名为pk_sid。
为姓名添加唯一约束(UNIQUE),约束名为uk_name。
为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”。
为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:出生日期1988-1-1。
(2)使用ALTER TABLE语句的DROP CONSTRAINT参数项在查询设计器中删除为stu_con表所建的约束。
2.为studentsdb数据库的grade表添加外键约束(FOREIGN KEY),要求将“学号”设置为外键,参照表为student_info,外键名称为fk_sid。
3.为grade表建立一个名为insert_g_tr 的INSERT触发器,当用户向grade表中插入记录时,如果插入的是在curriculum表中没有的课程编号,则提示用户不能插入记录,否则提示记录插入成功。在进行插入测试时,分别输入以下数据:
学号 课程编号 分数
0004 0003 76
0005 0007 69
观察插入数据时的运行情况,说明为什么?
变量定义:DECLARE @fkc_id varchar(8)
提示记录插入成功:PRINT ‘记录插入成功’
提示不能插入记录:RAISERROR(‘无此课程,不能插入记录’,16,1)
4.为curriculum表创建一个名为del_c_tr的DELETE触发器,该触发器的作用是禁止删除curriculum表中的记录。
CREATE TRIGGER del_c_tr
ON curriculum
Instead of delete
AS
RAISERROR(‘禁止删除curriculum表中的记录’)
ROLLBACK TRANSACTION
5.为student_info表创建一个名为update_s_tr的UPDATE触发器,该触发器的作用是禁止更新student_info表中的“姓名”字段的内容。
CREATE TIGGER update_s_tr ON student_info
FOR UPDATE
AS
DECLARE @name_old varchar(8)
DECLARE @name_new varchar(8)
SET @name_old=(SELECT 姓名 FROM Deleted)
SET @name_new=(SELECT 姓名 FROM Inserted)
IF (@name_old!=@name_new)
BEGIN
RAISERROR(‘不能修改姓名’,16,1)
END
6.使用Transact-SQL语句DROP TRIGGER删除update_s_tr触发器。
DROP TRIGGER student_info.uodate_s_tr
7.为student_info表建立删除触发器del_s_tr,要求当student_info表的记录被删除后,grade表中相应的记录也能自动删除。
CREATE TIGGER del_s_tr ON student_info
FOR DELETE
AS
DECLARE @stu_no v
您可能关注的文档
- 长宁区2015学年第一学期高三地理一模综述.doc
- 铁的存在与吸收概要.ppt
- 长青村农产品批发市场建设项目可行性(正文)综述.doc
- 铁粉冷压球团工艺设计概要.ppt
- 铁合金-2概要.ppt
- 长庆低渗透油藏缝内转向压裂技术与应用—刘显斌综述.ppt
- 长沙奥托QB42软起综述.doc
- 现代平面设计的发展与表现解读.ppt
- 铁及其重要化合物概要.ppt
- 铁肩担道义概要.ppt
- 河北省石家庄市2026届高三11月期中教学质量摸底检测语文试题含答案.doc
- 山东省济宁市2026届高三上学期期中质量检测语文试题含答案.doc
- 江西省宜春市2026届高三上学期一轮诊断考试语文试题含答案.doc
- 北京市丰台区2026届高三上学期期末语文试题及答案.doc
- 北京市东城区2026届高三上学期期末语文试题及答案.doc
- 2025年四川省攀枝花市中考物理试题(含答案解析).doc
- 浙江省宁波市2026届高三第一学期11月高考模拟考试语文试题含答案.doc
- 山东省菏泽市2026届高三上学期期中考试语文试题含答案.doc
- 上海市闵行区2026届高三一模语文试题及答案.doc
- 上海市长宁区2026届高三一模语文试题及答案.doc
最近下载
- 广东省深圳市宝安区2024-2025学年三年级上学期期末科学试卷.docx VIP
- 2025年商务英语(BEC)中级考试真题卷:商务英语阅读理解提高策略与真题剖析.docx VIP
- ‘十五五’卫生健康事业高质量发展规划及医院高质量发展实施方案.docx
- 《苏武传》课件35张.pptx VIP
- 1999年及其以前批准转业的军队干部住房保障办法.doc VIP
- 关于做好新型冠状病毒感染肺炎疫情防控期间稳定劳动关系支持企业复工复产的实施意见.doc VIP
- 高考数学解三角形专题.pdf VIP
- 2025年体育行业青少年体育培训报告.docx
- EQC-1137-2007-chs 电镀锌层及镀后表面处理.pdf
- 自动化集装箱码头管理.docx VIP
原创力文档

文档评论(0)