数据的库实验的答案.doc

上传人:李司机 文档编号:1189833 上传时间:2022-07-19 格式:DOC 页数:19 大小:1.50MB
返回 下载 相关 举报
数据的库实验的答案.doc_第1页
第1页 / 共19页
数据的库实验的答案.doc_第2页
第2页 / 共19页
数据的库实验的答案.doc_第3页
第3页 / 共19页
数据的库实验的答案.doc_第4页
第4页 / 共19页
数据的库实验的答案.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数据的库实验的答案.doc》由会员分享,可在线阅读,更多相关《数据的库实验的答案.doc(19页珍藏版)》请在三一办公上搜索。

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

2、(示例数据参考教材P21例1.7,Insert语句参考P97 数据插入)四、实验报告记录局部在实验报告中记录创建数据库、创建表与向表中插入数据的SQL语句1、用SQL语句创建数据库,名称为“StudentCourse。2、用SQL语句创建StudentCourse中的3X表(见下面),同时指定主码、外码、约束等。3、在3X表中插入下面的示例数据表1学生表(Students)数据学号Sno某某Sname性别Ssex出生日期Sbirthday所在系Sdept备注Memo0602001钟耀华男1987-05-01计算机优秀毕业生0602002吴佳硕女1987-03-24计算机爱好:音乐0602003

3、吴纯斌男1988-07-01计算机0701001王腾飞男1988-05-04机电爱好:音乐0701002林师微女1987-04-03机电爱好:体育0701003李乐怡女1986-03-03机电0703001李奇男1988-09-17工商管理表2课程表(Courses)数据课程号o课程名ame先行课Preo学分CreditC1数据结构4C2数据库原理C14C3大型数据库C23C4高尔夫1表3选课表(SC)数据学号Sno课程号o成绩Grade0602001C1610602001C2720602001C3880602002C10602002C2610701001C1500701001C2070100

4、2C3780701003C1520701003C387实验(3)、交互式SQL(2)简单查询2012-04-26 22:12:00|分类:默认分类|字号订阅一、实验目的和须知事项实验目的:掌握单表查询SELECT、FROM、WHERE的用法,特别要掌握比拟运算符、逻辑运算符的使用。须知事项:子句WHERE表示元组筛选条件;子句HAVING表示元组选择条件;子句HAVING必须和GROUP BY子句配合使用;二、教材例题练习(不需要记录在实验报告上)在实验2创建的表与插入的示例数据数据库TSC根底上,完成教材P83例3.9三、实验内容与步骤在实验报告中记录每个查询的SQL语句在实验2创建的表与插

5、入的示例数据数据库StudentCourse根底上,完成查询计算机系全体学生的信息查询姓“李的学生的学号和某某。查询课程表中先行课为空的课程名。查询考试成绩有不与格的学生的学号。求选修了C1课程或C2课程的学生的学号与成绩。查询全体计算机系学生的某某与其年龄。查询计算机系在19861987年之间出生的学生的某某。查询姓“李的前2个学生(按某某升序排列)的学号和某某。查询选修了两门以上课程的学生学号与课程数。查询选修课程数大于等于2的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。附:参考解答实验(4)、交互式SQL(3)复杂查询2012-04-26 22:16:24|分类:默认分类|字号

6、订阅一、实验目的和须知事项实验目的:1.理解多表查询的概念;掌握多表查询的SELECT、FROM、WHERE、JOIN子句的用法,特别要比照内连接、外连接的结果差异。2.掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT语句的理解。须知事项:1、内连接、左外连接和右外连接的含义与表达方法;2、子句的使用,注意语句的层次嵌套关系和括号的配对使用问题;二、教材例题练习(不需要记录在实验报告上)在实验2创建的表与插入的示例数据数据库TSC根底上,完成1、教材P93例3.19,注意some, all的使用方法,并掌握其相应的IN、NOT IN的等价表示2、教材P94例3.20,注意SQL

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

8、称与选课人数,没有被选的课程选课人数显示为0。(7)列出学生所有可能的选修情况。(8)查找计算机系的学生选修课程数大于2的学生的某某、平均成绩和选课门数,并按平均成绩降序排列。2、嵌套查询和组合查询操作。(1)统计选修了【数据库原理】课程的学生人数。(2)查询没有选修【数据库原理】课程的学生信息。(3)查询其他系中比计算机系学生年龄都小的学生。(4)查询被0602001学生或0602002学生所选修的课程的课程号(用UNION组合查询与IN条件查询两种方法实现)。(5)查询0602001学生和0602002学生同时选修的课程的课程号(用IN子查询与EXISTS嵌套子查询两种方法实现)。(6)查

9、询被学号0602001学生所选修的课程的课程号。附:参考解答实验(5)、交互式SQL(4)数据更新2012-04-26 22:19:24|分类:2010级数据库教学|字号订阅一、实验目的和须知事项实验目的:熟悉插入、修改和删除SQL语句的用法须知事项:对于INSERT语句,要求理解默认值约束、非空约束在插入时所起的作用。二、教材例题练习(不需要记录在实验报告上)在实验2创建的表与插入的示例数据数据库TSC根底上,完成1、教材P98例3.25,注意更正教材上第,小题的错误,并记录在该题的旁边2、教材P99例3.263、教材P99例3.27,注意更正教材上第小题的错误,并记录在该题的旁边三、实验内

10、容与步骤在实验报告中记录每个查询的SQL语句在实验2创建的表与插入的示例数据数据库StudentCourse根底上,完成向表Students中插入(0601001,赵林,男,1985-09-08,计算机)的记录。向SC表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。SC表中有Sno、o、Grade这3个列。这里只知道学号和课程号,不知道成绩值。向表Students中插入(0601002,X修雨,default)记录,该记录的数据中default表示默认值男,其他数据为空值。用CREATE语句建立表StudentBAK1,包含(与Students的Sno、Sname、Sde

11、pt一样)3个字段,然后用INSERT SELECT语句实现向StudentBAK1添加Students表中的计算机系学生的学号、某某、所在系的信息。用SELECT INTO语句实现把Students表中1986年后(包含1986年)出生的学生的学号、某某存储到一个新表StudentBAK2。将Students表中某某为【赵林】的同学所在系改为【机电】,爱好改为【足球】。将选修了课程名为【数据库原理】并且有成绩的学生成绩加5分。将StudentCourse数据库的StudentBAK1表中所有姓赵的同学删除。删除机电系课程成绩不与格或者没有登记成绩的学生选课记录。将StudentCourse数

12、据库的StudentBAK2表中的所有行删除。附:参考解答实验(六)、第四章 数据库安全性2011-11-01 13:00:58|分类:默认分类|字号订阅一、实验目的1.熟悉通过SQL语句对数据进展安全控制2.完成数据库系统概论(第四版)一书中第四章例题的上机练习二、实验平台MS SQL Server 2000三、实验要求1、使用SQL语句对数据进展安全控制,包括授权和权力回收。2、授权操作完成后,检查用户是否真正具有所授予的数据操作权力;在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。四、实验内容与完成情况实验参考解答见教学博客在实验开始之前,需要把ftp网盘上亦提供上所提供的2

13、个数据库文件(实验(6)student.mdf,实验(6)student_log.ldf)下载到本机,并将其附加到SQL Server上。附加完成以后,会出现数据库student,在这个数据库中已建立了三X根本表:student、course、SC,下面的实验是在这3X表的根底上进展的。1.在数据库student中创建7个用户U1,U2,U3,U4,U5,U6,U7记录你的实际操作过程2.完成教材小节例1例7(P138139)的授权语句。3.在授权完成以后,验证用户是否拥有相应的权限注意:验证时需要分别以不同的用户(U1U7)身份登录到数据库,进展相关的操作,检查他们是否具有教材表4.4(P1

14、39)中的相应权限。4.完成教材小节例8例10 (P140)的权限回收语句,并验证在权限回收以后,该用户是否真正丧失了对数据的相应权限。5.数据库角色的使用包括:创建角色,为角色授权,将用户添加到角色中,从角色移除用户等操作,角色概念介绍参考教材小节数据库角色的内容( P142),而在SQL Server上机操作需要参考教学博客上提供的示例代码自行完成。五、出现的问题与解决方案附录一:SQL Server2000数据库附加方法附录二:本次实验参考解答实验(七)、第五章 数据库完整性2011-11-07 14:37:12|分类:默认分类|字号订阅一、实验目的1.熟悉通过SQL语句对数据进展完整性

15、控制2.完成数据库系统概论一书中第五章例题的上机练习二、实验平台MS SQL Server 2000三、实验要求使用SQL语句对数据进展完整性控制,包括3类完整性约束、CHECK短语、CONSTRAINT子句、触发器。通过实验证实,当操作某某完整性约束条件时,系统是如何处理的。四、实验内容与完成情况在本次实验中,对数据完整性进展上机练习。包括3类完整性、CHECK短语、CONSTRAINT子句、触发器。因为完整性约束绝大局部是在定义表结构时进展的,因此可能需要屡次重复定义同一X表。如果表名发生重复,如此需要先删除旧表后再重新建立。在开始实验之前,先创建一个名为Practice7的数据库,下面所

16、有的SQL语句都是在Practice7这个数据库内执行的1.在数据库Practice7中创建教材P82的student, course, sc三X表,先不设置主键,检查能否向表中插入重复值。2.实体完整性:删除上一步创建的3X表,重新创建,对每X表都设置主键,先不为SC表设置外键。再次检查能否向表中插入重复值,能否在SC表中插入不存在的学号(Sno)或者课程号(o)3.参照完整性:删除上一步创建的SC表,重新创建SC表并为其设置主键和外键。再次验证能否在SC表中插入不存在的学号(Sno)或者课程号(o)4.用户定义的完整性:完成教材P158例10,并通过插入数据进展验证。5.触发器的使用选做创建一个名为Tab的表,它仅包含一整数列(列名为col)。在表Tab上定义触发器Tri,在对Tab表插入或者更新前进展检查,如果插入或更新的值在60100之间,将值设置为60;如果大于100,如此给出新值不允许大于100的提示信息。五、出现的问题与解决方案附录:本次实验参考解答

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号