穿越三国有金手指:Access教程 第六章 数据库实例分析

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 01:27:54
作者:admin    文章来源:本站原创    点击数:2184    更新时间:2008-1-18    
第六章  数据库实例分析
本章内容
◆ 数据库总体分析和设计
◆ 数据库的建立
◆ 数据库对象的完善
本章是对前面学习的回顾、联系和巩固,通过建立一个微型的学生信息数据库实例,来灵活运用前面的知识。
一、数据库功能分析
所建立的学生信息数据库实例主要有如下功能:
◆ 用户能存储学生个人情况的有关信息。
◆ 用户能存储学生学习情况的有关信息。
◆ 用户能存储学生老师情况的有关信息。
◆ 用户能存储学生住宿情况的有关信息。
◆ 用户能存储学生班级情况的有关信息。
◆ 用户能对上述信息进行录入、修改、删除等操作。
◆ 用户能通过多种方式对上述信息进行查询和统计。
◆ 用户能对查询和统计结果进行报表输出。
二、数据库设计与表的建立
1. 设计表
根据上述功能要求,需收集如下信息:
◆ 学生表(Student):学号、姓名、性别、籍贯、年龄、政治面貌、班名、宿舍号

◆ 课程(Class):课程ID、课程名称、任课老师ID、学分、学时

◆ 任课老师(Teacher):任课老师ID、姓名、家庭住址、电话、邮箱

◆ 宿舍(Dormitory):宿舍号、宿舍长、电话、宿舍床位

◆ 班级(Team):班名、系部、成员数、班主任、班长、学习委员、生活委员

◆ 成绩(Score):成绩ID、学号、课程ID、成绩

2. 建立数据表
在设计表的过程中,关键是两个问题,一是要有哪些表,二是表有哪些字段,这是非常重要的起始步骤。这样,实际上就建立了数据库表的结构。下面进一步的是建立数据表的数据。本例输入一些示例数据。具体如下图所示:






3. 建立表间关系

4. 练习筛选和查阅向导
练习1:查看“班名”为“信科0101”的所有学生的记录。
练习2:查看所有“政治面貌”不为空的所有学生记录。
练习3:对【课程】表的“任课老师ID”字段进行类型修改,使之能显示为【任课老师】的名字。
三、查询设计
查询是数据库中使用频率最高的对象之一。前面介绍了Access 2003的各类查询,它们同样可以用于我们已建立的学生信息数据库。建立查询的关键是设计场景,所谓场景设计就是模拟用户的需要,提出查询需求模式。
下面首先回顾一下建立选择查询查询的一般知识和一般步骤,然后设计一些场景,来建立相应的查询示例。
1. 表达式
表达式是由运算符控制的一项或多项操作。在Access 2003中可以用表达式完成各种任务。在SQL语句、查询和筛选器中,用表达式可以设置属性,建立条件,定义函数等。系统每次用到表达式时会自动计算表达式的结果,如果表达式在窗体或报表中,在每次刷新窗体或报表时,Access 会重新计算表达式的结果。如果果把表达式用作查询中的条件,系统每次执行查询时计算表达式的值。如果在表设计中把表达式用作有效性规则,系统在每次输入字段值时执行该计算。
下面是几个表达式的例子:
=[Customer First Name]&” ”&[Customer Last Name]——客户姓和名连接
=[Total Amount]-([Total Amount]*[Discount])<25——打折后金额少于25
[Deceased]=Yes——已故
[Animal Type]=”Cat”And[Gender]=”M”——雄性猫科动物
[Date of Birth] Between 1/91 And 12/93——91年1月至93年12月出生的
由上可见,表达式通常由运算符、对象名、函数、字面值、常量等值构成。而通过表达式输入框可以创建表达式。
2. 输入字段条件
⑴ 输入单值字段条件
单值条件的输入只要简单地将一个表达式放到一个字段中。表达式可以是示例数据,也可以是函数。如输入字符(文本或备注)条件、利用Like运算符和通配符、指定非匹配值、输入数值条件等。






⑵ 在一个字段中输入多个条件
使用And、Or、Between...And...,可以为一个字段指定多个条件。另外,还有In运算符和Null值查找。




⑶ 在多个字段中输入条件
通过查询设计器中的多个字段的【条件】和【或】栏进行设置,可以实现在多个字段中输入条件。

3. 创建总计查询
要创建一个总计查询,首先要创建一个选择查询,然后在查询设计窗口激活“总计:”行。操作方法有二:【视图】|【总计】、【工具栏】|总计按钮。

⑴ 对所有记录进行总计

⑵ 对成组记录进行总计
可以在查询设计窗口指定某一字段为分组字段,系统将这个字段中的相同记录分成同组,并对分组进行总计计算。
对单组进行总计

对多组进行总计

⑶ 为总计查询指定条件



4. 创建交叉表查询


四、报表设计
1. 创建查询报表
报表可以看成是查看一个或多个表中数据记录的方式,这个概念是所有报表的基础。前面已介绍了单个表的报表输出,而通过查询报表可以从多个表中收集用户想要的数据。这时,创建报表必须选择【查询或表】并把字段显示在报表上。除非希望在报表上看到单个表的所有记录,否则就要把报表绑定到查询上。可以说,如果希望在多个表中访问数据来产生报表,唯一的方法是将报表和查询绑定在一起。
⑴ 创建查询

⑵ 创建报表并与一个查询绑定


⑶ 设计查询报表






⑷ 美化查询报表


2. 创建选项组
如果一个字段的值是数字类型,可以使用选项组控件来创建报表。而对于其它的控件,也同样可以根据它们的特性来设计创建,从而生成多种多样的报表。
3. 创建多列报表
Access 2003 还提供了一种称为“多列报表”的报表,这种报表能够定义报表的各个部分,从而使用一个页面上能打印出多列数据来。它通过一个页面设置对话框来创建。

五、窗体设计

六、系统完善
从前面的情况来看,似乎还不够系统,这是为什么呢?因为实际上,我们对本示例系统缺少功能模块的设计,下面我们回头来分析本系统将有一些什么样的功能模块,至于模块的实现,有些可以马上设计好,有些可能要等以后章节学习完以后,才能更好地完成。
本系统的功能主模块主要有以下几个:
◆学生信息数据库数据录入模块
本模块主要包括如下子模块:学生信息录入、老师信息录入、课程录入、成绩录入、班级录入、宿舍录入等。
◆学生信息数据库数据修改、删除、编辑模块
本模块包括对数据库中数据的修改、删除和编辑等功能子模块。
◆学生信息数据库数据查询模块
本模块包括与学生信息相关的数据查询子模块:学生情况查询、老师情况查询、班级情况查询、课程查询、成绩查询、宿舍查询。
◆学生信息数据库数据统计模块
本模块包括如下子模块:学生基本情况统计、学生成绩情况统计。
◆学生信息数据库数据打印模块
本模块主要包括如下子模块:学生基本情况打印、学生成绩打印。
◆数据数据库管理。
包括数据库整理、压缩、备份、还原等,还是比较重要的。
◆帮助信息与关于本系统。
可提供帮助文档。提供版本信息、版权信息、求助联系方式等。
为此,我们建立切换面板如下: