Access数据库的基本应用
------------学生和课程管理系统
本实例利用Microsft Access2003制作一个“学生和课程管理系统”。整个数据库系统分解成4个主要任务,内容涉及小型关系数据库的创建过程,包括数据库的创建、表的设计、表间关系的设置、简单的选择查询的设计以及数据库窗体的创建等内容。
本实例的任务分解内容如下:
任务1 创建数据库及数据库中的表;
任务2 确定表间关系,表中数据编辑;
任务3 建立几个简单的选择查询;
实例前的准备:
设计本数据库系统前,需要了解数据库系统的结构及关系型数据库模型的特点;了解关系数据库的基本知识;了解常见数据库设计的方法及主要步骤。
本实例利用Microsft Access 2003作为系统的开发环境,因此还需要了解Access2003的启动与退出方法,了解Access 2003窗口界面的基本构成;掌握Access 2003的操作方法。
实例操作步骤:
任务1 创建数据库及数据库中的表
任务说明
该数据库系统功能上要实现对教师、学生以及课程的有效管理,教学管理人员和教师可以通过该系统实现对全校教师信息及学生信息的管理,进行的操作包括增加、删除、修改、查询等。具体需求如下:
管理人员通过系统维护教师信息、学生信息;
教师通过系统维护学生信息(登记、修改、查看成绩等);
本系统分为3个模块:教师信息模块、学生信息模块、课程信息模块。
该数据库包括3张表,分别为:
教师信息表(表13-1);
课程信息表(表13-2);
学生信息表(表13-3);
各张表的具体结构设计如下:
表13-1 教师信息表
字段名称 | 数据类型 | 字段属性 | |||
字段大小 | 必填字段 | 索引 | 是否主键 | ||
教师编号 | 自动编号 | 长整型 | 是 | 有(无重复) | 是 |
教师姓名 | 文本 | 50 | 是 | 有(有重复) | 否 |
工作证号 | 文本 | 50 | 否 | 无 | 否 |
电子邮件 | 文本 | 50 | 是 | 无 | 否 |
电话号码 | 文本 | 30 | 是 | 无 | 否 |
表13-2 课程信息表
字段名称 | 数据类型 | 字段属性 | |||
字段大小 | 必填字段 | 索引 | 是否主键 | ||
课程编号 | 自动编号 | 长整型 | 是 | 有(无重复) | 是 |
课程名称 | 文本 | 50 | 是 | 无 | 否 |
教师编号 | 数字 | 长整型 | 是 | 无 | 否 |
教材 | 文本 | 50 | 否 | 无 | 否 |
备注 | 备注 | 否 | 无 | 否 |
表13-3 学生信息表
字段名称 | 数据类型 | 字段属性 | |||
字段大小 | 必填字段 | 索引 | 是否主键 | ||
学生编号 | 自动编号 | 长整型 | 是 | 有(无重复) | 是 |
学生姓名 | 文本 | 50 | 否 | 有(有重复) | 否 |
课程编号 | 数字 | 长整型 | 是 | 无 | 否 |
性别 | 文本 | 4 | 否 | 无 | 否 |
专业 | 文本 | 50 | 否 | 无 | 否 |
学号 | 文本 | 30 | 否 | 无 | 否 |
成绩 | 数字 | 双精度型 | 否 | 无 | 否 |
备注 | 备注 | 否 | 无 | 否 |
知识点分析
一、数据库的定义
通俗的说:数据库就是计算机中存放数据的地方。
一般定义:数据库是为实现一定的目的按一定的组织方式存储在计算机中相关数据的集合。数据库中可以存放大量的数据。
二、数据库管理系统的定义
数据库管理系统(Database Management System ,DBMS)是为数据库的建立、使用和维护而配置的软件。
数据库管理系统的特点:
(1)数据结构化;
(2)数据冗余小易扩充;
(3)数据独立于程序;
(4)数据由DBMS统一管理和控制;
Access 2003是一种关系数据库管理系统(RDBMS),适用于建立小型的数据库软件;
三、表的概念
在任何时刻,Access2003只能打开并运行一个数据库。但是,在每一个数据库中,可以拥有众多的表、查询、窗体、报表、页面、宏和模块。这些数据库对象都存储在同一个以MDB为扩展名的数据库文件中。
Access的数据库组件有:表、查询、窗体、报表、页面、宏、模块。
1、表(Table)对象
表是Access最基本的组件,要在Access中创建数据库,首先便是创建表。表是存储数据的基本单元,由不同的行(记录)、列(字段)组合而成,每一列代表某种选定的数据类型,称为字段;而每一行由各个特定的字段构成,称为记录。每一字段包含了一类信息,大部分表中要设置关键字,以唯一地表示一条记录。
一个数据库可以创建多个表,各个表之间可以通过相同内容的字段相互建立关联。
四、字段的数据类型和属性
1、数据类型
在Access中有“文本”、“备注”、“数字”、“日期/时间”、“货币”、“自动编号”、“是/否”、“OLE对象”、“超级链接”、“查阅向导”十种字段的数据类型;
不同的数据类型分配不同大小的数据空间,而每种数据类型的大小是固定的。所以当在一个字段中输入一个值时,字段的大小不会随值的内容而变化;
表13-4 字段的数据类型
设置 | 数据类型 | 大 小 |
文本 | (默认值)文本或文本和数字的组合,以及不需要计算的数字,例如电话号码; | 最多为 255 个字符。 |
备注 | 长文本或文本和数字的组合; | 最多为 65,535 个字符。 |
数字 | 用于数学计算的数值数据; | 1、2、4 或 8 个字节。 |
日期/时间 | 从 100 到 9999 年的日期与时间值; | 8个字节。 |
货币 | 货币值或用于数学计算的数值数据,精确到小数点左边 15 位和小数点右边 4 位; | 8个字节。 |
自动编号 | 每当向表中添加一条新记录时,由 Microsoft Access 指定的一个唯一的顺序号(每次递增1)或随机数。自动编号字段不能更新; | 4个字节。 |
是/否 | “是”和“否”值,以及只包含两者之一的字段(Yes/No、True/False 或 On/Off); | 1位 |
OLE 对象 | Microsoft Access 表中链接或嵌入的对象(例如Excel表格、Word文档、图形、声音或其他二进制数据); | 受可用磁盘空间限制。 |
超链接 | 文本或文本和以文本形式存储的数字的组合,作超链接地址; 超链接地址最多包含三部分:显示的文本、地址、子地址; 方法:单击“插入”菜单上的“超链接”; | 超链接数据类型的三个部分中的每一部分 |
查阅向导 | 创建字段,该字段可以使用列表框或组合框从另一个表或值列表中选择一个值; | 通常为 4 个字节。 |
2、字段属性
在Access中字段属性包括有“字段大小”、“格式”、“输入法模式”、“默认值”、“有效性规则”、“必填字段”、“允许空字符串”、“索引”等,设置它们会对表中的数值产生影响。在创建字段并确定数据类型后,不同类型的字段会有不同的属性。
文本格式符号:“-” 表示右对齐;“!” 表示左对齐;
输入法模式:随意、输入法开启、输入法关闭;
输入掩码:可以控制输入到字段中的值;
标题:一般情况下都不设,自动取这个字段的字段名;
默认值:字段没有输入时会以该字段中的值作为默认值;
有效性规则:为了检查字段中的值是否有效, Access只在满足相应的条件时才能输入;
必填字段:必须填写的重要字段;
允许空字符串:指字段里能否存在“零长度字符串”,通常设为“否”;
索引:决定是否将这个字段定义为表中的索引字段,便于查询;
Unicode压缩:是微软公司为了使一个产品在不同的国家各种语言情况下都能正常运行而编写的一种文字代码,通常选择“有”。
制作步骤
1、启动Access 2003。单击“开始” → “所有程序” → Microsoft Office → MicrosoftOffice Access 2003;
2、单击Access窗口左上角数据库工具栏中的“新建”按钮,在屏幕右侧的任务窗中选择“空数据库”命令;
3、会打开一个“文件新建数据库”的对话框窗口,在“文件名”处的文本框内输入数据库系统的名称“学生和课程管理系统” ;
4、创建该数据库中包含的表的结构,在此以“学生信息表”为例。在数据库对象窗口中选择“表”对象,然后双击“使用设计器创建表”,将会打开表的设计器;
5、在表设计器的上半部分的“字段名称”第一行处输入第一个字段的名称‘学生编号’,然后在“数据类型”的下拉列表中选择‘自动编号’,然后在设计器的下半部分设置此数据类型的字段属性,在此,所有属性采用默认值;
6、第二个字段的设置。在“字段名称”的第二行处输入第二个字段的名称‘学生姓名’,“数据类型”下拉列表中选择‘文本’,在下半部分的字段属性中做如下设置:字段大小为“50”,必填字段为“否”,索引为“无”。
7、依照以上方法,依次可以对其它字段做出相应的设置;
8、主键的设置。单击“学生编号”字段这一行的任何位置,单击右键,选择“主键”按钮,在这一行最左边的方格中出现一个“钥匙”符号即表示设置完成;
9、关闭设计器窗口,在出现的对话框窗口中输入表的名称“学生信息表”。
10、在教师信息表中设教师编号为主键,课程信息表中设课程编号为主键。
任务2 确定表间关系,表中数据编辑
任务说明
创建“教师信息表”、“课程信息表”、“学生信息表”对应字段间的关系;
输入各表中的记录信息;
字段操作
删除“学生信息表”中的“专业”字段;
修改“学生信息表”的库结构,对“成绩”字段添加有效性规则为成绩大于等于0且小于等于100;(>=0and <=100)。
知识点分析
所谓关系,就是在两个表中都有一个数据类型、字段大小相同的字段,利用这个字段在两个表之间建立起关联。可以在多个表间创建关系,从而使数据库中的各个表结成一个有机的整体,正所谓“牵一发而动全身”。
关系的主要作用是使多个表字段协调一致,从而能够方便快捷地在各个表之间查询信息。
表间关系根据两个表中记录匹配情况有如下四种类型:
一对一:即一个表中的每个记录只与另一表中的一个记录匹配,它要求两个表的相关字段都是主关键字或唯一索引。
一对多:一个表中的每个记录与另一表中的多个记录匹配,但第二个表中的每个记录只与第一个表中的一个记录匹配,它要求只有一个表的相关字段是主关键字或唯一索引。
多对一:一个表中的多个记录与另一表中的一个记录匹配。
多对多:一个表中的每个记录与另一表中的多个记录相匹配,反之亦然。
当数据库表创建好后,表中的记录,表的结构、外观可能随着数据库系统的使用而随时需要作出改变,甚至表在创建完成后不一定完全符合我们的工作需要,为此,随时可能需要对表进行维护工作。
表中的数据编辑包括:字段操作、列操作、数据操作等;
制作步骤
设置表间的关系
1、单击“工具”菜单,选择“关系”命令;(或直接单击常用工具栏中“关系”按钮);
2、在打开的“关系”窗口中,单击右键,选择“显示表”,在打开的“显示表”对话框中依次将需要设置关系的表添加到窗口中;
3、选中“教师信息表.教师编号”拖动到“课程信息表.教师编号”处,在打开的对话框窗口中选中“实施参照完整性”复选框;
4、重复步骤3,设置“课程信息表.课程编号”与“学生信息表.课程编号”间的关系,表间关系的设置完成。
输入记录信息
1、在数据库窗口的表对象中,双击打开“教师信息表”,将会打开数据表视图,在表格中添加几条教师记录信息;
2、单击“教师信息表”第一条记录最前面的“+”号,将会打开相应的子表“课程信息表”,直接输入所对应的课程记录信息;
3、完成了课程记录的输入后,继续打开“课程信息表”记录最前面的“+”号,打开相应的“学生信息表”,输入相应的学生记录信息;
4、依照以上方法,完成输入其他各表中的记录信息;
字段操作
1、在数据库窗口的表对象中,单击选中“学生信息表”,然后在窗口菜单中选择“设计”,将会打开表的设计视图,选中“专业”字段,单击右键,在快捷菜单中选择“删除行”即可;
2、选中“成绩”字段,在下半部分的字段属性设置窗口中,单击“有效性规则”后的文本框,再单击符号,将会出现“表达式生成器”窗口,在文本框内输入“>=0 and<=100”,单击确定完成;
任务3 建立几个简单的选择查询
任务说明
1、在“学生信息表”中,建立“成绩”查询,显示表中的“学生编号”、“学生姓名”、“性别”和“成绩”4个字段的信息;
2、在“学生信息表”中,建立“优秀生”查询,查询成绩在85分以上(含)的所有学生的“学生姓名”、“课程编号”、“成绩”3个字段的信息,并按成绩升序排序;
3、创建带条件的查询;
知识点分析
一、查询的概念
查询是动态数据的集合,查询结果用数据表来显示,数据表中的记录称为动态集。此动态集只是一虚拟的记录集,并不被存储到数据库中,而只保存查询的方式。当查询关闭时,此动态集会自动消失,但形成动态集的数据依然存储在原表中。
二、查询的基本作用
查询的基本作用表现在几个方面:
1、修改表中数据。通过查询可以浏览、分析甚至修改表中的数据;
2、选择字段或记录。通过查询可以集中浏览有兴趣的数据,而排除不需要的数据;
3、完成计算。通过查询可以处理原始数据或统计,从而简化处理工作;
4、创建新表。查询结果可生成新表,并进一步建立新的查询,要为窗体、报表、数据访问页提供数据;
5、排序记录。通过查询可以指定浏览记录的顺序;
三、查询的类型
Access支持五种查询方式:选择查询、操作查询、交叉表查询、参数查询和SQL查询。
选择查询是一种最常见的查询方式,查询建立时按照一定的规则以一个或多个表或其他查询作为数据源,并按照所需要的排序顺序显示查询的结果。其结果为一动态集,动态集中的数据可以进行修改、删除、追加新记录、对记录进行分组等操作。
四、查询的准则表达式
1、简单的准则表达式
字符型 如“义乌”、“*义乌*”、“义?”
数字型 如“20”、“20*5-40”
空字段值 “IsNull”或“为空”,“IsNotNull”或“为非空”;
2、包含操作符的准则表达式
算术操作符 + -* / ^MOD &
比较操作符 >< =>=<=<> Between…and…
字符串运算符
Like 如 Like”北京”
In 如 In(“王军”,”刘洋”)
Right 如 Right([书名],2) =“教程”
Len 如 Len([出版社])> Val(8)
逻辑操作符 AndOr Not
五、表达式生成器
这个工具提供了数据库中所有的“表”或“查询”中的“字段”名称、窗体、报表中的各种控件,以及函数、常量、操作符、通用表达式等;
制作步骤
在“学生信息表”中,建立“成绩”查询,显示表中的“学生编号”、“学生姓名”、“性别”和“成绩”4个字段的信息;
1、在数据库窗口中,选择“查询”对象,双击“使用向导创建查询”;
2、在“简单查询向导”第1步的“表/查询”中,选择“学生信息表”,然后将需要显示的字段依次从“可用字段”通过符号移到“选定的字段”中,单击“下一步”;
3、在向导的第2步选择“明细(显示每个记录的每个字段)”,单击“下一步”;
4、在向导的第3步输入查询名称“成绩查询”,单击“完成”;
在“学生信息表”中,建立“优秀生”查询,查询成绩在85分以上(含)的所有学生的“学生姓名”、“课程编号”、“成绩”3个字段的信息,并按成绩升序排序;
在数据库窗口中,选择“查询”对象,双击“在设计视图中创建查询”;
在打开的“显示表”对话框中,将“学生信息表”添加到查询视图中;
将“学生信息表”中的“学生姓名”、“课程编号”及“成绩”用鼠标分别拖至查询设计表格“字段”行的第1,2,3列,并在成绩列的“排序”行处选择“升序”,“条件”行处输入“>=85”;
关闭查询设计窗口,保存查询,命名为“优秀生”。
小结
本章通过一个小型数据库系统的创建,系统讲解了Access 2003的基础知识,主要针对Access2003数据库七大组件中的表、查询、展开较详细的讲解,小结如下:
1、讲述了如何创建数据库;介绍了数据库表的设计方法,主键的设置;
2、讲述了如何创建数据库中表间的关系,介绍了表中的数据编辑(记录的添加、删除、字段操作等);
3、讲述了创建简单选择查询的几种方法,如何在查询设计器中添加简单的查询条件;
思考题
1、请简要说明数据库系统设计的基本步骤。
2、表的作用是什么?主键的特征是什么?
3、建立表间的关系有什么作用?
4、查询的准则表达式有哪些?