数据库及其应用实践报告.docx
- 文档编号:5232513
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:24
- 大小:32.72KB
数据库及其应用实践报告.docx
《数据库及其应用实践报告.docx》由会员分享,可在线阅读,更多相关《数据库及其应用实践报告.docx(24页珍藏版)》请在冰豆网上搜索。
数据库及其应用实践报告
《数据库及其应用》实验报告
实验序号:
B0901000—02实验项目名称:
数据库设计及数据库创建与应用
学 号
姓 名
专业、班
实验地点
指导教师
时间
一、实验目的及要求
(一)实验项目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机,WindowsXP,Access2003
参考教材:
《数据库及其应用(Access及Excel)学习与实验实训教程》。
三、实验内容要求
(实验操作内容和步骤写在表格后面、回答问题写在表给内)
实验项目1:
数据库设计及数据库与表的创建与操作
(一)数据库与表的设计与创建
1.给定如下数据分析,进行概念设计与逻辑设计。
即设计系统的E-R模型并转换为关系模型。
(数据参见附表)。
某学校设计学生教学管理系统。
学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学院,一个学院可以有若干个专业。
学院信息要存储学院号、学院名、院长。
教学管理还要管理课程表和学生成绩.课程表包括课程号、课程名、学分,每门课程由一个学院开设。
学生选修的每门课程获得一个成绩。
2。
数据库结构设计
指定数据库文件的名称,并为设计好的关系模型设计表结构。
3.数据库文件保存在“E:
\教学管理\”文件夹中。
数据库文件保存在D\教学管理\文件夹中,数据库文件名为教学管理.MDB。
表包括学院表,专业表,学生表、课程表和成绩单。
学院表
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学院号
文本
4
↑主
学院名
文本
16
院长
文本
8
专业表
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
专业号
文本
6
↑主
专业名
文本
16
专业类别
文本
8
↑
学院号
文本
4
学院
学生表
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学号
文本
8
↑主
姓名
文本
8
性别
文本
2
男or女
生日
日期型
民族
文本
6
籍贯
文本
20
专业号
文本
6
↑
专业
简历
备注
登记照
OLE对象
课程表
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
课程号
文本
8
↑主
课程名
文本
24
学分
字节
学院号
文本
2
↑
学院
成绩单
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学号
文本
8
↑主
学生
课程号
文本
8
↑主
课程
成绩
单精度
4
1
>=0and<=100
√
启动数据库,单击新建按钮,在任务窗格中单击空数据库的超连接,在对话框中找到E:
\教学管理\”文件夹,然后在文件名下拉列表框中输入教学管理单击创建按钮。
4在数据库窗口中选择表对象栏,双击使用设计器创建表,在设计器中设计学院表。
分别定义各字段名,字段属性。
学院号是文本型,大小为4,在工具栏中单击主键按钮,定义为主键。
院长是文本型,大小为8。
然后单机工具栏中的保存,输入学院名,单击确定。
依次建立专业表,课程表、学生表和成绩单表。
5.定义表之间的关系
当所有表都定义好后,定义各表之间的关系。
所有表都定义好后,在工具栏中单击关系按钮,依次选中各表并单击添加按钮。
选中,学院表中的学院号字段,拖到专业表内的学院号上,弹出编辑关系对话框,选中实施参照完整性复选框。
单击创建。
类似方式建立课程和学院,学生和专业,成绩和学生及课程表之间的关系。
得到整个数据库的关系
6.输入表记录
当所有表建立好后,可开始输入记录.简要说明输入的操作.
由于表之间存在联系,输入时,应该先输入被引用数据的表记录,然后再输入用其他表数据的记录表。
这里输入的顺序一次是学院表、专业表、学生表、和课程表,最后是成绩单表的记录。
(二)Access数据库窗口基本操作
1.设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”
写出操作步骤。
启动数据库,在表对象的列表窗口的显示方式按钮处,选择详细信息按钮。
2.隐藏和重新显示教学管理数据库窗口,写出操作步骤。
。
隐藏:
选择工具———启动命令,弹出对话框。
取消对显示数据库窗口的复选框的选择。
这样,下次,在打开该数据库文件时就不在显示相应的数据库窗口。
想要重新显示数据库窗口,在打开数据库后按F11,这时将重新显示数据库窗口.然后在启动对话框中选中显示数据库窗口的复选框。
3.定义一个“学生与成绩"组,将“学生”、“成绩”表放置到该组中
写出创建组的操作和放置对象的操作。
(1)菜单栏中单击编辑菜单,选择组再选择新组.
(2)在弹出的对话框中输入组名“学生与成绩”。
(3)在表对象列表中单选学生表,选择菜单栏中的编辑菜单,选择—添加到组,添加成绩表同上。
(三)创建表时的完整性设置
1.定义主键,实现实体完整性的操作
每个表都可以定义主键。
在Access中为教学管理数据库的各表定义主键。
当一个表没有合适的字段作为主键时,一般会增加一个“id”字段。
试在“成绩"表中增加一个“成绩id”字段,并定义为“自动编号”型,然后定义其为主键.
选择学号,单机鼠标右键,选择主键
2.进行设置参照完整性的操作
在定义的有关系的表上,为关系设置参照完整性。
在数据库窗口的表对象界面,单击“数据库”工具栏的关系按钮,启动“关系”窗口.在“关系”窗口中依次添加要建立关系的各表,从父表中选中主键或无重复索引字段并拖动到子表对应的外键字段上,然后通过“编辑关系”对话框进行设置。
选择实施参照完整性,级联更新相关字段,及联删除相关记录。
3.通过不同方式实现用户定义的完整性的操作
用户定义的完整性,是指由用户规定的对于表中数据取值的约束。
在Access表定义时,除定义主键和关系外,通过多种方式设置用户定义完整性。
对教学管理数据库中必要的用户定义完整性进行设置和定义.
(四)字段属性定义与应用
1.字段显示格式设置
①使“学生”表中的“民族”字段以黄色显示。
在设计视图中,将民族字段的属性做如下设置:
在字段大小中输入2在格式中输入&&[黄色]在输入掩码中输入&&
②使“学生"的生日以中文方式、红色显示。
将“生日”字段的数据类型设置为“日期/时间”型,并如下设置属性:
在格式中输入dddddd[红色],输入掩码中输入9999\年99\月99\日;0;
③使“成绩"表中成绩的显示为3位整数和一位小数,蓝色。
进入设计视图,在常规中,在字段大小中输入小数,在格式中输入#.#[蓝色],小数位数中输入1,输入掩码中输入###。
#
2.字段输入掩码设置
在定义“学生”表时,由于“学号”是8位文本,且每位都由0~9组成,因此,要在定义“学号”字段时规定每一位的输入都必须是数字。
进入设计视图,在常规中,在字段大小中输入8,在格式中输入00000000,输入掩码中输入00000000;;
其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码.
3.定义字段查阅方法
“查阅”控件与字段绑定,可以提示字段的输入.为“专业”表的“专业类别”定义查阅控件绑定。
步骤:
设计视图——数据类型—-查阅向导-—打开“查阅向导”对话框,选择“自行键入需要的值”——点击“下一步”输入所需的值——“下一步"—-“完成”
为“专业”表的“学院号”字段设计“查阅”控件.数据从“学院"表中来,显示“学院号”和“学院名”两列数据,采用列表框。
步骤:
设计视图——字段属性—-查阅
(五)数据表视图下数据记录的显示与操作
1.输入操作
利用数据表视图进行输入操作,输入的数据应该满足完整性的要求。
而如果是有关系的表中的子表,外键输入时还要与主键值对应。
根据给定的数据,为数据库中各表(重点介绍一到两个表)输入记录.
在学生表中输入数据:
(1)、打开学生表,进入数据表视图,单击鼠标将光标移到欲输入数据的单元格进行输入。
(2)、学号已设置为8个数字的文本形式,并设置为主键,有重复或字节不为8时,都无法输入,并弹出错误提示
(3)、性别设置了查阅向导,点击箭头在下拉列表中选择男女,日期设置为“日期/时间”类型,并设置了输入掩码,如图第一行显示,在下划线上输入,,再设置民族、地址等。
2。
修改和删除操作
修改“课程”表,将“运筹学"所在记录的学分增加1分,将开设学院变为“工商管理学院(05)”。
删除“课程”表中“美术设计"课程。
(1)、打开课程表,进入数据表视图。
(2)、将光标移至运筹学学分单元格,将5改为6,如图
(3)、在删除课程表与学院表的关系之后)在运筹学的学院一栏填入“工商管理学院(05)”,如上图。
3.数据表视图中的设置
数据表视图是浏览表中数据的界面,可以做不同的设置,以获得不同的效果。
①数据表视图中父子表的展开。
②按照指定的字段排序浏览。
在“成绩”数据表视图中,按照成绩的大小排列。
③在学生表中只显示女生数据记录。
(1)数据表视图中父子表的展开。
单击父表中的加号
(2)、按照指定的字段排序浏览。
将鼠标移至字段“成绩”处,变为向下箭头时单击,即选中成绩这列.点击工具栏上的升序或降序按钮,则成绩按大小顺序排列。
(3)在学生表中只显示女生数据记录。
进入学生表数据表视图,点击菜单栏—记录-筛选—按窗体筛选,在性别一栏中选择“女”如图:
点击“应用筛选”按钮,则表中只显示女生信息。
如图
实验项目二:
查询
(一)SQL视图中表达式练习
1.进入SQL视图及在不同视图间切换
在Access中进入查询的设计视图并在查询的不同视图之间切换。
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询"对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。
在“视图"选项中选择SQL视图或右键快捷菜单中选择SQL视图。
效果图如下:
2.不同类型数据的表达式运算
在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。
查看并写出各表达式运算结果.
SELECT—5.12^2+(17mod3);
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视图或右键快捷菜单中选择SQL视图。
在窗口中输入SELECT—5。
12^2+17mod3;
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定"按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入SELECT”Hello”+",World!
”,LEFT(”清华大学出版社",2)+RIGHT("清华大学出版社”,3);
在数据库窗口中双击“在设计视图中创建查询",或者先单击“新建"按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图.在窗口中输入SELECT”你毕业的年份是",VAL(LEFT([你的学号],4))+4;
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询"对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图.在窗口中输入SELECT”现在是"+STR(YEAR(DATE()))+"年”,”现在的时间是:
"+CSTR(TIME());
在数据库窗口中双击“在设计视图中创建查询",或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面.在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图.在窗口中输入SELECT”张三”>”李四","ABCD"<"abcd",(DATE()-#1992—10-8#)〉1000;
(二)SQL命令进行查询和操作
1.练习SQL查询的SELECT语句
启动教学管理数据库,在数据库窗口对象栏中单击“查询",然后进入SQL视图。
在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。
①查询“学院”、“专业”、“学生"完整数据。
SELECT*
FROM((学院INNERJOIN专业ON学院.学院号=专业。
学院号)
INNERJOIN学生ON专业。
专业号=学生。
专业号);
②查询“工商管理”专业所有女生信息.
SELECT专业,学生.*
FROM专业INNERJOIN学生ON专业.专业号=学生.专业号
WHERE专业.专业="工商管理”AND学生.性别="女";
在数据库窗口中双击“在设计视图中创建查询",或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定"按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入
SELECT学生表.*,专业表.*
FROM专业表INNERJOIN学生表ON专业表。
专业号=学生表.专业号
WHERE(((专业表。
专业名)="工商管理")AND((学生表。
性别)=”女”));
③查询平均成绩在80分以上的各位学生的学号、姓名和平均分。
保存为查询对象,对象名“优秀学生”。
SELECT学生.学号,姓名,AVG(成绩)AS平均分
FROM学生INNERJOIN成绩ON学生。
学号=成绩。
学号
GROUPBY学生.学号,姓名
HAVINGAVG(成绩)〉=80;
在数据库窗口中双击“在设计视图中创建查询",或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定"按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入
SELECT学生表。
学号,学生表.姓名,Avg(成绩单。
成绩)AS平均分
FROM学生表INNERJOIN成绩单ON学生表。
学号=成绩单。
学号
GROUPBY学生表。
姓名
HAVING(((Avg(成绩单.成绩))〉=80));
单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮.
单击工具栏保存按钮,弹出“另存为"对话框,输入“优秀学生”,单击“确定"按钮。
④查询没有学生数据的专业编号和专业。
SELECT专业号,专业
FROM专业
WHERE专业号NOTIN(SELECT专业号FROM学生);
SELECT专业表.专业号,专业名
FROM专业表
WHERE(((专业表。
专业号)NotIn(Select专业号FROM学生表)));
⑤查询“湖北”籍1988年以后出生的学生信息。
SELECT*
FROM学生
WHERE籍贯LIKE”湖北*”AND生日>=#1988-1—1#;
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。
在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入
SELECT学生表。
*
FROM学生表
WHERE(((学生表.籍贯)Like"湖北*”)AND((学生表。
生日)>=#1/1/1988#));
⑥查询选课人数最多的课程的课程号、课程名.
SELECTTOP1课程.课程号,课程名
FROM课程INNERJOIN成绩ON课程.课程号=成绩。
课程号
GROUPBY课程.课程号,课程名
ORDERBYCOUNT(*)DESC;
SELECTTOP1课程表.课程号,课程表。
课程名
FROM课程表INNERJOIN成绩单ON课程表.课程号=成绩单。
课程号
GROUPBY课程表。
课程号,课程表.课程名
ORDERBYCount(*)DESC;
2.练习SQL的插入、更新、删除操作命令
①在课程表中插入一门新课,数据如命令所示。
INSERTINTO课程
VALUES("06020101”,”会计学原理",3,"06”);
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定"按钮,进入设计视图界面。
在“视图"选项中选择SQL视图或右键快捷菜单中选择SQL视图.在窗口中输入
INsertinto课程表
Values("06020101","会计学原理”,3,"06”);
②将“法学院(04)”开设课程的学分增加1分。
UPDATE课程
SET学分=学分+1
WHERE学院号=”04”
UPDATE课程表SET课程表。
学分=[学分]+1
WHERE(((课程表.学院号)="04”));
③删除“信息学院(09)”开设的没有学生选修的课程。
DELETEFROM课程
WHERE学院号="09”AND课程号NOTIN(SELECT课程号FROM成绩)
在数据库窗口中双击“在设计视图中创建查询",或者先单击“新建"按钮,然后在“新建查询"对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面.在“视图"选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入
DELETEFROM课程
WHERE学院号="09"AND课程号NOTIN(SELECT课程号FROM成绩单)
3.创建“教师”表,包括:
工号、姓名、性别、生日、职称、基本工资、学院号。
写出创建命令。
CREATETABLE教师
(工号TEXT(6)PRIMARYKEY,
姓名TEXT(10)NOTNULL,
性别TEXT
(2),
生日DATE,
职称TEXT(8),
基本工资MONEY,
学院号TEXT
(2)REFERENCES学院表(学院号))
(三)选择查询操作
1.进入查询设计视图进行交互式选择查询设置
启动教学管理数据库。
1查询“专业”表,显示开设的所有专业涉及的学科门类。
点击查询,双击在设计视图中创建查询,在显示表的对话框中选择专业,单击添加关闭对话框,在字段中选择专业类别,然后窗口的上半部分空白区域单击右键选择属性,在唯一值中选择是,关闭对话框,点击“运行”的快捷键.
2查询各专业学生的人数.
将专业表和学生表加入设计视图。
在QBE界面中字段栏选中“专业号”和“专业"字段显示,然后单击工具栏中的总计按钮,在QBE界面中增加总计栏。
将“专业号"和“专业”字段设置为分组,然后选择“学生”表的学号字段,设置其为计数,在学号前面加上“人数:
”,作为查询后的列名.运行查询。
3查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。
2.进行交叉表查询
将学生的“学号”和“姓名"作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。
启动算责查询设计窗口,将“学生”“成绩"和“课程”表加入设计窗口,选择“查询”--—“交叉表查询”命令,在QBE窗格中选择“学生”表的“学号"“姓名"作为行标题“课程名”作为列标题,“成绩”总计后作为值.
3.进行参数查询
通过参数查询指定日期以后出生的某个民族的学生信息。
启动选择查询设计窗口,将学生表加入设计窗口,在QBE窗口中选择“*"表示输出学生表所有字段,然后选中“生日”字段,去掉显示行的复选框,在条件行输入.>[SR];按同样方式设置“民族“字段
然后选择查询-—-参数命令,弹出查询参数对话框,分别设置SR和MZ的类型,单击确定。
(四)动作查询操作
1.生成表查询操作练习
将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单".
在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建"按钮,然后在“新建查询”对话框中选中“设计视图"并单击“确定”按钮,进入设计视图界面.在“视图”选项中选择SQL视图或右键快捷菜单中选择SQL视图。
在窗口中输入
SELECT学生表.学号,学生表。
姓名,Avg(成绩单。
成绩)AS平均分INTO优秀学生名单
FROM学生表INNERJOIN成绩单ON学生表。
学号=成绩单.学号
GROUPBY学生表.学号,学生表.姓名
HAVING(((Avg(成绩单.成绩))>80));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 及其 应用 实践 报告