没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
《数据库及其应用》实验报告
实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用
学 号
1107010232
姓 名 金凡 专业、班 财政 1102
实验地点 现教中心 指导教师 喻晓和 时间
2012 年 5-6 月
一、实验目的及要求
(一)实验项目 1:数据库和表
1.熟悉 Access 中数据库及表的概念。了解并掌握建立数据库、表和关系的过程。
2.熟悉数据库窗口的界面特点,掌握数据库窗口几种设置方法。
3.理解并掌握关系数据库完整性基本概念。掌握完整性的设置方法。
4.掌握字段属性的概念和一些属性的用途。并掌握一些字段属性的设置方法。
5.了解 Access 数据表视图的一些基本功能。
(二)实验项目 2:查询
1.掌握 Access 表达式的基本概念。了解不同类型数据的常量、参数、运算与函数的使
用。
2.理解查询对象的意义和建立方法。
3.掌握 SQL 语言中 SELECT 语句的主要应用。
4.掌握 SQL 的插入、更新、删除操作命令的基本应用。理解 Access 动作查询。
5.了解 SQL 定义数据表的基本方法。
6.掌握一般选择查询的操作应用;理解并掌握交叉查询的应用;理解参数查询的意义。
(三)实验项目 3:数据交换
1.了解什么是 Access 的外部数据,理解 Access 与外部数据交换的意义和作用。
2.理解在 Access 数据库系统中使用外部数据的两种方法及特点:链接、导入。
3.掌握导出数据库中表或查询对象到文本文件和 EXCEL 的方法。
4.掌握从文本文件和 EXCEL 表导入到表的方法。
二、实验设备(环境)及要求
PC 机,Windows XP,Access 2003
参考教材:《数据库及其应用(Access 及 Excel)学习与实验实训教程》。
三、实验内容要求
(实验操作内容和步骤写在表格后面、回答问题写在表给内)
实验项目
1 :数据库设计及数据库与表的创建与操作
(一) 数据库与表的设计与创建
1.给定如下数据分析,进行概念设计与逻辑设计。即设计系统的 E-R 模型并转换为关系
模型。(数据参见附表)。
某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简
历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学
院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理
课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修
的每门课程获得一个成绩。
2. 数据库结构设计
指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:\教学管理\”文件夹中。
3.定义数据库文件
定义存放路径,和数据库文件。写出操作步骤。可包括必要的截图。
4.定义数据库中各表
根据事先设计好的结构,分别定义各表、字段名、字段属性。
重复的步骤可简化。
5.定义表之间的关系
当所有表都定义好后,定义各表之间的关系。
6.输入表记录
当所有表建立好后,可开始输入记录。简要说明输入的操作。
(二)Access 数据库窗口基本操作
1.设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”
写出操作步骤。
2.隐藏和重新显示教学管理数据库窗口
写出操作步骤。
3.定义一个“学生与成绩”组,将“学生”、“成绩”表放置到该组中
写出创建组的操作和放置对象的操作。
(三)创建表时的完整性设置
1.定义主键,实现实体完整性的操作
每个表都可以定义主键。在 Access 中为教学管理数据库的各表定义主键。
当一个表没有合适的字段作为主键时,一般会增加一个“id”字段。试在“成绩”表中增加一个
“成绩 id”字段,并定义为“自动编号”型,然后定义其为主键。
2.进行设置参照完整性的操作
在定义的有关系的表上,为关系设置参照完整性。
3.通过不同方式实现用户定义的完整性的操作
用户定义的完整性,是指由用户规定的对于表中数据取值的约束。在 Access 表定义时,除
定义主键和关系外,通过多种方式设置用户定义完整性。
对教学管理数据库中必要的用户定义完整性进行设置和定义。
(四)字段属性定义与应用
1.字段显示格式设置
① 使“学生”表中的“民族”字段以黄色显示。
② 使“学生”的生日以中文方式、红色显示。
③ 使“成绩”表中成绩的显示为 3 位整数和一位小数,蓝色。
2.字段输入掩码设置
在定义“学生”表时,由于“学号”是 8 位文本,且每位都由 0~9 组成,因此,要在定义“学号”
字段时规定每一位的输入都必须是数字。
其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码。
3.定义字段查阅方法
“查阅”控件与字段绑定,可以提示字段的输入。为“专业”表的“专业类别”定义查阅控件绑
定。
为“专业”表的“学院号”字段设计“查阅”控件。数据从“学院”表中来,显示“学院号”和“学院名”
两列数据,采用列表框。
(五)数据表视图下数据记录的显示与操作
1.输入操作
利用数据表视图进行输入操作,输入的数据应该满足完整性的要求。而如果是有关系的表
中的子表,外键输入时还要与主键值对应。
根据给定的数据,为数据库中各表(重点介绍一到两个表)输入记录。
2. 修改和删除操作
修改“课程”表,将“运筹学”所在记录的学分增加 1 分,将开设学院变为“工商管理学院
(05)”。
删除“课程”表中“美术设计”课程。
3. 数据表视图中的设置
数据表视图是浏览表中数据的界面,可以做不同的设置,以获得不同的效果。
① 数据表视图中父子表的展开。
② 按照指定的字段排序浏览。
在“成绩”数据表视图中,按照成绩的大小排列。
③ 在学生表中只显示女生数据记录。
实验项目二:查询
(一) SQL 视图中表达式练习
1.进入 SQL 视图及在不同视图间切换
在 Access 中进入查询的设计视图并在查询的不同视图之间切换。
2.不同类型数据的表达式运算
在 SQL 视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运
算结果。
SELECT -5.12^2+(17 mod 3);
SELECT "Hello "+",World!",LEFT("清华大学出版社",2)+RIGHT("清华大学出版社",3);
SELECT "你毕业的年份是", VAL(LEFT([你的学号],4))+4;
SELECT "现在是"+STR(YEAR(DATE()))+"年","现在的时间是:"+CSTR(TIME());
SELECT "张三">"李四","ABCD"<"abcd",(DATE()-#1992-10-8#)>1000;
(二)SQL 命令进行查询和操作
1.练习 SQL 查询的 SELECT 语句
启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入 SQL 视图。在“SQL 视
图”中输入以下 SELECT 命令,查看执行结果,并仔细体会查询的实现。
① 查询“学院”、“专业”、“学生”完整数据。
SELECT *
FROM ((学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号)
INNER JOIN 学生 ON 专业.专业号=学生.专业号);
② 查询“工商管理”专业所有女生信息。
SELECT 专业,学生.*
FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号
WHERE 专业.专业="工商管理" AND 学生.性别="女";
③ 查询平均成绩在 80 分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象
名“优秀学生”。
SELECT 学生.学号,姓名,AVG(成绩) AS 平均分
FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号
GROUP BY 学生.学号,姓名
HAVING AVG(成绩)>=80 ;
单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。
④ 查询没有学生数据的专业编号和专业。
SELECT 专业号,专业
FROM 专业
WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ;
⑤ 查询“湖北”籍 1988 年以后出生的学生信息。
SELECT *
FROM 学生
WHERE 籍贯 LIKE "湖北*" AND 生日 >=#1988-1-1# ;
⑥ 查询选课人数最多的课程的课程号、课程名。
SELECT TOP 1 课程.课程号,课程名
FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号
GROUP BY 课程.课程号,课程名
ORDER BY COUNT(*) DESC ;
2.练习 SQL 的插入、更新、删除操作命令
① 在课程表中插入一门新课,数据如命令所示。
INSERT INTO 课程
VALUES("06020101","会计学原理",3,"06");
② 将“法学院(04)”开设课程的学分增加 1 分。
UPDATE 课程
SET 学分=学分+1
WHERE 学院号="04"
③ 删除“信息学院(09)”开设的没有学生选修的课程。
DELETE FROM 课程
WHERE 学院号="09" AND 课程号 NOT IN (SELECT 课程号 FROM 成绩)
3.创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建
命令。
(三)选择查询操作
1.进入查询设计视图进行交互式选择查询设置
启动教学管理数据库。
① 查询“专业”表,显示开设的所有专业涉及的学科门类。
② 查询各专业学生的人数。
③ 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。
2.进行交叉表查询
将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉
表。
3.进行参数查询
通过参数查询指定日期以后出生的某个民族的学生信息。
(四)动作查询操作
1.生成表查询操作练习
将“查询平均成绩在 80 分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优
秀学生名单”。
2.删除查询操作
删除“优秀学生名单”表中,平均分在 85 分以下的记录。
3.追加查询操作
将平均分在 80~85 分之间的学生及成绩数据加入“优秀学生名单”表,
4.更新查询操作
将没有学生选修的课程的学分减少 1 分。
写出以上要求的操作步骤并截取必要的图片。
实验项目三:数据交换
(一) 导出操作
1.在“教学管理”数据库中创建一个查询并保存。查询的名称为“学生成绩单”。查询的结构
为:学号、姓名、专业、课程号、课程名、成绩。
2.将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要
加引号。文本文件要包括字段名。
3.将“学生成绩单”查询导出到桌面 EXCEL 文件“学生成绩表”中。
写出以上操作的主要过程。
(二)导入操作
1.将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。
并为各字段列指定合适的类型。
2.上面实验产生的 EXCEL 文件“学生成绩表”导入教学管理数据库中作为表对象。命名为
“学生成绩表”。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。
写出以上操作的主要过程。
四、回答问题
(一)实验项目 1
1.Access 存储数据时,用到几个数据库文件?扩展名是什么?
答:如果不考虑页的存储的话,只有一个数据库文件,扩展名为 mdb。
2.设计 ER 模型、关系模型、数据库及表结构,分别属于数据库设计中的什么步骤?
答:分别属于概念设计、逻辑设计、物理设计。
3.在表结构设计中,应该包含哪些内容?
答:包括字段名、数据类型、字段属性。。
4.在本实验设计中,共使用了哪些数据类型?
答:文本型、日期/时间型、备注型、数字型、OLE 对象型、字节型、单精度型等。
5.定义表之间的关系时,“实施参照完整性”的意义是什么?在“编辑关系”对话框中选中或
者撤销“级联更新相关字段”复选框,对于数据表的操作有何影响?
答:(1)当定义了表之间的关系,实施参照完整性的话,当子表插入记录时,access 会检
验外键值是否具有对应的主键值,如果不存在的话,就不允许插入。( 2)选中了级联更新
剩余20页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 82
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功