实验三四数据库的建立和使用.docx
《实验三四数据库的建立和使用.docx》由会员分享,可在线阅读,更多相关《实验三四数据库的建立和使用.docx(14页珍藏版)》请在冰豆网上搜索。
实验三四数据库的建立和使用
实验三、数据库表的建立2学时
一.实验目的
1.了解Access的开发环境及特点,熟悉开发界面
2.掌握创建数据库、数据表、表间关系等的方法
二.实验内容
1.熟悉Access的启动和退出
2.熟悉Access建立数据库的方法
3.熟练掌握建立数据库表的各种方法和数据表的各种操作
4.掌握建立数据表间的关系
三.实验设备及仪器
1.计算机
2.MicrosoftAccess2000版本或更高版本
四.实验原理
1.Access数据库文件
Access数据库采用独有的全环绕数据库文件结构组成数据库文件(.mdb文件),以一个单独的mdb文件存储一个数据库应用系统中包含的所有对象,基于这一特点,创建一个Access数据库应用系统的过程几乎就是创建一个Access数据库文件,并在其中设置各种应用系统必需的各个Access数据库子对象的过程。
因此第一步工作是创建Access数据库对象,第二步是在数据库中创建相应的数据表,并建立表间的联接,然后再逐步创建其他对象,最终完成整个系统。
2.创建数据库
创建数据库有两种方法:
●利用Access数据库向导创建Access数据库
图3-1利用向导创建数据库
Access提供了一些数据库模板,选定一个与即将创建的数据库形式相近的数据库模板,按照提示进入Access数据库对象的设计向导过程,可以自动获得相应的表、查询、窗体、报表等,这个方法非常快捷,但灵活性较差。
图3-2常用的数据库模板
●创建空Access数据库
图3-3文件新建数据库对话框
选择新建数据库中的空Access数据库,注意数据库文件保存位置,定义一个有意义的文件名。
3.建立表
数据表示存储数据的基本单位,在Access中,表从属于某个数据库,在Access数据库建立好后,就需要建立数据表。
创建数据表的方法有:
●使用设计器创建表
图3-4创建表子对象
在数据库中选择表对象,双击“使用设计器创建表”,进入表设计器。
逐个定义表中的每个字段,包括名称、数据类型和说明,输入已定义的每个字段的其他属性,如字段大小,格式等,根据需要,定义一个主关键字字段,根据需要,建立索引,以提高查询速度,保存表,输入合适的表名称。
下面建立了一个教师情况表:
图3-5表的“设计视图”窗口
●使用向导创建表
图3-6表结构定义的向导窗口
在数据库中选择表对象,双击“使用向导创建表”,表向导利用示例表帮助用户建立常用类型的数据表结构,这种方法快捷方便,但由于受示例表的限制,影响了表的设计。
●通过输入数据创建表
参考Access书籍。
4.表的使用和编辑
表结构建立以后,可以完成以下的操作:
●输入数据
●查找和替换记录
通过Access的“编辑”菜单中的“查找”和“替换”命令完成查找的功能。
如查找职称为讲师的所有老师:
图3-7“查找和替换”对话框
●数据的排序
简单排序可通过选中需要排序列的字段,然后从“记录”菜单的“排序”子菜单中选择升序还是降序。
高级排序可对多个不相邻的字段采用不同的方式排列,选择“记录”菜单的“筛选”子菜单中的“高级筛选/排序”命令,设置后选择“应用排序/筛选”命令完成排序要求。
如对教师进行排序,先按出生年月进行升序排序,若相同,按职称进行降序排列:
图3-8“筛选”对话框
●数据的筛选
筛选的过程实际上是创建了一个数据的子集,高级筛选可设定更多的条件来限制记录筛选。
如对性别为男,职称不是讲师的记录进行筛选:
图3-9“筛选”对话框
●定义数据表关联
数据表关联是指在两个数据表中相同域上的属性之间建立一对一、一对多或多对多的联系。
在Access数据库中,通过定义数据表关联,用户可以创建能够同时显示多个数据表中的数据的查询,窗体及报表等。
通常情况下,相互关联的字段在一个数据表中是关键字。
选择“工具”菜单下的“关系”命令,添加相关表,拖动关联字段,完成关联操作,还可以设定联系的类型,这三种选项分别对应了三种连接:
自然连接,左连接,右连接
图3-10“编辑关系”对话框
图3-11数据库关联窗体
五.实验方法与步骤
1.采用向导创建一个Access数据库,选用合适的模板,观察自动生成的各个子对象
以及运行结果。
2.采用另一种方法创建一个空的“学生选课”数据库。
3.在创建好的数据库中选择表对象,在表对象中使用不同的方式创建“学生”,“课
程”,“选课”三个数据表结构,注意字段属性的设置,录入数据,请验证完整性规则。
(附三张表结构及其示例数据)
学生
学生号
姓名
性别
专业
0101001
王明
男
计算机
0102005
刘芹
女
电子
0202003
张鲁
男
电子
0303001
赵红
女
电气
0304006
赵川
男
通信
0304007
李四
女
通信
课程
课程号
课程名
课程学分
C001
C++语言
4
C004
操作系统
3
E002
电子技术
5
X003
信号原理
4
X005
软件工程
4
选课
学生号
课程号
成绩
0101001
C001
78
0101001
C004
62
0102005
E002
73
0202003
C001
94
0202003
C004
65
0202003
X003
80
0303001
C001
76
0304006
E002
72
4.对“学生”表中的记录分别采用不同筛选方法筛选出“专业”为“电气”的学生信息;“学号”<0202003的学生信息;姓“赵”的学生信息。
5.将筛选出的记录按学号升序排列。
6.找出公共字段,通过鼠标拖动的方式建立表之间的关系。
六.实验报告内容与要求
1.给出系统E-R图,关系模式和数据表结构
2.写出筛选方法和筛选规则
3.绘制出数据表关系示意图,指出关联字段以及连接类型
七.思考
1.如何避免在字段中输入重复值
2.如何理解联系类型中三种选项对应了三种连接:
自然连接,左连接,右连接测试
实验四数据库数据的查询操作2学时
一.实验目的
1.掌握创建查询的各种方法以及相互之间的转换
2.练习查询语句的使用,体会查询的执行过程
二.实验内容
1.了解掌握Access中各种查询方法及相应条件的设置
2.使用Access的可视化查询工具进行查看、更改或分析数据
3.在数据库对象中练习SQL语句实现数据定义和数据操纵
4.熟练掌握使用SQL实现数据查询
三.实验设备及仪器
1.计算机
2.MicrosoftAccess2000版本或更高版本
四.实验原理
在Access数据库中,可以使用下列5种类型的查询:
●选择查询从一个或多个数据表中检索符合条件的数据,并且以结果集的形式显
示查询结果。
●交叉表查询显示来源于某个字段的统计值,并将它们分组,一组列在数据表的
左侧,一组在数据表的上部。
●参数查询是在选择查询中增加了可变化的条件,即参数,它在执行时显示自己
的对话框以提示用户输入信息。
●动作查询时一种可以更改记录的查询,包括删除查询,更新查询,追加查询和
生成表查询。
●SQL查询是用户使用SQL语句创建查询,可完成联合查询,传递查询,数据定义
查询和子查询等。
使用Access数据库提供的查询向导,用户可以创建大部分类型的查询,而使用SQL
查询可以创建任何类型的查询。
1.创建选择查询
在数据库中选择查询对象,可通过使用向导或在设计视图中(不使用向导)两种方式
建立查询。
在设计视图中建立查询,须在“显示表“对话框中选择所要查询的表,如果在查询中有多个数据表,应确保它们先建立关系,使用联接线来彼此联接。
从字段列表中拖动字段名添加到查询设计网格,通过输入准则,如是否显示,查询条件,排序次序,创建计算字段,计算总数平均数等进一步定义查询并保存。
如显示教授和副教授情况。
图4-1选择查询字段和查询条件
注意:
在准则栏中,写在不同行的条件是“或“的关系,相同行是”与“的关系
2.创建参数查询
可以在规则行输入以中括号([])括起的名字或短语作为参数的名称。
如查询高于用户输入的最低工资的教师情况
图4-2在“准则”单元格中输入各种表达式
图4-3“输入参数值”对话框
3.创建动作查询
动作查询时一种比较特别的查询,包括生成表查询、删除查询、追加查询和更新查询,
利用动作查询可以在一个操作中更改许多记录。
更新查询:
在“查询”菜单中选择“更新查询“命令,在查询设计视图中会显示”更新到“行。
如副教授月收入增加100,通过单击”执行“按钮完成记录的更新
图4-4更新查询设计视图
删除查询类似于更新查询。
4.SQL查询
常用SQL语句:
添加语句:
INSERT[INTO]table_or_view[(column_list)]data_values
删除语句:
DELETE[FROM]table_name
WHEREsearch_condition
更新语句:
UPDATEtable_name
SET
column_name={expression|DEFAULT|NULL}[,...n]
[FROMtable_name[,...n]]
WHEREsearchcondition
查询语句:
SELECTselect_list
FROMtable_source
[WHEREsearch_condition]
[GROUPBYgroup_by_expression]
[HAVINGsearch_condition]
[ORDERBYorder_expression[ASC|DESC]]
●SQL数据定义功能
使用数据定义的SQL语句的操作步骤是:
在数据库中选择“查询”对象,使用在设计视图中创建查询,在出现的“显示表”对话框中直接单击关闭按钮,选择菜单中的“查询”下的“SQL特定查询”中的“数据定义”命令,在出现的数据定义查询对话框中直接输入数据定义SQL语句,单击执行该SQL语句。
如创建一个系表,输入数据定义SQL语句:
图4-4“数据定义查询”对话框
新建表结构如图:
图4-5系表的结构
●SQL数据查询功能
使用数据查询SQL语句操作步骤是:
在数据库中选择“查询”对象,使用在设计视图中创建查询,在出现的“显示表”对话框中直接单击关闭按钮,选择菜单中的“视图”的子菜单“SQL视图”,在出现的选择查询对话框中直接输入查询SQL语句,单击运行执行该SQL语句。
如查找副教授情况,输入相应SQL语句:
图4-6“选择查询”对话框
●SQL数据操纵功能
使用数据操纵SQL语句操作步骤是:
在数据库中选择“查询”对象,使用在设计视图中创建查询,在出现的“显示表”对话框中直接单击关闭按钮,在“查询”菜单中选择“更新查询”命令,选择菜单中的“视图”子菜单“SQL视图”,在出现的更新查询对话框中直接输入相应SQL语句,单击运行执行该SQL语句。
如副教授月收入加100:
图4-7“数据定义查询”对话框
五.实验方法与步骤
基于实验一的“学生选课”数据库分别采用设计视图下的可视化查询和SQL语句查
询方法实现下列操作,注意保存下列查询。
1.查询全体学生姓名和专业
2.查询电子系女生的学号和姓名(若查询改为或是电子系学生或是女生该如何实现)
3.查询每个专业的学生数
4.选修课程名为操作系统的学生
5.查询每个学生每门课的成绩
6.查询每个专业的学生数多于1人的专业名及人数
Select专业名,count(*)fromxsgroupby专业名havingcount(*)>=2
7.查询选课门数大于1学号为“0101001”的学生号
Select学生号,count(*)fromxkgroupby学生号havingcount(*)>=2
8.查询选课门数大于1,学号为“0101001”学生信息
Selectallfromxkgroupby学生号havingcount(*)>=2
9.查询“张鲁”同学的平均成绩
10.查询所有姓“赵”的学生信息
11.将学生”C001”课程号的成绩全部提高2%
12.在学生表中插入一新生信息(”0401001”,“张三”,”男”,”电气”)
六.实验报告内容与要求
1.给出每个查询在设计视图下的设计网格属性
2.给出每个查询的相应SQL语句
3.参考教材自行设计一些查询条件进一步熟练掌握查询的使用。
4.体会生成表查询和追加查询
七.思考
1.如何查看或修改已有查询的SQL语句?
2.什么是子查询?
3.在删除数据表时,你试过有外关键字约束的数据表吗?
有什么要值得注意?
4.能够理解建立索引的必要性吗?