数据库上机实验6 数据库完整性

简介: 数据库上机实验6 数据库完整性

一、实验目的

1、熟练掌握实体完整性、参照完整性的定义。

2、掌握用户定义完整性的定义。

3、了解触发器的定义和使用。

二、实验内容

使用SQL命令完成如下题目:

1、删除学生作业表的主键约束和外键约束。

1. alter table score
2. drop constraint PK__score__8497E91307705DC5,
3. FK__score__cno__15502E78,FK__score__Sno__164452B1

2、在学生作业表中添加学号和课程号的主键约束。

1. alter table score
2. add constraint
3. pk_sno_cno primary key(sno,cno)

3、在学生作业表中添加课程号的外键约束。

1. alter table score
2. add constraint
3. fk_score_cno foreign key(cno) references course(cno)

4、创建触发器tr1,实现当修改学生表中的数据时,显示提示信息“学生表信息被修改了。”

1. 创建触发器语句:
2. create trigger tr1 on student after update
3. as
4. print '学生表信息被修改了。'
5. 执行触发器语句:
6. select * from student where sno='0433'
7. update student set sname='张艳艳' where sno='0433'
8. select * from student where sno='0433'

5、使用触发器tr2,实现当修改学生表中某个学生的学号时,对应学生作业表中的学号也要修改。

1. 创建触发器语句:
2. create trigger tr2 on student after update
3. as
4. update score set sno=(select sno from inserted)
5. where sno=(select sno from deleted)
6. 执行触发器语句:
7. select * from student where sname='张艳艳'
8. select * from score where sname='张艳艳'
9. update student set sno='0434' where sname='张艳艳'
10. select * from student where sname='张艳艳'
11. select * from score where sname='张艳艳'

6、查看学生表中已创建的触发器。

exec sp_helptrigger 'student'

7、查看已创建的触发器tr1的内容。

exec sp_helptext 'tr1'

8、删除学生表上的触发器tr1。

drop trigger tr1

三、实验指导

1、启动SQL Server2012软件。

2、通过分离附加的方法,将实验1所创建的作业管理数据库恢复到该软件中。

3、SQL Server中,程序不区别大小写,特别要注意程序中的标点符号,一定要在英文半角状态下输入,否则会出错。

4、使用ALTER TABLE命令来创建和删除主键约束和外键约束,如果在创建的过程中,出现已经存在该约束的错误,就需要先删除再创建。

5、若在创建约束的时候没有给约束指定名字,系统会自动给约束分配名字。

6、触发器的触发事件有INSERT、UPDATE和DELETE。

7、创建触发器后,要使用相应语句来触发该触发器执行。

目录
相关文章
|
4月前
|
关系型数据库 数据库
关系型数据库的数据完整性
关系型数据库通过一系列机制和技术手段来确保数据的完整性,从而为用户提供准确、一致和可靠的数据服务。这些措施对于保障数据的质量、满足用户需求以及维护系统的稳定运行具有重要意义。
39 5
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
|
2月前
|
存储 SQL 关系型数据库
数据库事务:确保数据完整性的关键20
【7月更文挑战第20天】事务是数据库操作的基本逻辑单位,确保数据一致性。ACID原则包括:原子性(操作全成或全败),一致性(事务前后数据合法性),隔离性(并发操作互不影响),持久性(提交后更改永久保存)。MySQL的InnoDB引擎支持事务,通过undo log实现回滚,redo log确保数据持久化。开启事务可使用`BEGIN`或`START TRANSACTION`,提交`COMMIT`,回滚`ROLLBACK`。
155 70
|
4月前
|
关系型数据库 数据库 数据安全/隐私保护
关系型数据库的数据完整性保障
【5月更文挑战第9天】关系型数据库的数据完整性保障
65 1
|
4月前
|
存储 安全 算法
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
95 0
|
3月前
|
存储 数据管理 数据库
理解数据库中的参照完整性
【6月更文挑战第13天】数据库设计旨在创建和维护企业的数据管理系统,确保数据完整性和消除冲突。好的数据库设计应减少冗余,保证信息准确完整,并满足处理和报告需求。设计工具包括E-R图和UML等。
90 2
理解数据库中的参照完整性
|
2月前
|
存储 关系型数据库 MySQL
|
3月前
|
存储 数据采集 NoSQL
DTS在迁移大数据量的MongoDB数据库时如何保证数据的准确性和完整性?
【6月更文挑战第4天】DTS在迁移大数据量的MongoDB数据库时如何保证数据的准确性和完整性?
122 1
|
4月前
|
存储 关系型数据库 数据库
关系型数据库的数据一致性和完整性
【5月更文挑战第1天】关系型数据库的数据一致性和完整性是数据库设计中的两个重要概念,它们共同保证了数据库中数据的准确性和可靠性。
82 2
关系型数据库的数据一致性和完整性
|
4月前
|
数据库 数据库管理
理解数据库的ACID原则:确保数据完整性与一致性的基石
【5月更文挑战第20天】ACID原则是数据库事务处理的核心,包括原子性、一致性、隔离性和持久性。原子性保证事务操作全完成或全不完成,保持数据完整;一致性确保事务前后数据库保持一致性状态,不破坏完整性约束;隔离性防止并发事务相互影响,通过锁等技术实现;持久性则保证事务提交后的修改永久保存,即使系统故障也能恢复。这些原则确保了数据的可靠性和安全性。