数据库-实验二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告册2014 / 2015 学年第2 学期

系别计算机科学与技术系

实验课程数据库原理

专业计算机科学与技术

班级

姓名

学号

指导教师

实验二——SQL语句

一、实验目的

1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询

和统计查询,能理解空值的处理;

2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操

作;

3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图;

4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作;

二、实验预习内容

在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。

请在空白处填写相应的SQL命令。

1)查询年级为2001的所有学生的名称,按编号顺序排列;

2)查询所有课程名称中含有data的课程编号;

3)统计所有老师的平均工资;

4)查询至少选了3门课的学生编号;

5)查询学号为80009026的学生的姓名、所选课名及成绩;

6)查询没有学生选的课程编号;

7)查询既选了C++又选了Java课程的学生编号;

8)查询选了C++但没选Java课程的学生编号;

9)向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX@,年级:1992);

10)将“LiMing”的年级改为2002;

11)删除所有选了Java课程的学生选课记录;

12)求出每门课的课程号、选课人数,结果存入数据库表T1中。

13)查询所有选课记录的成绩并换算为五分制(注意NULL的情况);

14)查询成绩小于0的选课记录,统计总数、平均分、最大值和最小值(注意查询结果中NULL的情况);

15)按成绩顺序排序显示CHOICES表中所有记录。(使用ORDER BY排序,注意NULL 的情况);

16)创建视图V1,显示学生姓名、所选课名称、任课教师名;

17)取消V1视图;

2.使用STC数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操作。请

在空白处填写相应的SQL命令或其它内容。

1)创建视图V2,显示计算机(CS)系学生信息;(结合下面的b)小题,V2视图创建2(1)不加WITH CHECK OPTION(2)加WITH CHECK OPTION

create view V2

as select * from students where sdept=’cs’create view V2’

as select * from students where sdept=’cs’

with check option

2)插入元组(99999,张三,20岁,男,PH)到V2中,运行结果如何?(观察WITH CHECK

3)在V2基础上,查询所有计算机系女生信息;

select * from V2

where ssex=’女’

3.结束本次实验

三、实验课后训练

1.掌握SQL SERVER中流控制语句及其它常用编程语句;

1)使用查询分析器,编写代码,输出乘法口诀表。

2.自行练习实验指导书P24【实验1.2 数据查询】1.2.5自我实践部分;

3.自行练习实验指导书P30【实验1.3 数据更新】1.3.5自我实践部分;

4.自行练习实验指导书P36【实验1.4 视图】1.4.5自我实践部分;

5.自行练习实验指导书P49【实验1.6 空值和空集的处理】1.

6.5自我实践部分;

四、实验报告

1.SQL SERVER中变量声明的命令是什么?输出命令是什么?

变量声明:局部变量需要声明,declare @变量名,空格,数据类型(声明变量)。全局变量不需要声明。

输出命令:select (查询命令)

2.SQL SERVER中实现分支和循环的语句分别是什么?

分支:用case 测试表达式

when 测试值1 then 结果表达式1

when 测试值2 then 结果表达式2

[else 结果表达式n+1]

end

循环:用while 布尔表达式

begin 语句序列1

[break] 语句序列2

[continue] 语句序列3

end

3.在SQL SERVER里使用ORDER BY排序时,NULL值如何处理?使用GROUP BY分组时,NULL 值又如何处理的?

null 默认为最大值(即:asc 升序<小-->大>,null值排在最后;desc 降序<大-->小>,null值排在最前面

4.实验总结(实验过程中出现的问题、解决方法、结果如何或其它)

有些较为复杂的嵌套查询,刚开始不知道如何写,然后问同学,理清了思路,并完成了编程。

在这次实验中,有好多因为中英字符问题而出现的命令错误,进行更改后就可以正常执行命令了

实验三——数据库完整性与安全性

一、实验目的

1.理解实体完整性、参照完整性、用户自定义完整性的概念,学习三类完整性的实现,了

解违反完整性的结果;

2.掌握MS SQL SERVER中的有关用户登录认证及管理方法,熟练使用自主存取控制进行权

限管理;

二、实验预习内容

在认真阅读教材及实验指导书【2.1 实体完整性】、【2.2 参照完整性】、【2.3 用户自定义完整性】、【2.4 触发器】、【2.5 综合案例】和【3.1 用户标识与鉴别】、【3.2 自主存取控制】、【3.3 视图机制在自主存取控制上的应用】、【3.4 Public角色在安全性中的应用】、【3.8 综合案例】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1.使用SCHOOL数据库

1)创建一张新表CLASS,包括Class_id(varchar(4)),Name(varchar(10)),Department (varchar(20))三个属性列,其中Class_id为主码;

2)执行两次相同的插入操作(’0001’,’01csc’,’cs’),结果如何;

2.使用SQL命令创建一张学生互助表,要求:包括学生编号、学生姓名、学生帮助对象的

编号,每个学生有且仅有一个帮助对象,帮助的对象必须是已存在的学生。

相关文档
最新文档