数据库实验指导071125.docx
- 文档编号:26453626
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:17
- 大小:317.13KB
数据库实验指导071125.docx
《数据库实验指导071125.docx》由会员分享,可在线阅读,更多相关《数据库实验指导071125.docx(17页珍藏版)》请在冰豆网上搜索。
数据库实验指导071125
《数据库系统原理》
实验指导书
索剑
2007-11
实验1:
数据库模式设计及建立(2学时)
实验目的:
1.掌握数据库模式设计及建立的方法,建立数据库及关系
2.比较SQL命令方式和可视化环境管理器方式设计的异同点
3.熟悉SQLSERVER的企业管理器和查询分析器
实验类型:
验证
实验内容:
1.在SQLServer环境中建立“学生-课程”数据库
2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表
3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系
操作步骤:
1.描述教材P59中所叙述的“学生-课程”数据库概念模式
2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)
Student(学生表):
Sno
Sname
Ssex
Sage
Sdept
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
18
IS
95005
王强
男
17
IS
95015
张三
男
20
CS
95019
李四
男
20
CS
95020
陈冬
男
18
IS
Course(课程表):
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
Pascal语言
6
4
SC(选修表):
Sno
Cno
Grade
95001
1
65
95001
2
88
95001
3
57
95001
4
79
95001
5
45
95001
6
90
95001
7
81
95002
2
90
95002
3
80
95002
4
55
95003
2
0
95019
2
66
95020
1
3.熟悉SQLSERVER的企业管理器和查询分析器
4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程
5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程
6.启动“查询分析器”,编制SQL语言再次实现上述过程。
实验报告:
描述实验的详细实现步骤
写出设计心得,分析概念模式、逻辑模式及物理模式的联系和实现
比较可视化和SQL语言两种方法的特点
实验2:
数据库中数据的查询(2学时)
实验目的:
学会使用SQL语言进行各种类型的查询,理解各种查询的异同及相互之间的转换。
实验类型:
验证
实验内容:
练习单表查询、嵌套查询、连接查询及集合查询
操作步骤:
1)打开实验1建立的数据库
2)在查询分析器中完成以下单表查询语句
查询全体学生的姓名及其出生年份
查询选修了课程的学生学号(去掉重复行)
查询年龄不在20~23岁之间的学生姓名、系别和年龄
查询既不是IS、MA,也不是CS系学生的姓名和性别
查询所有姓刘的学生的姓名、学号和性别
查询选修了3号课程的学生的学号及其成绩,结果按分数的降序排列
计算1号课程的学生平均成绩
查询选修了3门以上课程的学生学号
3)在查询分析器中完成以下连接查询语句
查询每个学生及其选修课程的情况(使用自然连接、外连接分别完成)
查询每一门课的间接先修课
查询选修2号课程且成绩在90分以上的所有学生
查询每个学生的学号、姓名、选修的课程名及成绩
4)在查询分析器中完成以下嵌套查询语句
查询与“刘晨”在同一个系学习的学生(使用嵌套查询、自身连接、比较运算符分别完成)
查询选修了课程名为“信息系统”的学生学号和姓名(使用嵌套查询、自然连接分别完成)
查询其他系中比信息系某一学生年龄小的学生姓名和年龄(使用ANY谓词、集函数分别完成)
查询所有选修了1号课程的学生(使用比较运算符、IN、EXISTS分别完成)
查询没有选修1号课程的学生的姓名
查询选修全部课程的学生姓名
查询至少选修了学生95002选修的全部课程的学生号码
5)在查询分析器中完成以下集合查询语句
查询计算机科学系的学生及年龄不大于19岁的学生并按学号排序(使用单表查询、集合查询分别完成)
查询计算机科学系的学生及年龄不大于19岁的学生的差集
6)在企业管理器可视化环境下重新完成2-5步骤的内容
实验报告:
描述实验的详细实现步骤
写出设计心得,总结各种查询的方法特点;比较用多个单表查询完成嵌套查询的应用特点;比较企业管理器和查询分析器使用的特点
实验3:
数据库中数据的更新(1学时)
实验目的:
掌握数据输入、删除和修改的方法;理解各种约束的作用。
实验类型:
验证
实验内容:
插入数据;修改数据;删除数据
操作步骤:
1)打开实验1建立的数据库
2)在查询分析器中完成以下插入语句
将一个新学生记录(学号:
95020;姓名:
陈冬;性别:
男;所在系:
IS;年龄:
18岁)插入到Student表中;
插入一条选课记录(’95099’,’1’);
对每一个系,求学生的平均年龄,并把结果存入数据库表Deptage中;
3)建立一个新数据库“SC_BAK”,将“学生-课程”数据库中所有表的结构及数据导入“SC_BAK”中
4)在查询分析器中完成以下修改语句
将学生95001的年龄改为22岁;
将所有学生的年龄增加1岁;
将计算机科学系全体学生的成绩置零;
5)在查询分析器中完成以下删除语句
删除学号为‘95020’的学生记录;
删除所有计算机科学系的学生选课记录;
6)利用步骤(3)建立的数据库“SC_BAK”,恢复“学生-课程”数据库中所有表的结构及数据;
实验报告:
描述实验的详细实现步骤
写出设计心得,总结各种数据更新的方法和特点;在数据更新时保持数据一致性的问题;比较企业管理器和查询分析器使用的特点。
实验4:
数据库中数据视图的使用(1学时)
实验目的:
掌握数据视图的定义、删除;学会使用视图进行查询和更新的方法;理解视图更新的限制。
实验类型:
验证
实验内容:
视图定义;视图删除;使用视图进行查询和更新
操作步骤:
1)打开实验1建立的数据库
2)在查询分析器中完成以下定义语句
建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生;
CREATEVIEWIS_Student
AS
SELECTSno,Sname,Sage
FROMStudent
WHERESdept='IS'
WITHCHECKOPTION
将学生的学号及平均成绩定义为一个视图;
CREATEVIEWS_G(Sno,Gavg)
AS
SELECTSno,AVG(Grade)
FROMSC
GROUPBYSno
将Student表中所有女生记录定义为一个视图;
CREATEVIEWF_Student(F_Sno,name,sex,age,dept)
AS
SELECT*
FROMStudent
WHERESsex='女'
3)观察步骤
(2)中建立的视图查询情况
4)利用步骤
(2)中建立的视图完成以下查询操作,并仔细观察结果
查询信息中年龄小于20岁的学生;
SELECTSno,Sage
FROMIS_Student
WHERESage<20
查询信息系选修了1号课程的学生的视图;
SELECTIS_Student.Sno,Sname
FROMIS_Student,SC
WHEREIS_Student.Sno=SC.SnoANDSC.Cno='1'
查询平均成绩在90分以上的学生学号和平均成绩
SELECT*
FROMS_G
WHEREGavg>=90
5)使用企业管理器完成步骤(4)中的内容,并仔细观察结果
6)利用步骤
(2)中建立的视图完成以下更新操作,并仔细观察结果
将95002的学生的姓名改为“李娜”;
插入一名信息系学生记录,学号:
95029;姓名:
赵信;年龄:
20岁;
INSERT
INTOStudent(Sno,Sname,Sage,Sdept)
VALUES('95029','赵信',20,'IS')
删除95029学生记录;
DELETE
FROMIS_Student
WHERESno='95029'
实验结论,设计心得:
写出设计心得,总结视图的作用以及使用视图的方法和特点;使用视图进行查询和更新时应注意的问题;比较企业管理器和查询分析器使用的特点。
实验5:
简单应用系统的实现(4学时)
实验目的:
掌握数据库设计的基本步骤和方法。
实验类型:
设计、综合
实验内容:
以SQLServer为平台建立“计算机科学系学生档案管理系统”。
操作步骤:
1)了解“计算机科学系学生档案管理系统”的任务要求;
“计算机科学系学生档案管理系统”要求能完成如下任务:
a.分班查询学生情况(即得到每个班的学生情况)
b.通过学生学号、姓名、性别等属性查询学生的情况
c.可以查询来自诸如河源等地区的所有学生
d.查询每班的班长、副班长、学习委员等情况
学生的基本情况至少应包括学号、姓名、性别、家庭地址、父母情况等内容。
2)请根据以上需求确定数据字典;
3)请根据以上需求完成概念设计,要求必须画出详细的E-R图;
4)根据概念设计的结果完成相应的逻辑设计内容;
5)完成数据库的物理设计内容;
6)建立数据库,并填充至少10个记录;
7)在数据库中建立各种查询完成步骤
(1)中的要求。
8)*使用前端语言实现步骤
(1)中要求的功能。
实验报告:
描述实验的详细实现步骤
写出设计心得,总结数据库设计的方法和步骤。
实验6:
触发器和存储过程(2学时)
实验目的:
实现简单的触发器和存储过程编制,了解触发器和存储过程作用。
实验类型:
设计
实验内容:
使用SQL语言书写触发器和存储过程。
操作步骤:
1)用触发器实现如下功能;
设有两个数据表XX和YY,结构如下:
要求用触发器实现
若在XX表中输入一个记录,则在YY表中追加相同记录;若在XX表中更新一个记录的MONEY字段,则在YY表中更新相应记录的相同MONEY字段。
2)在“学生-课程”数据库中用存储过程实现如下功能:
a.实现查询“95001”同学所有的选修课程和成绩;
b.用参数传递实现查询“95001”同学所有的选修课程和成绩;
c.在Course表中增加一门课程,若已存在该课程即退出;若不存在即为某个指定系的学生增加选修这门课程,返回选修人数。
实验报告:
描述实验的详细实现步骤
写出实验心得,总结触发器和存储过程的实现技术。
实验7:
通过ODBC访问数据库(2学时)
实验目的:
掌握通过ODBC访问数据库的方法。
实验类型:
设计、综合
实验内容:
通过ODBC访问数据库
使用VB平台通过ODBC访问数据库。
操作步骤:
1)在ODBC中建立DSN:
a.打开“控制面板”中的“数据源(ODBC)”;
b.建立对“学生-课程”数据库的链接;
c.设置名为“SC”的“系统DSN”;
d.测试数据库的链接,直至数据源测试成功
2)使用VB平台通过ODBC访问数据库:
a.建立一名为“testSC”的工程;
b.在工程中添加一数据窗体,取名为“frmTestSC”,通过上一步骤中ODBC建立的数据源实现和“学生-课程”数据库的链接;
c.窗体中添加一名为“HFlexSC”的MSHFLEXGRID的数据控件;
d.通过调用实验6中实现的存储过程实现查询“95001”同学所有的选修课程和成绩,结果显示在“HFlexSC”中。
实验报告:
描述实验的详细实现步骤
写出实验心得,附程序源代码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 指导 071125