![[高等教育]数据库考试必备.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/24/1957c353-08d1-4030-aaf8-027426247929/1957c353-08d1-4030-aaf8-0274262479291.gif)
![[高等教育]数据库考试必备.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/24/1957c353-08d1-4030-aaf8-027426247929/1957c353-08d1-4030-aaf8-0274262479292.gif)
![[高等教育]数据库考试必备.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/24/1957c353-08d1-4030-aaf8-027426247929/1957c353-08d1-4030-aaf8-0274262479293.gif)
![[高等教育]数据库考试必备.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/24/1957c353-08d1-4030-aaf8-027426247929/1957c353-08d1-4030-aaf8-0274262479294.gif)
![[高等教育]数据库考试必备.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/24/1957c353-08d1-4030-aaf8-027426247929/1957c353-08d1-4030-aaf8-0274262479295.gif)
已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库技术及应用实验指导书实验一认识DBMS一、实验目的1、通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架。这里以SQL2000为例。2、熟悉SQL的安装。二、实验平台操作系统:Windows 2000或者Windows XP。数据库管理系统:SQL2000或者SQL2005三、实验内容1、根据安装文件的说明安装数据库管理系统。在安装过程中记录安装的选择,并对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。2、学会启动和停止数据库服务。3、初步了解RDBMS的安全性,这里主要是用户的登录和服务器预定义角色。可以尝试建立一个新的用户,赋予其数据库管理员的角色,今后的实验可以用该用户来创建数据库应用。4、了解RDBMS的系统架构。5、了解RDBMS的管理和使用。四、实验报告本实验不需提交报告。SQL Server 2000的安装将安装光盘插入光驱后,出现图 Error! Bookmark not defined.所示提示框。选择“安装 SQL Server 2000 组件”,出现图 Error! Bookmark not defined.所示页面后,选择“安装数据库服务器”。图 Error! Bookmark not defined.图 Error! Bookmark not defined.选择“下一步”,然后选择“本地计算机”进行安装。图 Error! Bookmark not defined.图 Error! Bookmark not defined.在“安装选择”窗口,选择“创建新的SQL Server实例.”。对于初次安装的用户,应选用这一安装模式,不需要使用 高级选项 进行安装。 高级选项 中的内容均可在安装完成后进行调整。图 Error! Bookmark not defined.在 用户信息 窗口,输入用户信息,并接受软件许可证协议。图 Error! Bookmark not defined.图 Error! Bookmark not defined.在 安装定义窗口,选择 服务器和客户端工具 选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQL Server很有用处。如果你已经在其它机器上安装了SQL Server,则可以只安装客户端工具,用于对其它机器上SQL Server的存取。图 Error! Bookmark not defined.在 实例名 窗口,选择 默认 的实例名称。这样本SQL Server的名称将和Windows 2000服务器的名称相同。SQL Server 2000可以在同一台服务器上安装多个实例,也就意味着可以重复安装多次,这时用户就可以选择不同的实例名称。建议将实例名限制在 10 个字符之内。因为实例名会出现在各种 SQL Server 和系统工具的用户界面中,因此,较短的实例名称相对容易读取。需要注意的是,实例名称不能是 Default 或 MSSQLServer 以及SQL Server的保留关键字。图 Error! Bookmark not defined.在 安装类型 窗口,选择 典型 安装选项,并指定 目的文件夹。程序和数据文件的默认安装位置都是 C:Program FilesMicrosoft SQL Server。如果用户的C盘是系统区、D盘是应用区,也可以选择D盘作为安装区。如果数据库中数据有10万条以上的记录,则至少预留1G以上的存储空间,以满足庞大的日志空间和索引空间的需求。图 Error! Bookmark not defined.在 服务账号 窗口,请选择 对每个服务使用统一账户. 的选项。在 服务设置 处,选择 使用本地系统账户。如果需要 使用域用户账户 的话,请将该用户添加至Windows Server的本机管理员组中。图 Error! Bookmark not defined.在 身份验证模式 窗口,请选择 混合模式. 选项,并设置管理员sa账号的密码。如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。如果是真正的应用系统,则千万需要设置和保管好该密码!如果需要更高的安全性,则可以选择 Windows身份验证模式 ,这时就只有Windows Server的本地用户和域用户才能使用SQL Server了。图 Error! Bookmark not defined.在 选择许可模式 窗口,根据您购买的类型和数量输入(0表示没有数量限制)。 每客户表示同一时间最多允许的连接数,处理器许可证表示该服务器最多能安装多少个CPU。笔者这里选择了 每客户 并输入了100作为示例。图 Error! Bookmark not defined.然后就是约10分钟左右的安装时间,安装完毕后,出现该界面,并新增了以下的菜单。企业管理器(Enterprise Manager)企业管理器是SQL Server2000主要的管理工具,它提供了简单易用的管理控制台(MMC)用户界面,使初学者可以通过菜单和向导的模式建立数据库、定义数据表、备份和还原、数据导入导出、以及管理用户权限和数据库安全级别等高级功能。1登陆企业管理器用户界面首先通过【开始】【程序】【Microsoft SQL Servers】【企业管理器】进入企业管理器界面。图 Error! Bookmark not defined.在企业管理器的左边列出的是控制台管理目录,依次是数据库类型(SQL Servers)、数据库群组名(SQL Servers组)、数据库服务器主机名(如:GUOLH(Windows NT),其中:GUOLH为数据库所在的机器名,默认连接为本机)和该数据库服务器提供的所有的管理工具(包括数据库、数据转换服务、管理、复制、安全性、支持服务等)。在“数据库”选项中列出的是当前服务器中所有的数据库名(master、model、msdb、Northwind等),其中master、model、tempdb等为系统数据库,记录其他数据库的公有属性和某些隐藏信息,用户不要直接对系统数据库(也就是master库)中的表和数据项进行修改和删除,否则将会给数据库系统造成不可挽回的损失。在本机上安装完毕SQL Server2000,第一次打开企业管理器,系统将自动以管理员身份(用户名:sa)登录,如果出现登录是要求输入用户名和密码,请以sa为登录账号,密码为安装时设置的密码。图 Error! Bookmark not defined.如果忘记密码,也不要紧,只要当前连接的数据库主机是自己的电脑,只需在数据库服务器主机名(如:GUOLH(Windows NT)上点击右键,选择“编辑SQL Server注册属性”,弹出如下对话框:图 Error! Bookmark not defined.将“连接模式”改为“使用Windows身份验证”。点击“确定”,关闭企业管理器,再重新进入,就不会再出现登录界面,此时只要用户登录Windows2000的账号是管理员账号,用户就具备了管理数据库的最高权限。由于SQL Server2000支持网络访问和远程管理,所以建议用户及时修改SQL Server身份验证模式中的管理员密码,方法是进入“安全性”“登录”,双击“sa”,出现如下对话框:图 Error! Bookmark not defined.在密码框中输入新密码,点击确定,再次确认密码即可。2建立数据库要建立数据库最简单的方法是在“数据库”选项上点右键弹出菜单,选择“新建数据库”,出现如下对话框:图 Error! Bookmark not defined.在名称栏目中输入数据库的名称(如:我的数据库),其他选项采用默认设置,点“确定”一个新的数据库就生成了。新的数据库名将出现在“数据库”列表中。(在一个数据库服务器上可以新建许多个数据库,他们之间相对独立)如果在数据库中定义数据表,只要双击进入“我的数据库”,再双击进入“表”,企业管理器的右边将列出该数据库中所有的可见表。如下图所示:图 Error! Bookmark not defined.所列的数据表的名称的前三个字母都是“sys”,他们都是该数据库的系统表,用户请不要把这些表删除,以免给该数据库造成不可挽回的破坏。用户要定义自己的表,只要在“表”右键菜单中选择“新建表”,出现如下图所示的表字段定义对话框。由于一个空的数据库中含有很多系统表,用户可以将所有的系统库和系统表进行隐藏,具体操作请看前面的“已注册的SQL Server属性”对话框。图 Error! Bookmark not defined.用户定义视图可以点击工具栏上的“添加表”按钮来添加视图的基表,选择各表中的字段的存在形式。也可以在SQL编辑器中直接输入建立视图的SQL语句。如下图:图 Error! Bookmark not defined.“关系图”也是数据库设计的常用操作,在“关系图”上点击出现右键菜单,选择“新建数据库关系图”。出现“创建数据库关系图先导”,直接点击下一步,选择需要参与关系设计的有关数据表和视图。继续下一步,然后完成。如图出现关系图设计界面。用户只要用鼠标拖动,设置各种属性,就可以将各表中的相关字段建立某种关系。图 25图 24 查询分析器(Query Analyzer)查询分析器是SQL Server2000的另一个非常主要的客户端工具,只要用户熟悉Transact - SQL编程,查询分析器的管理功能比企业管理器有过之而无不及。只是两者操作模式不一样,前者用Transact-SQL程序对数据库系统进行分析和管理,后者用图形界面和向导对数据库进行操作。初学者和不熟悉SQL的用户往往喜欢用企业管理器,毕竟使用鼠标操作更方便,但对于那些更高级的查询分析、批处理创建删除,使用查询分析器就比较灵活了。打开查询分析器,出现的是登录界面。在SQL Server下拉式列表框中输入连接的机器名或IP地址。如果连接的是本机数据库,连接方式使用“Windows身份验证”,如果连接的是远程数据库,请使用“SQL Server身份验证”。图 Error! Bookmark not defined.登录后出现查询分析器的主界面。窗口的顶部是菜单和工具栏,在工具栏中有一个数据库列表框,列出主机中所有的数据库,用户可直接在列表框中选择进行操作的数据库名(如:Northwind)。主窗口的左边是对象浏览器(包括对象和模板两页),右边是Transact-SQL程序编辑器。图 Error! Bookmark not defined.用户可直接在编辑器中输入查询分析语句“select * from categories”,其中categories是Northwind数据库中的一张表,用户可以在左边对象浏览器的数据库用户表中找到。然后点击工具栏上的绿色三角形按钮进行执行。查询结果将出现在编辑器的下面,如下图:图 Error! Bookmark not defined.查询分析器的另一页就是程序模板,选择左边的模板类型,右边编辑框将自动生成相应的Transact-SQL程序。修改程序中的参数就执行相应的功能。例如要创建一个数据库,就在左边选择Create Database 模板类型,再选择详细类型Create Database Basic Template,右边出现一段程序,其功能是判断主机中是否存在数据库N,如果存在的话,就将其删除,然后再创建数据库N。用户也可以通过程序模板来进一步学习Transact-SQL语言。实验二 交互式SQL一、实验目的熟悉通过SQL对数据库进行操作。完成作业的SQL练习。二、实验平台操作系统:Windows 2000或者Windows XP。数据库管理系统:SQL2000或者SQL2005三、实验内容1、在RDBMS中建立一个数据库,进行实验所要求的所有操作,所有的SQL操作均在此建立的新数据库中进行。2、根据以下要求认真进行实验,记录所有的实验用例。数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除。数据操作:完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询);完成各类更新操作(插入数据、修改数据、删除数据)。视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。5、了解RDBMS的管理和使用。四、实验报告提交各类操作的命令及自己实验中存在的问题及解决方法,实验总结及体会。2.1 数据定义一、实验内容:创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表: (l)student:学生基本信息。 (2)course:课程信息表。 (3)sc:学生选课表。各表的结构分别如表1、表2和表3所示。表1 学生信息表:student列名数据类型长度是否允许为空值sno字符型10否sname字符型10否ssex字符型2否sage整数型是sdept字符型4否表2 课程信息表:course列名数据类型长度是否允许为空值cno字符型3否cname字符型30否credit整数型是pcno字符型3是表3 学生选课表:sc列名数据类型长度是否允许为空值sno字符型10否cno字符型30否grade整数型是二、实验步骤:(一)数据库的建立1、用可视化界面建立:在SQLSERVER中用企业管理器-新建数据库;2、命令方式建立:在SQLSERVER中,在查询分析器中使用T-SQL语句:CREATE DATABASE XSGL ON (NAME=XSGL_DATA, FILENAME=E:XSGL.MDF, SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5%) LOG ON (NAME=XSGL_Log, FILENAME=e:XSGL_Log.ldf, SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB)(二)表的建立用可视化界面建立:在SQL SERVER中用企业管理器数据库XSCJ表右键新建表;命令方式建立:在SQL SERVER中查询分析器的编辑窗口中用下列SQL语句:use XSGLCreate table student(sno CHAR(5),sname CHAR(10),ssex CHAR(2),sage int,sdept CHAR(4);goCreate table course(cnoCHAR(2),cname CHAR(30),creditINT,pcnoCHAR(2) NULL);goCreate table sc(sno CHAR(5),cno CHAR(2),gradeINT NULL);go(三)表数据的添加用可视化方法: 1、在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;输入下列数据:snosnamessexsagesdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS95005刘云女18CScnocnamecreditpcno1数据库452数学63信息系统314操作系统465数据结构476数据处理37PASCAL语言46snocnograde95001192950012859500138895002290950023809500328595004158950042852、在SQL SERVER查询分析器的编辑窗口中使用下列SQL 语句插入数据:insert into student(sno,sname,ssex,sage,sdept) values(95001,李勇,男,20,CS)insert into student(sno,sname,ssex,sage,sdept) values(95002,刘晨,女,19, IS)insert into student(sno,sname,ssex,sage,sdept) values(95003,王敏,女,18,MA)insert into student(sno,sname,ssex,sage,sdept) values(95004,张立,男,19,IS)insert into student(sno,sname,ssex,sage,sdept) values(95005,刘云,女,18,CS )insert into course(cno,cname,credit,pcno) values(1,数据库,4, 5)insert into course(cno,cname,credit,pcno) values(2,数学,6,null)insert into course(cno,cname,credit,pcno) values(3,信息系统, 3,1)insert into course(cno,cname,credit,pcno) values(4,操作系统, 4,6)insert into course(cno,cname,credit,pcno) values(5,数据结构, 4,7)insert into course(cno,cname,credit,pcno) values(6,数据处理, 3,null)insert into course(cno,cname,credit,pcno) values(7,PASCAL语言, 4,6)insert into sc(sno,cno,grade) values(95001, 1,92)insert into sc(sno,cno,grade) values(95001, 2,85)insert into sc(sno,cno,grade) values(95001, 3,88)insert into sc(sno,cno,grade) values(95002, 2,90)insert into sc(sno,cno,grade) values(95002, 3,80)insert into sc(sno,cno,grade) values(95003, 2,85)insert into sc(sno,cno,grade) values(95004, 1,58)insert into sc(sno,cno,grade) values(95004, 2,85)(四)表数据的修改1、 用可视化方法: 在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;在表格中将相应的数据修改即可。2、命令方法:将所有学生的年龄增加一岁: update student set sage=sage+1 将4号课程的学分改为4: update course set credit=4 where cno=4设置7号课程没有先行课: update course set pcno=null where cno=7将95001号学生的1号课程的成绩增加3分: update sc set grade=grade+3 where sno=95001 and cno=1(五)表数据的删除1. 用可视化方法: 在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;单击左边的行标记, 选定某一行, 或单击后拖动选择相邻的多行, 再右击鼠标选择弹出式菜单中的删除。2命令方法:删除学号为95005的学生的记录:delete from student where sno95005删除所有的课程记录:delete from course删除成绩为不及格(少于60分)的学生的选课记录:delete from sc where grade60实验2.2 数据操作一、实验目的本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询、更新语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。二、实验内容(一) 单表查询1. 查询全体学生的学号和姓名:select sno, sname from student2. 查询全体学生的所有信息:select * from student或者 select sno, sname, ssex,sage, sdept from student3. 查询全体学生的姓名, 出生年份,和所在系, 并用小写字母表示所有系名:select sname, 出生年份为: , year(getdate() - sage, lower(sdept) from student4. 给上例的结果集指定列名:select sname, 出生年份为: 出生, year(getdate()- sage 年份, lower(sdept) 系名from student5. 查询选修了课程的学生的学号:select distinct sno from sc 比较: select sno from sc 6. 查询年龄在20岁以下的学生的姓名及其年龄:select sname, sage from student where sage207. 查询考试成绩有不及格的学生的学号:select distinct sno from sc where grade60比较: select sno from sc where grade608. 查询年龄在20-30岁直接的学生的姓名, 姓名, 所在系:select sname, ssex, sdept from student where sage between 20 and 30 9. 查询 IS,CS,MA系的所有学生的姓名和性别:select sname, ssex from student where sdept in (IS, MA,CS) 10. 查找所有姓李的学生的姓名, 学号和性别:select sname, sno, ssex from student where sname like 李%比较: 将学生表中的95001号学生的姓名李勇改为李勇勇, 再执行:select sname, sno, ssex from student where sname like 李_11. 查询没有先行课的课程的课程号cno和课程名cname:select cno, cname from course where pcno is null(二)查询结果排序12. 查询选修了3号课程的学生的学号和成绩, 并按分数降序排列: select sno, grade from sc where cno=3 order by grade DESC23. 查询全体学生的情况,查询结果按所在系号升序排列, 同一系中的学生按年龄降序排列: select * from student order by sdept ASC, sage DESC(三)连接查询:14. 查询每个学生及其选修课程的情况: select student.*, sc.* from student, sc where student.sno=sc.sno 比较: 笛卡尔集: select student.*, sc.* from student, sc 自然连接: select student.sno, sname, ssex, sdept, cno, grade from student, sc where student.sno=sc.sno15. 查询每一门课程的间接先行课(只求两层即先行课的先行课):select Fo, Second.pcno 间接先行课from course First, course Second where First.pcno=So比较: select Fo, Second.pcno 间接先行课 from course First, course Second where First.pcno=So and Second.pcno is not null16. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息: SQL Server 中: select s.sno, sname, ssex,sdept, cno, grade from student s, sc sc where s.sno*=sc.sno17. 查询每个学生的学号, 姓名, 选修的课程名和成绩: select S.sno, sname, cname, grade from student S, course C, sc SC where S.sno=SC.sno and C.cno=SC.cno(四) 使用带IN谓词的子查询1. 查询与刘晨在同一个系学习的学生的信息:select * from student where sdept in (select sdept from student where sname=刘晨)比较: select * from student where sdept = (select sdept from student where sname=刘晨) 的异同比较: select * from student where sdept = (select sdept from student where sname=刘晨) andsname刘晨V比较: select S1.* from student S1, student S2 where S1.sdept=S2.sdept and S2.sname=刘晨2. 查询选修了课程名为信息系统 的学生的学号和姓名:SQL Server中: select sno, sname from student where sno in(select sno from sc where cno in (select cno from course where cname=信息系统)3. 查询选修了课程1和课程2的学生的学号:select sno from student where sno in (selectsnofrom sc where cno=1)and sno in (select sno from sc where cno=2)比较: 查询选修了课程1或课程2的学生的sno:select sno from sc where cno=1 or cno=2比较连接查询: select A.sno from sc A, sc B where A.sno=B.sno and A.cno=1 and B.cno=2(五) 使用带比较运算的子查询4. 查询比刘晨年龄小的所有学生的信息:select * from student where sage (select sage from student where sname=刘晨)(六)使用带Any, All谓词的子查询5. 查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;select sname, sage from student where sage Any (select sage from student where sdept=IS) and sdeptIS6. 查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄:select sname, sage from student where sage ALL(select sage from student where sdept=IS) and sdeptIS7. 查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄:select sno,sname,sage from student where sageall(select sage from student where sdept=CS)(七) 使用带Exists谓词的子查询和相关子查询8. 查询与其他所有学生年龄均不同的学生学号, 姓名和年龄:select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage and A.snoB.sno) 9. 查询所有选修了1号课程的学生姓名:select sname from student where exists(select * from sc where sno=student.sno and cno=1)10. 查询没有选修了1号课程的学生姓名:select sname from student where not exists(select * from sc where sno=student.sno and cno=1)11. 查询选修了全部课程的学生姓名:select sname from student where not exists(select * from course where not exists( select * from sc where sno=student.sno and cno=o)11. 查询至少选修了学生95002选修的全部课程的学生的学号:select distinct sno from sc A where not exists (select * from sc B where sno=95002and not exists(select * from sc C where sno=A.sno and cno=B.cno)12. 求没有人选修的课程号cno和cnamecname:select cno,cname from course C where not exists(select * from sc where o=C.cno )13*. 查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号cno的课程select sno,cno from student,course where not exists(select * from sc where cno=o and sno=student.sno)14*. 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade):select * from sc A where grade=(select max(grade) from sc where sno=A.sno ) (八) 使用聚集函数:1 查询学生总人数:Select Count(*) as 学生总数 from student2. 查询选修了课程的学生总数:select count(distinct sno) as 选课学生总数 from sc3. 查询所有课程的总学分数和平均学分数,以及最高学分和最低学分:select sum(credit) as 总credit,avg(credit) as 课程平均学分,max(credit) as 最高学分,min(credit) as 最低学分 from course4. 计算1号课程的学生的平均成绩, 最高分和最低分:select avg(grade) as 平均成绩,max(grade) as 最高分, min(grade) as 最低分from scwhere cno=15. 查询信息系(IS)学生”数据结构”课程的平均成绩:select avg(grade) from student, course, sc where student.sno=sc.sno and o=o and sdept=IS and cname=数据结构6*. 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade):select * from grade A where grade=(select max(grade) from sc where sno=A.sno ) 7*. 求成绩低于该门课程平均成绩的学生的成绩信息(sno,cno,grade)select * from grade A where grade=(select avg(grade) from sc where cno=A.cno ) (九)分组查询8. 查询各系的学生的人数并按人数从多到少排序 :Select sdept, Count(*) as 人数 from student group by sdept order by 人数 desc9. 查询各系的男女生学生总数, 并按系别,升序排列, 女生排在前:select sdept,ssex,Count(*) as 人数 from student group by sdept, ssex order by sdept,ssex desc 10. 查询选修了3门课程已上的学生的学号和姓名:select sno, sname from student where sno in (select sno from sc group by (sno) having count(*)3) 11. 查询每个学生所选课程的平均成绩, 最高分, 最低分,和选课门数:select sno, avg(grade) as 平均成绩,max(grade) as 最高分, min(grade) as 最低分, count(*) as 选课门数 from sc group by sno12. 查询至少选修了2门课程的学生的平均成绩:select sno, avg(grade) as 平均成绩, from sc group by sno having count(*)=213. 查询平均分超过80分的学生的学号和平均分:Select sno, avg(grade) as 平均成绩from sc group by sno having avg(*)=80比较: 求各学生的60分以上课程的平均分:select sno, avg(grade) as 平均成绩 from sc where grade=60 group by sno14. 查询”信息系”(IS)中选修了5门课程以上的学生的学号:select sno from sc where sno in (select sno from student where sdept=IS) group by sno having count(*)=2(十) 集合查询15. 查询数学系和信息系的学生的信息;select * from student where sdept=MA union select * from student where sdept=IS16. 查询选修了1号课程或2号课程的学生的学号:select sno from sc where cno=1 Union select sno from sc where cno=2(十一)更新数据17. 对每一个系,求学生的平均年龄,并把结果存入数据库。CREATE TABLE Deptage (Sdept CHAR(15), Avgage SMALLINT);INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept; 18. 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE CS= (SELECT Sdept FROM Student WHERE Student.Sno = SC.Sno); 19. 删除学号为95019的学生记录。DELETE FROM Student WHERE Sno=95019;实验2.3 视图的操作(一) 建立视图1. 建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS WITH CHECK OPTION;2. 建立信息系选修了1号课程且成绩在90分以上的学生的视图。 CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade=90;3. 将学生的学号及他的平均成绩定义为一个视图,假设SC表中“成绩”列Grade为数字型 CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno;(二) 删除视图1. 删除视图IS_S1DROP VIEW IS_S1;(三) 查询视图1. 在信息系学生的视图中找出年龄小于20岁的学生。SELECT Sno,Sage FROM IS_Student WHERE Sage20;2. 查询信息科学系选修了1号课程的学生 SELECT IS_Student .Sno,Sname FROM IS_Student,SC WHERE IS_Student.Sno =SC.Sno AND SC.Cno= 1;(四) 更新视图1. 将信息系学生视图IS_Student中学号95002学生姓名改为“刘辰
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 船厂工艺科管理办法
- 专项奖励考核管理办法
- 荒芜地平整管理办法
- 评估科注销管理办法
- 管理费报销管理办法
- 设计部应急管理办法
- 《药品监控管理办法》
- 计划单收发管理办法
- 舞蹈队训练管理办法
- 西藏无菌采样管理办法
- 《港珠澳大桥的影响实证分析10000字(论文)》
- 食品安全 课件 高中主题班会
- YS/T 320-2007锌精矿
- YS/T 226.12-2009硒化学分析方法第12部分:硒量的测定硫代硫酸钠容量法
- GB/T 24218.3-2010纺织品非织造布试验方法第3部分:断裂强力和断裂伸长率的测定(条样法)
- GB/T 10799-2008硬质泡沫塑料开孔和闭孔体积百分率的测定
- 系统工程原理 - 国防科技大学信息系统与管理学院
- 博微配电网工程设计软件
- 当代世界社会主义现状课件
- 《给排水科学与工程概论》全套教学课件
- 电工考核评分表(月度)
评论
0/150
提交评论