实验三、数据更新操作及视图 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、数据更新操作及视图(2学时)
一、实验目的与要求
1、掌握数据更新操作语句的基本使用格式,能使用SQL Server实现对表的插入、修改、删除操作。
2、掌握数据库更新操作需要满足的完整性约束。
3、了解视图的概念
4、掌握视图的建立
5、理解视图的使用及作用
二、实验内容
(一)完成下面的数据插入操作
1、在student表中插入一条姓名为“张悦”、学号为“0007”、性别为“女”的信息。INSERT
INTO Student(Sname,Sno,Ssex)
VALUES('张悦','0007','女');
2、创建一个新的表,表名为ST1,表的结构和STUDENT表的结构一样,然后将STUDENT 表中男生的信息插入到表ST1中去。
CREATE TABLE ST1
(Sno CHAR(9)PRIMARY KEY,
Sname CHAR(20)UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
3、在表STUDENT中插入学号为“200215121”一条记录,观察操作执行的情况,并能回答为何出现那样的情况。
INSERT
INTO Student(Sno)
VALUES('200215121');
消息2627,级别14,状态1,第1 行
违反了PRIMARY KEY 约束'PK__Student__CA1FE4647F60ED59'。不能在对象'dbo.Student' 中插入重复键。语句已终止。
4、在SC表中插入学号为“199815121”,课程号为“5”的,成绩为67的信息,观察操作执行的情况,并能回答为何出现那样的情况。
INSERT
INTO SC(Sno,Cno,Grade)
VALUES('199815121','5','67');
消息547,级别16,状态0,第1 行
INSERT 语句与FOREIGN KEY 约束"FK__SC__Sno__117F9D94"冲突。该冲突发生于数据库"his",表
"dbo.Student", column 'Sno'。
语句已终止。
(二)完成下面的数据修改操作
1、将STUDENT表的男生的年龄都增加1岁。
UPDATE Student
SET Sage=Sage+1;
(4 行受影响)
2、在sc表中将学号为200215121学生学号改为890
UPDATE Student
SET Sno=890
WHERE Sno='200215121';
消息547,级别16,状态0,第1 行
UPDATE 语句与REFERENCE 约束"FK__SC__Sno__117F9D94"冲突。该冲突发生于数据库"his",表"dbo.SC", column 'Sno'。
语句已终止。
(三)完成下面的数据删除操作,操作时注意完整性约束。
1、在student表中删除男生的学生记录。
DELETE
FROM Student
WHERE Ssex='男';
消息
消息547,级别16,状态0,第1 行
DELETE 语句与REFERENCE 约束"FK__SC__Sno__117F9D94"冲突。该冲突发生于数据库"his",表"dbo.SC", column 'Sno'。
语句已终止。
2、删除COURSE表中所有记录。
DELETE
FROM Course;
消息
消息547,级别16,状态0,第1 行
DELETE 语句与REFERENCE 约束"FK__SC__Cno__1273C1CD"冲突。该冲突发生于数据库"his",表"dbo.SC", column 'Cno'。
语句已终止。
(四)视图
1、建立计算机系学生的视图st2,并要求在进行更新操作时保证更新的是计算机系的学生信息。
CREATE VIEW st2_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept='st2'
WITH CHECK OPTION;
2、在视图ST2上插入SNO为“09”,SNAME为“张三”的一条信息记录,插入完成后,打开STUDENT表进行查看。
INSERT
INTO st2_Student
VALUES('09','张三');
3、在视图ST2上删除7中插入的那条记录。
DELETE
FROM st2_Student
WHERE Sno='09';
(0 行受影响)
4、通过视图ST2、表sc次查询学生的学号、姓名、课程号、成绩。
5、通过视图st2建立年龄小于18学生视图st3.