1、(在实验报告中记录创建数据库、创建表及向表中插入数据的SQL语句)语句创建数据库,名称为“StudentCourse”。语句创建StudentCourse中的3张表(见下面),同时指定主码、外码、约束等。3、在3张表中插入下面的示例数据表1学生表(Students)数据学号Sno姓名Sname性别Ssex出生日期Sbirthday所在系Sdept备注Memo0602001钟耀华男1987-05-01计算机优秀毕业生0602002吴佳硕女1987-03-24爱好:音乐0602003吴纯斌1988-07-010701001王腾飞1988-05-04机电0701002林师微1987-04-03体育0
2、701003李乐怡1986-03-030703001李奇1988-09-17工商管理表2课程表(Courses)数据课程号Cno课程名Cname先行课PreCno学分CreditC1数据结构4C2数据库原理C3大型数据库3C4高尔夫1表3选课表(SC)数据成绩Grade61728850785287实验(3)、交互式SQL(2)简单查询2012-04-26 22:12:00|分类:默认分类|字号订阅实验目的:掌握单表查询SELECT、FROM、WHERE的用法,特别要掌握比较运算符、逻辑运算符的使用。注意事项:子句WHERE表示元组筛选条件;子句HAVING表示元组选择条件;必须和GROUP B
3、Y子句配合使用;二、教材例题练习(不需要记录在实验报告上)在实验(2)创建的表及插入的示例数据(数据库TSC)基础上,完成教材P83例3.9三、实验内容及步骤(在实验报告中记录每个查询的SQL语句)在实验(2)创建的表及插入的示例数据(数据库StudentCourse)基础上,完成查询计算机系全体学生的信息查询姓“李”的学生的学号和姓名。查询课程表中先行课为空的课程名。查询考试成绩有不及格的学生的学号。求选修了C1课程或C2课程的学生的学号及成绩。查询全体计算机系学生的姓名及其年龄。查询计算机系在19861987年之间出生的学生的姓名。查询姓“李”的前2个学生(按姓名升序排列)的学号和姓名。查
4、询选修了两门以上课程的学生学号与课程数。查询选修课程数大于等于2的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。附:参考解答实验(4)、交互式SQL(3)复杂查询16:24|1.理解多表查询的概念;掌握多表查询的SELECT、FROM、WHERE、JOIN子句的用法,特别要对比内连接、外连接的结果差异。2.掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT语句的理解。1、内连接、左外连接和右外连接的含义及表达方法;2、子句的使用,注意语句的层次嵌套关系和括号的配对使用问题;在实验(2)创建的表及插入的示例数据(数据库TSC)基础上,完成1、教材P93例3.19,注意som
5、e, all的使用方法,并掌握其相应的IN、NOT IN的等价表示2、教材P94例3.20,注意SQL Server 2000不支持Unique谓词,请给出解决这个问题的SQL语句,并记录在教材例3.20的旁边。在查询分析器中输入SELECT查询语句,对在实验(2)中已完成的StudentCourse数据库中的表,进行下列查询操作:1、多表连接查询(1)查询选修了【数据库原理】的计算机系的学生学号和姓名。(2)查询每一门课的间接先行课(即先行课的先行课)。(3)查询学生的学号、姓名、选修课程的名称和成绩。(4)查询选修了课程的学生姓名。(5)查询所有学生的信息和所选修的课程,没有选课的同学对应
6、的选课信息为空。(6)查询所有课程的课程编号、课程名称及选课人数,没有被选的课程选课人数显示为0。(7)列出学生所有可能的选修情况。(8)查找计算机系的学生选修课程数大于2的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列。2、嵌套查询和组合查询操作。统计选修了【数据库原理】课程的学生人数。查询没有选修【数据库原理】课程的学生信息。查询其他系中比计算机系学生年龄都小的学生。查询被0602001学生或0602002学生所选修的课程的课程号(用UNION组合查询与IN条件查询两种方法实现)。查询0602001学生和0602002学生同时选修的课程的课程号(用IN子查询与EXISTS嵌套子查询两
7、种方法实现)。查询被学号0602001学生所选修的课程的课程号。实验(5)、交互式SQL(4)数据更新19:2010级数据库教学|字号熟悉插入、修改和删除SQL语句的用法对于INSERT语句,要求理解默认值约束、非空约束在插入时所起的作用。1、教材P98例3.25,注意更正教材上第,小题的错误,并记录在该题的旁边2、教材P99例3.263、教材P99例3.27,注意更正教材上第小题的错误,并记录在该题的旁边向表Students中插入(0601001,赵林,男,1985-09-08,计算机)的记录。向SC表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。SC表中有Sno、Cn
8、o、Grade这3个列。这里只知道学号和课程号,不知道成绩值。中插入(0601002,张修雨,default)记录,该记录的数据中default表示默认值男,其他数据为空值。用CREATE语句建立表StudentBAK1,包含(与Students的Sno、Sname、Sdept相同)3个字段,然后用INSERT SELECT语句实现向StudentBAK1添加Students表中的计算机系学生的学号、姓名、所在系的信息。用SELECT INTO语句实现把Students表中1986年后(包含1986年)出生的学生的学号、姓名存储到一个新表StudentBAK2。将Students表中姓名为【赵
9、林】的同学所在系改为【机电】,爱好改为【足球】。将选修了课程名为【数据库原理】并且有成绩的学生成绩加5分。将StudentCourse数据库的StudentBAK1表中所有姓赵的同学删除。删除机电系课程成绩不及格或者没有登记成绩的学生选课记录。数据库的StudentBAK2表中的所有行删除。实验(六)、第四章 数据库安全性2011-11-01 13:00:58|一、实验目的1.熟悉通过SQL语句对数据进行安全控制2.完成数据库系统概论(第四版)一书中第四章例题的上机练习二、实验平台MS SQL Server 2000三、实验要求1、使用SQL语句对数据进行安全控制,包括授权和权力回收。2、授权
10、操作完成后,检查用户是否真正具有所授予的数据操作权力;在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。四、实验内容及完成情况(实验参考解答见教学博客)在实验开始之前,需要把ftp(网盘上亦提供)上所提供的2个数据库文件(实验(6)student.mdf,实验(6)student_log.ldf)下载到本机,并将其附加到SQL Server上。附加完成以后,会出现数据库student,在这个数据库中已建立了三张基本表:student、course、SC,下面的实验是在这3张表的基础上进行的。1.在数据库student中创建7个用户U1,U2,U3,U4,U5,U6,U7记录你的实际操
11、作过程2.完成教材4.2.4小节例1例7(P138139)的授权语句。记录下授权的过程,需要自己完成3.在授权完成以后,验证用户是否拥有相应的权限注意:验证时需要分别以不同的用户(U1U7)身份登录到数据库,进行相关的操作,检查他们是否具有教材表4.4(P139)中的相应权限。记录下验证过程,需要自己完成4.完成教材4.2.4小节例8例10 (P140)的权限回收语句,并验证在权限回收以后,该用户是否真正丧失了对数据的相应权限。记录下权限回收及验证过程,需要自己完成5.数据库角色的使用包括:创建角色,为角色授权,将用户添加到角色中,从角色移除用户等操作,角色概念介绍参考教材4.2.5小节数据库角色的内容( P142),而在SQL Server上机操作需要参考教学博客上提供的示例代码自行完成。记录下角色的使用过程,需要自己完成五、出现的问题及解决方案
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1