数据库实验答案_第1页
数据库实验答案_第2页
数据库实验答案_第3页
数据库实验答案_第4页
数据库实验答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验(2)、交互式SQL(1): 利用SQL 语句创建数据库、表及表之间关系  一、实验目的和注意事项1、实验目的:熟悉创建数据库和数据表的SQL 语句。2、注意事项:输入SQL 语句时应注意中文、英文的区别。二、实验内容在查询分析器中,完成以下操作。1、用SQL 语句创建数据库,名称为“TSC”。2、用SQL 语句在TSC数据库创建4张表:T,S,C,SC(参考教材P78例3.1)3、在上面的4张表中插入示例数据(参考教材P21例1.7)三、实验步骤(这部分不需要写作实验报告上)1、打开SQL Server 2000的查询分析器2、

2、创建数据库TSC。3、创建4 个表(参考教材P78例3.1)。4、在4张表中插入数据(示例数据参考教材P21例1.7, Insert 语句参考P97 3.4.1 数据插入)四、实验报告记录部分 (在实验报告中记录创建数据库、创建表及向表中插入数据的SQL语句)1、用SQL 语句创建数据库,名称为“StudentCourse”。2、用SQL 语句创建StudentCourse 中的3 张表(见下面),同时指定主码、外码、约束等。3、在3张表中插入下面的示例数据 表1  学生表(

3、Students)数据学号Sno姓名Sname性别Ssex出生日期Sbirthday所在系Sdept备注Memo0602001钟耀华男1987-05-01计算机优秀毕业生0602002吴佳硕女1987-03-24计算机爱好:音乐0602003吴纯斌男1988-07-01计算机 0701001王腾飞男1988-05-04机电爱好:音乐0701002林师微女1987-04-03机电爱好:体育0701003李乐怡女1986-03-03机电 0703001李奇男1988-09-17工商管理  表2  课程表(Courses)数据 课

4、程号Cno课程名Cname先行课PreCno学分CreditC1数据结构 4C2数据库原理C14C3大型数据库C23C4高尔夫 1表3  选课表(SC)数据学号Sno课程号Cno成绩Grade0602001C1610602001C2720602001C3880602002C1 0602002C2610701001C1500701001C2 0701002C3780701003C1520701003C387 实验(3)、交互式SQL(2)简单查询  2012-04-26 22:12:00| 

5、60;分类: 默认分类|字号 订阅一、实验目的和注意事项实验目的:掌握单表查询SELECT、FROM、WHERE 的用法,特别要掌握比较运算符、逻辑运算符的使用。注意事项:子句WHERE<条件>表示元组筛选条件;子句HAVING<条件>表示元组选择条件; 子句HAVING<条件>必须和GROUP BY 子句配合使用; 二、教材例题练习(不需要记录在实验报告上)在实验(2)创建的表及插入的示例数据(数据库TSC)基础上,完成教材P83 例3.9 三、实验内容及步骤(在实验报告中记录

6、每个查询的SQL语句)在实验(2)创建的表及插入的示例数据(数据库StudentCourse)基础上,完成 查询计算机系全体学生的信息 查询姓“李”的学生的学号和姓名。 查询课程表中先行课为空的课程名。 查询考试成绩有不及格的学生的学号。 求选修了C1 课程或C2 课程的学生的学号及成绩。 查询全体计算机系学生的姓名及其年龄。 查询计算机系在19861987 年之间出生的学生的姓名。 查询姓“李”的前2个学生(按姓名升序排列)的学号和姓名。 查询选修了两门以上课程的学生学号与

7、课程数。 查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。附:参考解答实验(4)、交互式SQL(3)复杂查询  2012-04-26 22:16:24|  分类: 默认分类|字号 订阅一、实验目的和注意事项实验目的:1.      理解多表查询的概念;掌握多表查询的SELECT、 FROM、WHERE、JOIN子句的用法,特别要对比内连接、外连接的结果差异。2.    &#

8、160; 掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT 语句的理解。注意事项:1、 内连接、 左外连接和右外连接的含义及表达方法;2、 子句的使用,注意语句的层次嵌套关系和括号的配对使用问题; 二、教材例题练习(不需要记录在实验报告上)在实验(2)创建的表及插入的示例数据(数据库TSC)基础上,完成1、教材P93 例3.19,注意some,  all的使用方法,并掌握其相应的IN 、NOT IN的等价表示2、教材P94 例3.20,注意SQL Server 2000不支持&#

9、160;Unique谓词,请给出解决这个问题的SQL语句,并记录在教材例3.20的旁边。 三、实验内容及步骤(在实验报告中记录每个查询的SQL语句)在查询分析器中输入SELECT 查询语句,对在实验(2)中已完成的StudentCourse数据库中的表,进行下列查询操作:1、多表连接查询(1) 查询选修了【数据库原理】的计算机系的学生学号和姓名。(2) 查询每一门课的间接先行课(即先行课的先行课)。(3) 查询学生的学号、姓名、选修课程的名称和成绩。(4) 查询选修了课程的学生姓名。(5) 查询所有学生的信息和所选修的课程,

10、没有选课的同学对应的选课信息为空。(6) 查询所有课程的课程编号、课程名称及选课人数,没有被选的课程选课人数显示为0。(7) 列出学生所有可能的选修情况。(8) 查找计算机系的学生选修课程数大于2 的学生的姓名、 平均成绩和选课门数,并按平均成绩降序排列。 2、嵌套查询和组合查询操作。(1) 统计选修了【数据库原理】课程的学生人数。(2) 查询没有选修【数据库原理】课程的学生信息。(3) 查询其他系中比计算机系学生年龄都小的学生。(4) 查询被0602001 学生或0602002

11、60;学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)。(5) 查询0602001 学生和0602002 学生同时选修的课程的课程号(用IN 子查询与EXISTS 嵌套子查询两种方法实现)。(6) 查询被学号0602001 学生所选修的课程的课程号。附:参考解答实验(5)、交互式SQL(4)数据更新  2012-04-26 22:19:24|  分类: 2010级数据库教学|字号 订阅一、实验目的和注意事项实验目的:

12、熟悉插入、修改和删除SQL 语句的用法注意事项:对于INSERT 语句,要求理解默认值约束、非空约束在插入时所起的作用。 二、教材例题练习(不需要记录在实验报告上)在实验(2)创建的表及插入的示例数据(数据库TSC)基础上,完成1、教材P98 例3.25,注意更正教材上第,小题的错误,并记录在该题的旁边2、教材P99 例3.263、教材P99 例3.27,注意更正教材上第小题的错误,并记录在该题的旁边 三、实验内容及步骤(在实验报告中记录每个查询的SQL语句)在实验(2)创建的表及插入的示例数据(数据库StudentCour

13、se)基础上,完成 向表Students 中插入(0601001,赵林, 男,1985-09-08,计算机)的记录。  向SC 表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。 SC表中有Sno、Cno、Grade 这3 个列。这里只知道学号和课程号,不知道成绩值。 向表Students 中插入(0601002,张修雨,default)记录,该记录的数据中default 表示默认值男,其他数据为空值。 用CREATE 语句建立表Stu

14、dentBAK1,包含(与Students 的Sno、Sname、Sdept 相同)3 个字段, 然后用INSERT SELECT 语句实现向StudentBAK1 添加Students 表中的计算机系学生的学号、姓名、所在系的信息。 用 SELECT INTO 语句实现把Students 表中1986 年后(包含1986 年)出生的学生的学号、姓名存储到一个新表StudentBAK2。 将Students表中姓名为【赵林】的同学所在系改为【机电】,爱好改

15、为【足球】。 将选修了课程名为【数据库原理】并且有成绩的学生成绩加5 分。 将StudentCourse 数据库的StudentBAK1 表中所有姓赵的同学删除。 删除机电系课程成绩不及格或者没有登记成绩的学生选课记录。 将StudentCourse 数据库的StudentBAK2 表中的所有行删除。 附:参考解答实验(六)、第四章 数据库安全性  2011-11-01 13:00:58|  分类: 默认分类|字号 订阅一、实验目的1.

16、熟悉通过SQL语句对数据进行安全控制2.完成数据库系统概论(第四版)一书中第四章例题的上机练习二、实验平台MS SQL Server 2000三、实验要求1、使用SQL语句对数据进行安全控制,包括授权和权力回收。2、授权操作完成后,检查用户是否真正具有所授予的数据操作权力;在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。四、实验内容及完成情况(实验参考解答见教学博客)在实验开始之前,需要把ftp(网盘上亦提供)上所提供的2个数据库文件(实验(6)student.mdf, 实验(6)student_log.ldf)下载到本机,并将其附加到SQL Server上。附加完成以后

17、,会出现数据库student,在这个数据库中已建立了三张基本表:student、course、SC,下面的实验是在这3张表的基础上进行的。 1.在数据库student中创建7个用户U1,U2,U3,U4,U5,U6,U7<记录下创建用户的过程,需要自己完成>记录你的实际操作过程 2.完成教材4.2.4小节例1例7(P138139)的授权语句。<记录下授权的过程,需要自己完成> 3.在授权完成以后,验证用户是否拥有相应的权限注意:验证时需要分别以不同的用户(U1U7)身份登录到数据库,进行相关的操作,检查他们是否具有教材表4.4(P139)中

18、的相应权限。<记录下验证过程,需要自己完成> 4.完成教材4.2.4小节例8例10 (P140)的权限回收语句,并验证在权限回收以后,该用户是否真正丧失了对数据的相应权限。<记录下权限回收及验证过程,需要自己完成> 5.数据库角色的使用包括: 创建角色,为角色授权,将用户添加到角色中,从角色移除用户等操作,角色概念介绍参考教材4.2.5小节数据库角色的内容( P142),而在SQL Server上机操作需要参考教学博客上提供的示例代码自行完成。<记录下角色的使用过程,需要自己完成> 五、出现的问题及解决方案<记录

19、下自己在实验过程中出现的问题及解决方法,需要自己完成>附录一:SQL Server2000数据库附加方法 附录二:本次实验参考解答 实验(七)、第五章 数据库完整性  2011-11-07 14:37:12|  分类: 默认分类|字号 订阅一、实验目的1.熟悉通过SQL语句对数据进行完整性控制2.完成数据库系统概论一书中第五章例题的上机练习二、实验平台MS SQL Server 2000三、实验要求使用SQL语句对数据进行完整性控制,包括3类完整性约束、CHECK短语、CONSTRAINT子句、触发器。通过实验证实,当操作违法完整性约束条件时,系统是如何处理的。四、实验内容及完成情况在本次实验中,对数据完整性进行上机练习。包括3类完整性、CHECK短语、CONSTRAINT子句、触发器。因为完整性约束绝大部分是在定义表结构时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论