数据库原理与设计上机指导册2012

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

数据库原理与设计
上机指导册Practies Make Perfect!
《数据库原理》上机实验大纲
上机学时:20学时
一、上机性质、目的及任务:
通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型系统有较深入的了解,使学生的动手能力有较大的提高。

二、面向专业:
计算机类各专业
三、实验指导书:
见下页
四、实验内容:
实验一熟悉ACCESS2000 环境(1)
实验二熟悉ACCESS2000 环境(2)
实验三SQL定义语言
实验四SQL语言进行简单查询
实验五SQL进行复杂查询
实验六SQL的常用数据更新操作
实验七数据库窗体设计1
实验八数据库窗体设计2
实验九综合应用1
实验十综合应用2
实验(一)(二)熟悉ACCESS2000 环境
目的:
熟悉ACCESS2000 数据库管理系统(DBMS),掌握常用操作
任务:
掌握常用操作,数据定义,建数据库、建表、表间关系、建查询
内容:
1.打开ACCESS2000应用程序的方法
2.使用帮助功能,对ACCESS进行自学(VBA编程、对表、查询、窗体、宏、
报表等各种数据库对象的操作)
3.熟练使用工具栏中的按钮进行操作
4.会使用“工具”―>“选项”对数据库进行设置
5.建成一个“学生选课系统”数据库,保存在E:盘上以自己姓名命名的文件夹
下;
6.用ACCESS工具建立如下三个表:
学生(学号,姓名,性别,年龄,系别)
STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT)
课程(课程号,课程名,先修课号,学分)
COURSE(CNO,CNAME,CPNO,CREDIT)
学生选课(学号,课程号,成绩)SC(SNO,CNO,GRADE)
7.确定每个表的主码,并用ACCESS建立主码(清楚什么是主码)
8.建立三个表之间的关系,并能实施参照完整性、能级联更新和删除;
9.设计视图中对一些字段属性进行修改(会使用默认值,有效性规则,输入掩
码几种属性)
10.每个表输入如上图记录,观察输入时有无提示错误,如果有如何修改,体会
参照完整性的作用,弄清楚先输入那些表中记录,为什么;
要求:
独立完成access2000数据库常用操作
写出实验报告(在实验报告上完成,包括预习报告、上机报告、总结报告)
实验(三)SQL定义语言
目的:
会用SQL语言进行基本表的结构的定义、修改、删除,会建立与删除索引;
任务:
用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除
内容:
1)切换到SQL视图进行定义操作
2)用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度自己确定)
STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT,ADDRESS);
COURSE(CNO,CNAME,CPNO,CREDIT)
SC(SNO,CNO,GRADE)
3) 用SQL语言ALTER语句修改表结构;
1)STUDENT表中SNO设为非空和唯一,
2)STUDENT表中增加一个字段SBIRTH,
3)删除STUDENT表中ADDRESS字段;
4)COURSE表中CNO字段设为非空和唯一;
4)重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;
5)用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;
6)用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引; 7)用SQL语言DROP语句删除索引;
输入部分数据,并试着修改其中的错误;
注:注意数据的完整性。

要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
实验(四)SQL语言进行简单查询
目的:
掌握简单数据查询操作。

任务:
使用各种查询条件完成指定的查询操作
内容:
1)创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。

);(可以使用实验一中已经建立的表和数据)
2) 对各表中的数据进行不同条件的查询;
a)查询全体学生的学号和姓名
b)查询全体学生的详细记录
c)查询所有选修过课程的学生学号
d)查询考试不及格的学生学号
e)查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别
f)查询选修了4号课的学生学号和成绩,结果按成绩降序排列
g)查询每个课程号和相应的选课人数
h)查询计算机系(CS)的学生姓名、年龄、系别
i)查询年龄18-20岁的学生学号、姓名、系别、年龄;
j)查询姓刘的学生情况
k)查询既选修3号课程,又选修4号课程的学生学号
l)查询全部学生的姓名和出生年份(取当前系统时间)
m)查询没有成绩的学生学号和课程号
n)查询总成绩大于200分的学生学号
1)查询选修了3号课程的学生平均年龄
2)求每门课程学生的平均成绩
3)统计每门课程的学生选修人数和平均成绩。

要求输出课程号、课程名称
和选修人数和平均成绩。

要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
实验五SQL进行复杂查询
目的:
掌握复杂数据查询操作。

任务:
掌握各种连接查询、嵌套查询的使用
内容:
1)实验一中的数据为基础
2) 对各表中的数据进行不同条件的连接查询和嵌套查询;
4)查询每个学生及其选课情况;
5)查询每门课的间接先修课
6)将STUDENT,SC进行右连接
7)查询既选修了2号课程又选修了3号课程的学生姓名、学号;
8)查询和刘晨同一年龄的学生
9)选修了课程名为“数据库”的学生姓名和年龄
10)查询其他系比IS系任一学生年龄小的学生名单
11)查询其他系中比IS系所有学生年龄都小的学生名单
12)查询选修了全部课程的学生姓名
13)查询计算机系学生及其性别是男的学生
14)查询选修课程1的学生集合和选修2号课程学生集合的差集
15)查询李丽同学不学的课程的课程号
16)查询选修了3号课程的学生平均年龄
17)求每门课程学生的平均成绩
18)统计每门课程的学生选修人数(超过3人的才统计)。

要求输出课程号和
选修人数,结果按人数降序排列,若人数相同,按课程号升序排列
19)查询学号比刘晨大,而年龄比他小的学生姓名。

20)求年龄大于女同学平均年龄的男同学姓名和年龄
21)求年龄大于所有女同学年龄的男同学姓名和年龄
要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
实验(六)SQL的常用数据更新操作
目的:
掌握SQL的常用数据更新操作,熟练应用INSERT,UPDATE,DELETE语句。

任务:
1)应用INSERT,UPDATE,DELETE语句进行更新操作;
a)插入如下学生记录(学号:95030,姓名:李莉,年龄:18)
b)插入如下选课记录(95030,1)
c)计算机系学生年龄改成20
d)数学系所有学生成绩改成0
e)把低于总平均成绩的女同学成绩提高5分
f)修改2号课程的成绩,若成绩小于75分提高5%,成绩大于75时提高
4%(两个语句实现,注意顺序)
g)删除95030学生信息
h)删除SC表中无成绩的记录
i)删除张娜的选课记录
j)删除数学系所有学生选课记录
k)删除不及格的学生选课记录
l)查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中
2)熟练掌握INSERT,UPDATE,DELETE语句并能综合应用;
要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
实验(七)(八)数据库窗体设计
目的:
掌握数据库各种窗体设计方法,掌握如何将各种窗体连接起来。

任务:
1)创建系表(系号,系名,系主任,系电话)
2)以实验一中数据为基础创建各表的浏览窗体及如图窗体(带有两个子窗体)
3)创建如图主窗体及相关的各个子窗体
4)关连窗体(用宏或命令按钮)
5)将主窗体设置为启动窗体
要求:
1、将上述任务中用可视化工具创建的窗体中用到的SQL语句调试并使之运行正确;
2、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
实验(九)(十)综合应用
目的:
全面认识信息系统的设计与开发技术.
任务:
1)图书管理信息系统设计(图书、管理员、读者)
2)中小企业管理信息系统设计(雇员、部门、产品、客户);
3)学生选课管理信息系统设计(学生、课程、选课管理);
4)自选题(须先经认可)
*以上题目自选一题,用ACCESS2000开发。

要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、根据数据库设计步骤分析设计一个完整的系统
3、确定基本表的结构及用户视图;(模式、外模式)
4、画出相应的E-R图,并转化成相应关系模式
5、数据库的其他对象的设计、数据库前端应用开发设计
6、建成一个完整的系统
7、写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)
注意:
1、规范化理论的应用;1NF、2NF、3NF ...
2、实体、实体间的联系,ER模型;
3、数据库的完整性;
4、插入异常、修改异常、删除异常、数据冗余。

附:
数据库设计说明书
引言
1.1 项目名称
1.2项目背景和内容概要
(项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等)1.3相关资料、缩略语、定义
(相关项目计划、合同及上级机关批文,引用的文件、采用的标准等)
(缩写词和名词定义)
2约定
数据库中各种元素的命名约定。

例如表名,字段名的命名约定。

3 数据库概念模型设计
3.1数据实体-关系图
3.2数据实体描述
数据实体中文名,数据库表名
数据实体描述
3.3实体关系描述
(描述每个实体间的关系)
实体1:实体2 (1:1,1:n, m:n)
关系描述:
4. 数据库逻辑模型设计
4.1实体-关系图
4.2关系模型描述
数据库表名:同义词(别名):
主键:
外键:
索引:
约束:
中文名称数据属性名数据类型数据长度约束范围是否空注解
4.3数据视图描述
(用标准SQL语言中创建数据视图的语句描述)
4.4数据库一致性设计
(用标准SQL语言中创建表的语句描述)
5. 物理实现
5.1数据库的安排
说明是否采用分布式数据库,数据库表如何分布
每个数据库服务器上建立几个数据库,其存储空间等安排数据库表的的分配方法,例如:如何创建段,或表空间5.2安全保密设计
用户角色划分方法,每个角色的权限。

相关文档
最新文档