实验三、数据更新操作及视图 (2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.

相关文档
最新文档