数据库原理实验报告数据库备份和恢复的技能;SQLServer的安全认证模式的设置;用企业管理器进行触发器设计,实现数据完整性控制。1.为学生表建一触发器,当修改年龄,年龄变小时不做修改。2.在SC上定义更新触发器,使其限制修改过的成绩不能低于原来的成绩3.在课程表中增加Total列,代表选择了本门课程的人数,初值为0。4.定义一个触发器,当向SC中插入选课情况时,对应课程的选修人数加1。5.定义一个触发器,当SC中删除选课情况时,对应课程的选修人数减法1。6.创建一存储过程,用于求‘数据库’的平均成绩7.创建一存储过程,用于求某门课的平均成绩。8.创建一存储过程,用于输出某位同学的所有考试成绩。要求显示课程名和分数
时间: 2023-12-30 17:05:34 浏览: 113
数据库原理学习
实验报告:数据库备份和恢复的技能;SQLServer的安全认证模式的设置;用企业管理器进行触发器设计,实现数据完整性控制。
1. 触发器设计
为学生表建一触发器,当修改年龄时,若年龄变小不做修改。
代码如下:
```
CREATE TRIGGER age_control
ON student
FOR UPDATE
AS
BEGIN
DECLARE @age int
SELECT @age = age FROM inserted
IF @age < (SELECT age FROM deleted)
BEGIN
PRINT 'Age cannot be decreased.'
ROLLBACK TRANSACTION
END
END
```
2. 更新触发器设计
在SC表上定义更新触发器,使其限制修改过的成绩不能低于原来的成绩。
代码如下:
```
CREATE TRIGGER score_control
ON SC
FOR UPDATE
AS
BEGIN
IF EXISTS(SELECT * FROM inserted i JOIN deleted d ON i.s_id = d.s_id AND i.c_id = d.c_id WHERE i.score < d.score)
BEGIN
PRINT 'Score cannot be decreased.'
ROLLBACK TRANSACTION
END
END
```
3. Total列设计
在课程表中增加Total列,代表选择了本门课程的人数,初值为0。
代码如下:
```
ALTER TABLE course ADD Total int NOT NULL DEFAULT 0
```
4. 插入触发器设计
定义一个触发器,当向SC表中插入选课情况时,对应课程的选修人数加1。
代码如下:
```
CREATE TRIGGER add_sc
ON SC
FOR INSERT
AS
BEGIN
UPDATE course SET Total = Total + 1 WHERE c_id = (SELECT c_id FROM inserted)
END
```
5. 删除触发器设计
定义一个触发器,当从SC表中删除选课情况时,对应课程的选修人数减1。
代码如下:
```
CREATE TRIGGER delete_sc
ON SC
FOR DELETE
AS
BEGIN
UPDATE course SET Total = Total - 1 WHERE c_id = (SELECT c_id FROM deleted)
END
```
6. 存储过程设计
创建一存储过程,用于求‘数据库’的平均成绩。
代码如下:
```
CREATE PROCEDURE get_avg_score
AS
BEGIN
SELECT AVG(score) AS avg_score FROM SC WHERE c_id = '数据库'
END
```
7. 存储过程设计
创建一存储过程,用于求某门课的平均成绩。
代码如下:
```
CREATE PROCEDURE get_course_avg_score
@c_id char(4)
AS
BEGIN
SELECT AVG(score) AS avg_score FROM SC WHERE c_id = @c_id
END
```
8. 存储过程设计
创建一存储过程,用于输出某位同学的所有考试成绩。要求显示课程名和分数。
代码如下:
```
CREATE PROCEDURE get_student_score
@s_id char(8)
AS
BEGIN
SELECT c.c_name, s.score
FROM SC s JOIN course c ON s.c_id = c.c_id
WHERE s.s_id = @s_id
END
```
以上就是本次实验的报告内容,包括数据库备份和恢复的技能,SQLServer的安全认证模式的设置,以及触发器和存储过程的设计实现。
阅读全文