数据库实验报告模版(4)

2019-08-26 18:41

GROUP BY Sdept;

2.修改数据

【题4-05】 将学号为“200215121”的学生年龄改为22岁。即要修改满足条件的一个元组的属性值。 UPDATE Student SET Sage=22

WHERE Sno=’200215121’;

【题4-06】 将所有学生的年龄增加1岁。即要修改多个元组的值。 UPDATE Student SET Sage=Sage+1;

【题4-07】将计算机科学系所有学生的成绩置零。

由于学生所在系的信息在Student表中,而学习成绩在SC表中,因此,可以将SELECT子查询作为WHERE子句的条件表达式。故该更新要求的SQL命令为:

UPDATE SC SET Grade=0 WHERE ‘CS’=

(SELECT Sdept FROM Student

WHERE Student.Sno=SC.Sno);

3.删除数据

【题4-08】删除学号为200215128的学生记录。 DELETE FROM Student

WHERE Sno=’200215128’;

【题4-09】删除所有学生的选课记录。 DELETE FROM SC;

这条DELETE语句将删除SC的所有元组,使SC成为空表。 【题4-10】删除计算机科学系所有学生的选课记录。 DELETE FROM SC WHERE ‘CS’=

(SELECT Sdept FROM Student

WHERE Student.Sno=SC.Sno);

16

2.5实验五 视图的定义和维护

一、实验目的和要求

1.掌握SQL视图建立、修改和删除; 2.掌握SQL视图查询。

二、实验内容

方法一:利用SQL语言实现视图的建立、删除、查询、更新 (一)定义视图 1 建立视图

【题5-01】建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系(MA)的学生,视图的属性名为Sno,Sname,Sage,Sdept。

CREATE VIEW C_Student

AS

SELECT Sno, Sname, Sage, Sdept FROM Student WHERE Sdept=’MA’ WITH CHECK OPTION

【题5-02】建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。 本视图由三个基本表的连接操作导出,其SQL语句如下: CREATE VIEW Student_CR

AS

SELECT Student.Sno, Sname, Cname, Grade FROM Student, SC, Course

WHERE Student.Sno= SC.Sno AND SC.Cno=Course.Cno

【题5-03】定义一个反映学生出生年份的视图。 CREATE VIEW Student_birth(Sno, Sname, Sbirth)

AS SELECT Sno, Sname, 2007-Sage FROM Student

2 删除视图

【题5-04】删除视图Student_birth。 DROP VIEW Student_birth;

(二)查询视图

【题5-05】在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

SELECT Sname, Sage FROM C_Student WHERE Sage<20;

17

说明:本例转换后的查询语句为: SELECT Sname, Sage FROM Student

WHERE Sdept=’MA’ AND Sage<20;

【题5-06】在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。

SELECT Sno, Sname, Cname FROM Student_CR WHERE Grade>85;

(三)更新视图

【题5-07】将数学系(MA)学生视图C_Student中学号为200215123的学生姓名改为“黄海”。 UPDATE C_Student SET Sname='黄海' WHERE Sno='200215123';

说明:DBMS自动转换为对基本表的更新语句如下: UPDATE Student SET Sname='黄海'

WHERE Sno='200215123' AND Sdept='数学';

【题5-08】向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“200215124”,姓名为“王海”,年龄为20岁。

INSERT

INTO C_Student

VALUES ('200215124', '王海', 20, ’MA’);

【题5-09】删除数学系学生视图C_Student中学号为“200215124”的记录。 DELETE

FROM C_Student

WHERE Sno=’200215124’

方法二:利用企业管理器和视图创建向导实现视图的建立、删除、查询、更新

视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。

1.创建视图

下面利用了SQL Server中提供的视图创建向导,来实现建立计算机科学系(CS)选修了1号课程的学生视图。

(1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为xskc)。 (2)选择菜单:[工具]|[向导]

(3)在如图5-1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。选择“创建视图向导”项,单击“确定”按键。

18

图5-1 向导选择对话框

(4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。

(5)在选择数据库对话框中,选择视图所属的数据库。本例的数据库为“xskc”。单击“下一步”按键,则进入选择表对话框。

(6)在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。在本例的数据库中选中学生表(Student)和选课表(SC)。

单击“下一步”按键,则进入选择对话框。

(7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”列,使复选框为选中状态。本例中Student.Sno、Student.Sname、SC.Grade属性要被选中。

单击“下一步”按键,进入创建视图的定义限制对话框,如图5-2所示。

19

图5-2 定义限制对话框

(8)在定义限制对话框中,输入表的连接和元组选择条件。本例输入: WHERE Sdept=’CS’ and Student.Sno=SC.Sno and SC.Cno=’1’。

单击“下一步”按键,出现视图名对话框。

(9)在输入视图名对话框中输入所建视图的标识名。本例的视图名为“CSSC-View”。单击“下一步”按键,则出现视图创建完成对话框。

在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。您可以认真阅读该SQL语句,如果发现与要求有不符合之处可以直接进行修改。

确认无误后单击“完成”按钮。随后出现一个通知用户已成功创建视图的信息框,单击“确认”按钮后,整个创建视图工作就完成了。

2.查看和修改视图

视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。

在企业管理器中修改视图结构需要首先选择服务器,数据库,并使数据库展开,然后用鼠标右击要修改的视图,在弹出的菜单上选择“设计视图”项,则弹出一个视图设计对话框,如图5-3所示。当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。

20


数据库实验报告模版(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临安监发[2011]39号关于印发《临沂市生产安全事故应急预案管理办

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: