Access2003的运行环境演示:查看“罗斯文示例数据库”•表•查询•窗体•报表•数据访问页•宏•模块Access2003的结构•表是整个数据库中最基本的对象,所有的数据都是存储在表中的。一个Access数据库中可以存储多张表,表之间还可以建立关系,以便把不同表中的数据联系起来。•查询是一种虚拟表,是按照一定的条件或准则从一个或多个数据表中映射出的虚拟视图。•查询对象可以让用户更方便地查看、分析和更改数据库中的数据,还可以作为窗体、报表和数据访问页的记录源。•窗体是Access数据库中的一种很特别的对象,它为用户查看和编辑数据库中的数据提供了一种友好的交互式界面。•报表是一种格式化的页面,可以直接打印输出,它为打印输出数据库中的数据或数据的处理结果提供了一种便捷的方式。•数据访问页是Access2003中唯一一个独立于Access数据库文件之外的对象。它是一种特殊的网页,用户可以直接打开数据访问页,并通过它对数据库中的数据进行各种操作。•宏是一种为实现较复杂的功能而建立的可定制的对象,它实际上是一些列操作的集合,其中每个操作都能实现特定的功能。例如,打开窗体、生成报表、保存修改等。•模块是Access数据库中最复杂也是功能最强大的一种对象,因为它是一种可编程的功能模块。在Access2003中,使用其内置的VisualBasicforApplication来建立和编辑模块对象。关系数据库设计1、需求设计(1)系统功能分析(2)数据库需求分析2、确定需要的表3、确定所需字段4、确定联系5、设计求精举例学生成绩管理系统的设计1、数据库系统的系统功能分析建立学生成绩系统的主要目的是通过系统对学生成绩录入、修改与管理,能够方便地找到各种分析报告和成绩单,如分数分布情况,最高、最低分数等情况;系统还应该考虑对成绩管理有严格的权限分配保证数据的安全性。所以系统应该包括如下几方面的功能:(1)录入和维护学生的各种成绩,生成数据库数据(2)对不及格学生的处理信息(3)按照各种方式方便地浏览成绩,如按科目、班级、院系、专业和个人等(4)对各科考试进行统计分析‘如进行总分、平均分、最高、最低分数、优秀率和及格率的统计分析;能够输出各种成绩单和统计报表以及成绩走势图等。(5)重修成绩管理,根据重考的成绩刷新相关课程的成绩(6)相关课程的教师和管理员对成绩进行维护,成绩的维护应有严格的时间限制。例如,一定的事件后,教师不能修改学生成绩,如果必须修改,只能通过管理员修改,并详细记录修改结果、修改原因以及修改时间等。2、数据库需求分析结合上面的例子,可以总结出数据库应该包括以下几种基本信息:(1)首先要做成绩录入,为以后的成绩分析做好前期数据信息的准备,所以成绩要保存在数据库中。数据信息应包括学生的学号、考试课程代码和成绩属性,对成绩有约束条件,如介于0-100之间。(2)因为要做数据分析和统计,所以需要学生的基本信息,如学号、姓名、性别、班级、照片、简历、专业和院系等,是统计数据的基本信息来源(3)考虑给学生补考的机会,所以需要学生补考信息,应该包括学号、课程代码和补考成绩。(4)考虑对数据库的操作,设置课程、院系和专业数据信息。它们分别包括课程代码、课程名称、学分;院系代码、院系名称、电话以及专业代码、专业名称和说明等。2、确定需要的表确定数据库中的表是数据库设计过程中最重要的一步。可以着手将需求信息划分成独立的实体,如教师、学生、课程、选课等。每个实体都可以设计为数据库中的一个表。3、确定所需字段确定每个表中要保存哪些字段。通过对这些字段的显示使计算机能够得到所有需求信息;确定字段时需注意以下问题:(1)每个字段直接和表的实体相关(2)以最小的逻辑单位存储信息(3)表中的字段必须是原始数据4、确定表联系确定表联系的目的是使表的结构合理,不仅能存储所需要的实体信息,而且能反映出实体之间客观存在的联系。要建立两个表的联系,可以把其中一个表的主关键字添加到另一个表,使两个表都有该字段。因此需要分析各个表所代表的实体之间存在的联系5、设计求精对设计进一步分析,查找其中的错误;创建表,在表中加入几个示例数据记录,考察能否从表中得到想要的结果;需要时调整设计。一个具体的数据库设计过程,是一个系统工程。既要整体上把我好各个环节,又要在具体细节上分析到位。需要反复时间,才能真正掌握设计数据库的基本方法。1.5关系数据库标准语言SQL•sql语句就是对数据库进行操作的一种语言常用的SQL语句包括:SELECTINSERTUPDATEDELETECREATEDROPSELCET语句•SELECT[ALL|DISTICT]字段表达式1[,字段表达式2[,…]/查询结果中的字段•FROM表名1,表名2[,…]/查询结果中的数据来源•[WHERE筛选择条件表达式]/指定源表中记录的筛选条件•[GROUPBY分组表达式[HAVING分组条件表达式]]/对记录的分组条件附家筛选•[ORDERBY字段[ASC|DESC]]/对指定记录升/降序2.1创建数据库和表•数据库的基本思想是将库看成一个大的容器,我们可以称其为一级容器,而表对象是Access2003中置于数据库容器中的一个二级容器对象,用于存储有关特定实体的数据集合。迷你超市业务信息管理系统,包含“公司职员基本情况”、“库存数据记录”、“柜存数据记录”、“销售数据记录”四个基础表。2.1.1创建“迷你超市业务信息管理系统”数据库•1.创建工作文件夹•2.创建空Access数据库•2.1.2使用表向导创建数据表•2.1.3使用设计视图创建数据表•2.1.4通过数据输入创建表•2.1.4通过导入表创建表2.2设计表结构2.2.1字段的基本操作1.修改字段名2.插入新字段3.修改字段的排列顺序4.更改数据类型2.2.2字段的属性设置2.2.3主键及索引的创建第3章数据表的应用教学目标:通过本章学习,使读者能够使用Access2003建立编辑数据表间的关系,编辑应用数据表。主要能力目标:•能够为已创建的数据表创建关联。•能够编辑数据表的数据。•能够为数据表设计格式。工作任务:根据“迷你超市业务管理系统”数据表的特点,为“库存数据记录”、“柜存数据记录”、“销售数据记录”三个表创建编辑表间关系,将相关的“数据”集合在一起,格式化数据表。3.1数据表的关联•在“迷你超市业务信息管理系统”数据库中数据是由三个主要的工作表提供的,要同时浏览三个数据表中的相关数据,同时操作三个数据表,必须先在三个数据表之间建立关系,使得这些数据表中的相关数据对应起来,然后通过数据表视图浏览三个表中的数据。3.1.1定义表间关系•上节中我们为“迷你超市业务信息管理系统”所创建的数据表,相互间实际上是独立的,要使这些表之间具有某种联系,必须定义关系,主要关系有“一对一”、“一对多”、“多对多”。3.1.2编辑和删除关系•对于已经建立好的关系,如果某些方面不符合需要,可以对其加以修改。•操作一编辑已有关系•操作二删除关系3.1.3设置参照完整性参照完成性就是保证具有关联的关系的“关系”之间引用的完整性,或者说,保证有表间关联关系的表的引用完整性。•参照完整性则是相关联的两个表之间的约束,具体的说,就是从表中每条记录外键的值必须是主表中存在的,因此,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。•如果实施了参照完整性,那么当主表中没有相关记录时,就不能将记录添加到相关表中。也不能在相关表中存在匹配的记录时删除主表中的记录,更不能在相关表中有相关记录时,更改主表中的主键值。也就是说,实施了参照完整性后,对表中主键字段进行操作时系统会自动地检查主键字段,看看该字段是否被添加、修改、删除了。如果对主键的修改违背了参照完整性的要求,那么系统就会自动强制执行参照完整性。•例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。•参照完整性还体现在对主表中的删除和更新操作,例如,如果删除主表中的一条记录,则从表中凡是外键的值与主表的主键值相同的记录也会被同时删除,将此称为级联删除;如果修改主表中主关键字的值,则从表中相应记录的外键值也随之被修改,将此称为级联更新。3.1.4设置联接类型Access中表与表之间的关系通过联接来体现,联接将最终作用于查询、基于多表的窗体和报表,直接影响所生成的记录数据。根据查询结果产生条件将联接划分为三种类型:即内部联接、左边外部联接和右边外部联接。3.2子数据表的使用子数据表是一个嵌套在其他数据表中的表,可以帮助读者浏览表、查询、窗体和窗体数据表中的相关数据,在Access2003中只要创建数据表的关系后,就建立了父表和子表的关系。3.3编辑数据表的数据在数据库中使用数据时,基本的操作有浏览、更新、删除等,这些操作在上节中在表“设计”视图中也可以直接进行,在数据浏览视图中还能查找和替换记录,对数据进行排序和筛选等。3.3.1编辑数据表中的数据1.数据的粘贴操作2.删除列操作3.删除记录操作3.3.2查找和替换记录当表中记录很多时,用户通过浏览方式查看表中的数据信息,会有一定的困难,若要使用Access系统的数据查找操作来完成,就方便得多。1.查找操作方法2.替换操作方法3.3.3排序和筛选记录在“表”浏览窗口,表中的数据显示顺序,通常是根据数据输入先后顺利排列的,更多的时候,用户使用数据是希望按照某种需求排列在表中,Access系统提供了重新排列数据顺序的工具,可以通过对表中记录进行排序操作,实现对表中记录的重新排列。筛选也是查找表中数据的一种操作,但与查找有所不同,它所查找到的信息是一个或一组满足规定条件的记录而不是具体操作的数据项。提示:在按升序对字段进行排序时,任何含有空字段(包含Null值)的记录都将在列表中首先列出。如果字段中同时包含Null值和零长度字符串(零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号()的记录,则包含Null值的记录将首先显示,紧接着是零长度字符串。2.数据筛选:简单地说,筛选就是一个简单的查询,但筛选在功能上弱于查询,在MicrosoftAccess2003中可以使用四种方法筛选记录:“按选定内容筛选”、“按窗体筛选”、“内容排除筛选”、“高级筛选/排序”。1.“按选定内容筛选”操作方法:2.“按窗体筛选”操作方法:3.“按内容筛选”操作方法:4.“高级筛选/排序”3.3.4OLE类对象的插入•OLE对象(OLE对象:一种支持OLE协议(用于对象的链接和嵌入)的对象。来自OLE服务器的OLE对象(如Windows画笔图片或MicrosoftExcel电子表格)可以链接或嵌入到字段、窗体或报表中。•在我们选择数据类型为OLE对象时,在视图中任我们如何输入都不能填入数据,这就说明OLE类对象是指利用Access外已经做好的程序插件插入到Access字段中,使数据表富于动感。•下面就如何做OLE类对象做一个字段。3.3.5格式化数据表视图•通过对数据表格式的设置,可以美化数据表视图。•操作方法:1.双击打开数据表“公司职员基本情况”;2.选择“格式”菜单中“数据表”,弹出“设置数据表格式”对话框;3.选择自己喜欢的样式,单击“确定”按钮即可得到预期的效果。4.读者根据自己的喜欢设置其它表的格式,并为数据表设置字体。