SQL数据库实验指导书.docx
- 文档编号:3007578
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:20.97KB
SQL数据库实验指导书.docx
《SQL数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《SQL数据库实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。
SQL数据库实验指导书
《数据库开发与应用》实验指导书
沈阳理工大学应用技术学院
2009年12月
目录
实验一数据库和表的操作1
实验二数据的操作6
实验三存储过程的操作9
实验四触发器的使用11
实验五数据库综合设计13
实验一数据库和表的操作
实验目的:
1、了解SQLSERVER数据库的逻辑结构和物理结构;
2、掌握SQLSERVER数据库的文件组成;
3、掌握SQLSERVER数据库中文件组的概念;
4、了解表的结构和特点;
5、了解SQLSERVER的基本数据类型;
6、学会使用结构化查询语句创建和管理数据库和表;
实验内容:
1、使用sql语句创建最简单的数据库;
2、使用sql语句创建带条件的数据库,要指定数据文件和日志文件的名称、大小、最大限制和文件增长速度;
3、为数据库改名;
4、向数据库中填加、删除一个数据文件;
5、向数据库中填加一个日志文件;
6、修改数据库文件的属性:
包括文件大小,最大限制,增长方式等;
7、删除数据库;
8、在数据库bookborrow中建立3个基本表,实现对表的管理。
具体实验内容:
1、使用sql语句建立最简单的数据库sqlcourse;
2、使用sql语句建立数据库school。
包含两个数据库文件和一个日志文件,其中主数据文件的逻辑名为“school_data”,初始大小为10MB,最大大小为500MB,设置文件自动增长,增长方式为10%;辅助数据文件的逻辑名为“school_data2”,初始大小为2MB,最大大小为30MB,设置文件自动增长,增长方式为5MB。
日志文件的所有限制默认。
3、为数据库sqlcourse更名为yangguang。
4、使用sql语句在数据库school中添加和删除一个数据文件。
(1)逻辑名、物理名、初始大小、最大大小自己设计,增长按照MB方式自动增长。
(2)删除数据文件“school_data2”。
5、使用sql语句在数据库school中添加一个日志文件。
(1)逻辑名、物理名、初始大小、最大大小自己设计,增长按照百分计数方式自动增长。
6、使用sql语句在数据库school中建立教师表t,学生表s,课程表c,选课表sc和授课表tc。
表1-1t(教师)表结构
字段名
字段类型
字段宽度
说明
tno
varchar
8
教师号(非空)
tname
varchar
10
教师姓名(非空)
tsex
varchar
4
性别
tage
smallint
2
年龄
tprof
varchar
10
职称
tsal
smallint
2
工资
tcomm
smallint
2
岗位津贴
tdept
varchar
20
系名
表1-2s(学生)表结构
字段名
字段类型
字段宽度
说明
sno
varchar
8
学号(非空)
sname
varchar
10
学生姓名(非空)
ssex
varchar
4
性别
sage
smallint
2
年龄
sdept
varchar
20
系名
表1-3c(课程)表结构
字段名
字段类型
字段宽度
说明
cno
varchar
8
课程号(非空)
cname
varchar
20
课程名(非空)
ct
smallint
2
课时数
表1-4sc(选课)表结构
字段名
字段类型
字段宽度
说明
sno
varchar
8
学号(非空)
cno
varchar
8
课程号(非空)
score
smallint
2
成绩
表1-5tc(授课)表结构
字段名
字段类型
字段宽度
说明
tno
varchar
8
教师号(非空)
cno
varchar
8
课程号(非空)
7、使用INSERTINTO语句插入数据
t表
tno
tname
tsex
tage
tprof
tsal
tcomm
tdept
t1
李力
男
47
教授
1800
3000
计算机
t2
王平
女
28
讲师
850
1200
信息
t3
刘伟
男
30
讲师
1000
1200
计算机
t4
张雪
女
51
教授
1900
3000
自动化
t5
张兰
女
39
副教授
1500
3000
信息
s表
sno
sname
ssex
sage
sdept
s1
赵亦
女
17
计算机
s2
钱尔
男
18
信息
s3
孙姗
女
20
信息
s4
李思
男
21
自动化
s5
周武
男
19
计算机
s6
吴丽
女
20
自动化
sc表
sno
cno
score
s1
c2
85
s1
c5
100
s2
c5
60
s2
c6
80
s2
c7
s3
c2
70
s3
c4
85
s4
c2
85
s4
c3
83
s5
c2
89
c表
cno
cname
ct
c1
程序设计
60
c2
微机原理
80
c3
数字逻辑
60
c4
数据结构
80
c5
数据库
60
c6
编译原理
60
c7
操作系统
60
tc表:
tno
cno
t1
c1
t2
c5
t4
c2
t5
c5
t3
c1
t3
c5
t2
c7
t4
c3
t5
c7
8、分别建立5个基本表的主码,建立学生表与选课表,课程表与选课表之间的关系;
9、限制选课表的成绩列输入的值在0到100之间。
10、设置性别的取值或者是‘男’或者是‘女’。
11、设置课程表中课程时数的初始值为0。
实验报告书写要求:
1、字迹工整,过程清晰。
2、方法与原理分析写本次实验所涉及的理论知识点。
3、实现过程写出创建和修改数据库和基本表的SQL语句。
4、结果分析写出修改后执行的结果,同时对实验过程中遇到的问题作适当分析。
5、实验后一周完成实验报告书写。
实验二数据的操作
(查询,修改和删除)
实验目的:
1、掌握指定列或全部列查询;
2、掌握按条件查询;
3、掌握对查询结果排序;
4、掌握使用聚集函数的查询;
5、掌握对查询结果分组;
6、掌握涉及一个以上数据表的查询;
7、掌握嵌套查询的方法,从而增强SQL的查询能力;
8、掌握使用UNION操作符将来自不同查询但结构相同的数据集合组合起来。
实验内容:
1、完成数据表的创建过程。
2、对于单个数据表实现多种不同条件的查询。
3、对于多个表之间实现连接查询,主要包括2种外连接和带有连接谓词的内连接。
4、实现嵌套查询操作,同时练习嵌套查询和连接查询之间的互相转换。
同时掌握自身连接的查询。
5、实现集合查询的操作,掌握不同集合操作符的优先级。
具体实验内容:
1、创建数据库表:
(使用实验一的数据表及其数据)
教师表:
T;
学生表:
S;
课程表:
C;
选课表:
SC;
授课表:
TC
2、查询操作:
(结合实验一的实验一的数据完成各种不同的查询)
2.1单表查询
⑴查询S表中全体学生的详细记录;
⑵查询所有学生的姓名及其出生年份;
⑶查询考试成绩不及格的学生学号、姓名;(连接)
⑷查询年龄在20-23岁之间的学生姓名、系名、年龄;
⑸查询姓李的学生的姓名、学号和性别;
⑹查询名字中第2个字为“明”字的男学生的姓名和系名;
⑺查询信息系、计算机系学生的姓名、系名,结果按系名升序,姓名降序排序;
⑻查询所有有课程号C2成绩的学生的学号、课程号和成绩,并按成绩降序排序;
⑼查询计算机系学生总人数;
⑽查询选修了微机原理课程的学生人数、平均成绩、最高成绩;(连接)
11查询各个课程号及相应的选课人数;
12查询选修了2门以上课程的学生学号、姓名和平均成绩;(连接)。
2.2连接查询
⑴查询所有选课学生的学号、姓名、选课名称及成绩;
⑵查询每门课程的课程号、任课教师姓名及其选课人数;
⑶查询所有比“刘伟”工资高的教师姓名、工资和刘伟的工资;
⑷查询同时选修了“程序设计”和“微机原理”的学生姓名、课程名;
⑸查询所有学生的学号、姓名、选课名称及成绩(没有选课的同学的选课信息显示为空)。
2.3嵌套查询
⑴查询与“刘伟”教师职称相同的教师号、姓名和职称;
⑵使用ANY谓词查询讲授课程号为C5的教师姓名;
⑶使用IN谓词查询讲授课程号为C5的教师姓名;
⑷使用ALL谓词查询其他系中比计算机系所有教师工资都高的教师的姓名、工资和所在系别。
2.4集合查询
⑴查询计算机系的学生姓名及年龄不大于19岁的学生姓名。
实验报告书写要求:
1、字迹工整,过程清晰。
2、方法与原理分析写本次实验所涉及的理论知识点。
3、实现过程写出查询数据表的SQL语句。
4、结果分析写出查询后执行的结果,同时对实验过程中遇到的问题作适当分析。
5、实验后一周完成实验报告书写。
实验三存储过程的操作
实验目的:
1通过实验掌握存储过程的概念、功能。
2掌握用户自定义存储过程的创建方法,包括不带参数的,带输入值参数的,带返回值参数的。
3掌握存储过程和过程语句的结合使用。
4掌握存储过程的删除的方法。
5掌握存储过程的执行的方法,包括没有参数的直接使用,带输入参数的使用方法,带输出参数的声明参数并赋值的方法。
实验内容:
1、创建并执行存储过程
(1)用SQL语句创建并执行一存储过程Prc_Qsinf:
通过学生学号来查询学生的姓名、年龄、系名。
其中默认学号是“S2”。
(2)执行存储过程Prc_Qsinf。
查询并显示出默认学号(即S2)和学号为S4学生的姓名和年龄。
(3)用SQL语句创建一存储过程Pro_Qscore:
通过学生姓名和课程名查询该学生该课程的成绩。
(4)执行存储过程Pro_Qscore。
查询并显示学生“李思”的“程序设计”课程的成绩。
2、修改存储过程
(1)用SQL修改存储过程Prc_Qsinf。
修改要求:
把定义中的变量sno_in长度修改为2字节;
sage_out变量类型改为tinyint。
(2)用SQL修改存储过程Prc_Qsinf。
存储过程的定义改为:
根据学号查询姓名、性别、系名。
设默认学号为“S1”。
3、删除存储过程
(1)用SQL删除存储过程Pro_Qscore。
实验报告书写要求:
1、字迹工整,过程清晰。
2、方法与原理分析写本次实验所涉及的理论知识点。
3、实现过程写出创建和修改数据库和基本表的SQL语句。
4、结果分析写出修改后执行的结果,同时对实验过程中遇到的问题作适当分析。
5、实验后一周完成实验报告书写。
实验四触发器的使用
实验目的:
1、掌握高级查询的使用方法;
2、学习触发器定义的方法;
3、分别练习使用插入、修改、删除触发器;
4、重点掌握使用触发器实现数据表之间的关联。
5、掌握使用触发器实现级联更新和级联删除操作。
6、掌握判断不同触发器类型的方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 实验 指导书