前言
数据库技术是一个理论和实际紧密联系的技术,在学习过程中,除了解数据模型、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。上机实验的主要目标如下:
(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。
(3)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。
实验总学时为16学时。
实验一 创建数据库和数据表
【实验目的与要求】
要求学生熟练掌握和使用SQL创建数据库、表和修改表结构。具体要求如下:
(1)创建数据库和查看数据库属性。
(2)创建表、指定表的关键字、创建约束和索引。
(3)查看和修改表结构。
【实验内容】
1.实验环境:SQL SERVER
2.基本操作
(1)建立数据库(数据库名为自己的学号姓名),里面包含学生(表名:XS),课程(表名:KC)以及选课(表名:SC)三个表。表结构和表中数据见下,表中字段类型和长度自行合理设置。
学生表:xs(sno,sname,age,sex,sdept)
课程表:kc(cno,cname,cdept,tname)
选课表:sc(sno,cno,grade)
(2) 建立这3个表的约束,包括:每个表的主键约束、表间的外键约束,实现学生性别只能是“f”或“m”、年龄不大于35的检查性约束。
3.实验数据:
学生表:xs(sno,sname,age,sex,sdept)
sno |
sname |
age |
sex |
sdept |
s1 |
zhao |
20 |
f |
ma |
s2 |
qian |
25 |
m |
cs |
s3 |
wang |
24 |
f |
is |
s4 |
li |
22 |
m |
cs |
s5 |
sun |
19 |
f |
en |
s6 |
wang li |
18 |
m |
is |
课程表:kc(cno,cname,cdept,tname)
cno |
cname |
cdept |
tname |
c1 |
maths |
ma |
liu |
c2 |
his |
is |
shen |
c3 |
os |
cs |
li |
c4 |
english |
en |
deng |
c5 |
gs |
ma |
liu |
选课表:sc(sno,cno,grade)
sno |
cno |
grade |
s1 |
c1 |
80 |
s2 |
c1 |
60 |
s2 |
c5 |
50 |
s3 |
c1 |
82 |
s3 |
c4 |
70 |
s4 |
c1 |
80 |
s4 |
c2 |
NULL |
s4 |
c3 |
82 |
s4 |
c4 |
83 |
s4 |
c5 |
NULL |
s5 |
c1 |
90 |
s6 |
c1 |
NULL |
s6 |
c5 |
80 |
4.完成实验后将数据库备份存盘,自行保管,为下次实验准备数据。
【实验类别】验证性实验
【实验学时】2学时
实验二 SQL查询语句
【实验目的和要求】
通过上机调试自己所写的SQL语句,进行验证和修改,进一步理解和掌握教材中的SQL查询和更新语句。
【实验内容】
1. 查询LIU老师所授课程的课程号和课程名
2. 查询年龄大于23岁的男学生的学号和姓名
3. 查询学号为S3的学生所学课程的课程名和任课教师名
4. 查询至少选修LIU老师所授课程中一门课程的女学生的姓名
5. 查询WANG同学不学的课程的课程号
6. 查询至少选修两门课程的学生学号
7. 查询全部学生都选修的课程的课程号与课程名
8. 查询选修课程包含LIU老师所授全部课程的学生学号.
【实验数据】
1.实验环境:SQL SERVER
2.实验数据:三个表结构和数据(数据见实验一)。
学生表:xs(sno,sname,age,sex,sdept)
课程表:kc(cno,cname,cdept,tname)
选课表:sc(sno,cno,grade)
3. 查询语句写在记事本中,记事本文件名为自己的学号姓名。
【实验类别】验证性实验
【实验学时】4学时
实验三 SQL更新语句
【实验目的和要求】
通过上机调试自己所写的SQL语句,进行验证和修改,进一步理解和掌握教材中的SQL查询和更新语句。
【实验内容】
试用SQL更新语句表达下列对教学数据库中三个基本表XS,SC,KC的更新操作。
1. 往基本表XS中插入一个学生元组(‘S9’,’WU’,18)
2. 在基本表XS中查询每一门课程成绩都大于等于80分的学生学号、姓名、性别,并把检索到的值送到另一个已经存在的基本表
student(sno,sname,sex)中
3.在基本表SC中删除尚无成绩的选课元组
4.把WANG同学的学习选课和成绩全部删除
5.把选修MATHS课不及格的成绩全部改为空值
6.把低于总平均成绩的女同学的成绩提高5%
7.在基本表SC中修改C4课程的成绩,若成绩小于等于75分提高5%,若成绩大于75分时提高4%。(用两个update语句实现)
【实验数据】
1.实验环境:SQL SERVER
2.实验数据:三个表结构和数据(数据见实验一)。
学生表:xs(sno,sname,age,sex,sdept)
课程表:kc(cno,cname,cdept,tname)
选课表:sc(sno,cno,grade)
3. 更新语句写在记事本中,记事本的文件名为自己的学号姓名
【实验类别】验证性实验
【实验学时】2学时
实验四 综合实验--医院药房库存管理系统
【实验目的】
理解数据库设计的各个阶段的主要任务,了解医院在信息化背景下的发展目标、组织构成、业务流程和管理流程,初步了解医院管理信息系统分析、设计、实施的思路与方法,提高系统开发文档撰写能力。
【实验内容与步骤】
实验内容:
设计一个“药房库存管理系统”,包含以下基本内容:
1、药房进货、库存和销售的药品近万种。
2、每种药品的名称、剂型、用法、存量、厂家、进价、售价、进货日期、有效期、销售日期和特殊禁忌等均需记录。
3、药物按品种可分为十几类(西药外服、西药内用、西药注射、中成药、中药饮片、丸药膏等)。
4、每天、周、月、年药品的销售信息。
5、每天、周、月、年药品的进货信息。
6、库存的每种药品的详细信息。
具体可参考:
(1)药品库房和药房管理:药品包括西药、中成药、中草药和制剂;药品来源有购进、自制、赠送、临床试用药;药品流向:门诊发药、病房发药、科室领药、院外调拨。实现药品进出药库/药房和库(房)存额进行核算和统计。
(2)药品计价和调价管理:药品从购进到发放给病人,有进价、批发价、零售价三种价格。这三种价格应由药品会计专人负责,根据物价部门的现行调价文件从库房——药房——收费划价处实现全院统一调价规定。
(3)药品会计核算处理功能:
1)药品会计帐务处理:计算进出药品库/房处方销售额与药品收款额核对相符。
2)药品计价、调剂业务处理功能。
3)药品统计分析报表:对药品实现月、季、年进行准确可靠的统计,为“定额管理、加速周转、保证供应”提供依据。
4)提供医院科室核算数据功能。
(4)财务会计报帐核算功能:按会计制度规定,实现自动帐算或手工报帐核算。
(5)打印功能:具有对药品会计处理需要的帐簿、报表按统一规定格式和内容进行打印输出。
(6)初始化、审核、修改功能:对初始数据、未上帐的机内数据进行核算、修改、审核。
(7)查询显示功能:对药品进出药库/药房价格、销售等项目进行查询显示。
(8)药物配伍禁忌报警等药理学知识咨询功能。
实验步骤:
1、需求分析。经过调研,讨论、分析、确定该系统的主要需求(如功能需求、性能需求、输入输出需求、安全和保密性需求、可靠性需求、运行环境需求等,可结合实际自由安排)。确定系统开发的目标,画出系统的数据流程图,编写数据字典。
2、概念结构设计。设计数据库概念模型(E-R图)。
3、逻辑结构设计。设计数据库全局逻辑结构。(关系模型)
4、规范化设计。对全局逻辑结构,分析其规范化程度。(每一个关系的NF级别)
实验项目及学时分配
实验项目 |
学时 |
实验一 创建数据库和数据表 |
2 |
实验二 SQL查询语句 |
4 |
实验三 SQL更新语句 |
2 |
实验四 综合实验 |
8 |
合计 |
16 |
(信息工程学院 信息管理与信息系统教研室)