1. 数据库基础知识1.1数据库的发展:•数据库技术的主要目的是能有效地管理和存取大量的数据资源•数据管理技术经历了人工管理阶段、文件系统和数据库系统、分布式数据库系统、面向对象数据库系统15个发 展阶段1.2数据库系统基本概念:•数据库DB:存储在计算机存储设备、结构化相关数据的集合它不仅包括描述事物本身,而且包括相关事物之 间的关系•数据库管理系统DBMS:是数据库的机构,是一种系统软件,负责数据库中的数据组织、数据操纵、控制及保护和数据服务等• DBMS是位于用户与操作系统之间的数据库管理系统,是属于OS支持下的系统文件• DBMS的组成包括|1数据定义语言及其翻译处理程序2数据操纵语言及其编译(解释)程序3数据库运行控制程序 4实用程序|• DBMS六个功能1数据模式定义2数据存取的物理建构3 |数据操纵|:包括对数据库数据的检索、插入、修改和 删除等基本操作4数据的完整性、安全性定义与检查5数据库中的并发控制与故障修复6数据的服务• DBMS三种数据语言:1数据定义语言画负责数据模式定义与数据物理存取构建2数据操纵语言DML负责数据 的操纵,如查询与增、删、改等3数据控制语言叵负责数据完整性、安全性的定义与检查以及并发控制、故障恢 复等•数据库系统DBS:由5部分组成:硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和丽。
其 中数据库管理员可以管理数据库应用系统、数据库管理系统、操作系统• DBS特点:|1共享度高,数据冗余度小|2采用特点的数据模型3具有较高的数据独立性4有统一的数据控制功能• DBS三级模式:1 |概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图2外模式 也称子模式或用户模式它是用户的数据视图,也就是用户所见到的数据模式,由概念模式推导而出31内模式 又称物理模式给出了数据库物理存储结构与物理存储方法1.3数据模型基本概念:•数据模型:其不仅表示反映事物本身的数据,而且表示相关事物之间的联系数据模型所表示的内容有三个部 分,数据结构、数据操作与数据约束•在E-R图中用矩形表示实体|,椭圆形表示属性|,菱形表示联系客观存在并相互区别的事物称为实体描述实体的特性称为属性现实世界中事物间的关 联称为联系同类型的实体的集合属性值的集合表实体,而属性的集合表实体的类型1.4关系数据库基本概念:关系:一个关系就是一张二维表,每个表都有一个关系名在Access中,一个关系存 储为一张表,具有一个表名元组:在一个二维表中,水平方向的行称为元祖元祖对应表中的具体记录属性: 二维表中垂直方向的列。
每一列有一个属性名在Access中表示为字段名每个字段的数据类型、宽度等在创建 表的结构时规定I数据项I:也称为分量,是每个记录中的一个字段的值域:属性的取值范围庶键字:其值能够唯 一标识一个元祖的属性或属性的组合在Access中表示为字段或字段的集合外部关键字:如果表中的一个字段 不是本表的主关键字,而是另一个表的主关键字和候选关键字,这字段就称为外关键字• |关系数据模型|:用二维表结构来表示实体以及实体之间联系的模型数据模型所表示的内容有三个部分,数据 结构、数据操作与数据约束•数据关系操作:数据查询、数据删除、数据插入、数据修改•数据约束:11实体完整性约束:该约束要求主键中属性不能为空值2 |参照完整性约束:是关系之间相关联的约 束,不允许关系引用不存在的元组3 |用户定义完整性|约束:针对具体数据环境与应用环境由用户具体设置的约束, 反应了具体应用中数据的语义要求1.5关系运算基本概念:1选择运算:从关系中找出满足给定条件的元祖的操作2投影运算:从关系模式中指定若 干属性组成新的关系3连接运算:连接是关系的横向结合,连接运算将两个关系模式拼接成一个更宽的关系模式, 生产新关系中包含满足连接条件的元祖41自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作为 等值连接,自然连接时I去掉重复属性的等值连接1.6数据库设计基础•设计原则1关系数据库的设计应遵从概念单一化“一事一地”原则2避免在表之间出现重复字段3表中的字段 必须是原始数据和基本数据元素4用外部关键字保证有关联的表之间的联系•设计步骤11需求分析。
信息需求、处理要求、安全性和完整性要求)2确定需要的表每个表只包含一个关于 主题的信息;表中不应该包含重复信息,且信息不应该在表之间复制)确定所需字段每个字段直接和表的实体 相关;以最小的逻辑单位存储信息;表中字段必须是原始数据;确定主关键字字段)4确定关系5设计求精 •数据库设计采用生命周期法:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试 阶段、运行阶段I1.7Access系统简介:• (1) Access不仅能处理Access格式的数据库,也能对诸如DBASE、FOXBASE、Btrieve等格式的数据库进行访 问(2) Access采用OLE技术,能够方便地创建和编辑多媒体数据库,包括文本、声音、图像和视频等对象(3) Access 支持ODBC标准的SQL数据库的数据(4)可以采用VBA(Visual Basic Application)编写数据库应用程序•数据库的设计一般要经过|1分析建立数据库的目的2确定数据库中的表3确定表中的字段4确定主关键字5确 定表之间的关系• Access数据库的结构层次是:数据库、数据表、记录、字段定义为一个扩展名mdb文件,7种基本对象:表, 查询,窗体,报表,页,宏,模块。
• 表]Access允许一个数据库中有多个表[查询查询时数据库设计目的的体现,其结果是静态的逼体是数据库和 用户联系的界面,利用窗体输入界面[报表打印输出数据,创建计算字段,对记录分组啟直接与数据库中数据相 连,进行查看、编辑、更新、删除、筛选、分组以及排序宏一系列操作的集合模块建立复杂的VBA程序• 关闭 Access: [Alt] + [F4]或[Alt] + [F] + [X]2. 数据库和表的基本操作2.1创建数据库:①创建空数据库②使用向导创建数据库2.2表的建立:•表的组成包括字段和记录• Access表由表结构和表内容两部分构成•表的结构:指数据表的框架,主要包括表名和字段属性1表名:是该表存储在磁盘上(用户访问数据)的唯一 标识2字段属性:即表的组织形式,包括表中字段的个数,每个字段的名称、数据类型、字段大小、格式、输入掩 码、有效性规则•字段命名规则:长度1至64个字符,不能以空格开头,不包.![]'•数据类型:10种1|文本文本型字段可以保存文本或文本与数字的组合可保存较长的文本3 数字 41日期/时间15货币61自动编号7 |是/否8OLE对象表中字段的数据类型OLE对象是指字段允许单独的〃链接〃或〃嵌入 "OLE对象。
可以链接或嵌入表中的OLE对象是指在其它使用OLE协议程序创建的对象例如Word文档、Excel电 子表格、图像、声音或其它二进制数据9超级链接110 |查阅向导•建立表结构:1使用向导2 |使用表设计器在Access数据库的表设计器中可以修改字段类型、设置索引和增加 字段要想删除表中的记录,需要打开表进行删除31使用数据表41定义主键主键,也称主关键字,是表中能够 唯一标识记录的一个字段或多个字段的组合在Access中,可定义3种类型主键,即自动编号,单字段,多字段 •设置字段属性11字段大小2 格式]3输入掩码|:输入掩码用来指定输入到字段中值的范围0必须输入数字9 可以选择输入数据或空格可以选择输入数据或空格□必须输入字母可以选择输入字母(A—Z)必须输 入字母或数字a可以选择输入字母或数字必须输入一个任意的字符或一个空格C可以选择输入任何的字符或 一个空格<所有字符转化成小写>所有字符转化成大写Access只为|“文本” |和|“日期/时间” |型字段提供输入 掩码向导41默认值|:是指当用户没有为字段输入值时,系统将自动为其赋予一个事先设定的值5 |有效性规则|:用 来判断输入的值是否符合设置的逻辑条件。
6 |有效性文本7索引索引时非常重要的属性,能根据键值加速在表中 查找和排序的速度,并且能对表中的记录实施唯一性同一个表可以创建多个唯一索引,其中一个可设置为主索引, 且一个表只有一个主索引• 输入数据:直接输入数据,获取外部数据•表间关系的建立与修改①表间关系的概念:一对一,一对多②建立表间关系在Access中,每个表都是 数据库独立的一个部分,但每个表又不是完全孤立的,表与表之间是通过一个共同字段联系在一起的③设置参 照完整性参照完整性是一个规则系统,Microsoft Access使用这个系统用来确保相关表中记录之间关系的有效 性,并且不会意外地删除、插入或更改相关数据2.3表的维护①修改表结构:添加字段,修改字段,删除字段,重新设置主关键字②编辑表内容:定位记录, 选择记录,添中记录,修改记录,删除记录,复制记录③调整表外观1改变字段显示次序2调整行显示高度3 调整列显示宽度4隐藏不需要的列5显示隐藏的列6冻结列7设置数据表格式8改变字体在数据表中,设置字体 格式都是对整个数据表,不能单独设置某个或某几个字段的格式2.4 表的其他操作查找数据替换数据排序记录筛选记录3. 查询的基本操作3.1查询的功能: 1 选择字段2选择记录3编辑记录。
在查询中,编辑记录主要包括添加记录、修改记录、删除记 录 4 实现计算在查询中,查询不仅可以找到满足条件的记录,而且还可以在建立查询的过程中进行各种统计计算 5建立新表6为窗体、报表或页提供数据3.2査询分类:•选择查询|是根据用户指定的查询的准则,从一个或多个表中获取数据并显示结果,但不能追加数据在查询中, 选择查询可以只选择表中的部分字段,通过选择一个表中的不同字段生成多个表也可以使用选择查询对记录进行 分组,并且对记录进行总结、计数、平均以及其他类型的计算•参数查询|是一种利用对话框来提示用户输入准则的查询• |交叉表查询在创建交叉表查询时,需要指定3种字段:一是放在交叉表最左端的|行标题它将某一字段的相关 数据放入指定的行中;二是放在交叉表最上面的列字段,它将某一字段的相关数据放入指定的列中;三是放在交叉 表行与列交叉位置上的字段,需要为该字段指定一个总计项,如总计、平均值、计数等在交叉表查询中,只能指 定一个列字段和一个总计类型的字段• |操作查询|有四种1 |生成表查询|是根据查询结果生成一张新表2删除查询3 |更新查询|是将原来的旧值用新值替 换,因此不能保持原数据不变操作查询与选择查询相似,但不同的是操作查询是在一次查询操作中对所得的结果 进行编辑等操作。
4追加查询• SQL查询包括四种1联合查询21传递查询直接将命令发送ODBC数据,它使用服务器能接受的命令,利用它可以 检索或更改记录3 |数据定义查询】4 |子查询如果一个查询的数据源仍是查询,而不是表,则该查询称为子查询• SQL查询就是用户用SQL语句来创建的一种查询• ACCESS的所有查询都可以认为是一个|SQL查询|,因为ACCESS查询就是以SQL语句为基础来实现查询功能的• select语句Where子句说明检索条件,条件表达式可以是关系表达式,也可以是逻辑表达式Order by子句 可以根据一个列或者多个列来排序查询结果I,在该子句中,既可以使用列名,也可以使用相对列号Group by子 句用于对检索结果进行分组3.3査询准则:1运算符Be tween]用于指定一个字段值的范围,指定的范围之间用And连接画用于指定一个字 段值的列表,列表中的任一值都可与查询的字段相匹配Is Null |用于指定一个字段为空Is Not Null |用于指定 一个字段为非空3表达式?是通配任意单个字符*通配任意字符和字符串[]通配】]内的任意单个字符# 通配任意单个数字並用于指定查找文本字段的字符模式3.4创建査询:查询可以根据已已建查询和数据表查询|创建查询。
查询的视图包括|设计、数据表和SQL视图、数据透 视表视图、数据透视图视图① 使用向导创建查询②使用设计视图创建查询在査询设计视图中既可以添加数据 库表也可以添加査询③在查询中计算査询中的两种基本运算时预定义计算和自定义计算1.5操作已创建的査询:1运行已创建查询2编辑查询中的字段3编辑查询中的数据源4排序查询的结果4. 窗体的基本操作4.1认识窗体:•窗体是Access数据库应用中一个非常重要的工具,可以用于显示表和査询中的数据,并输入数据、编辑数据和 修改数据•窗体有多个部分组成,每个部分称为一个“节”大部分窗体只有匡体节4.2窗体分类:1 |纵栏式窗体将窗体的一个显示记录按列分隔,每列的左边显示字段名,右边显示字段内容2表格 式窗体I在一个窗体中显示多条记录的内容3 |主/子窗体通常用于显示多个表或查询中的结果4 |数据表窗体在外观上 跟数据表和查询数据的界面相同5图表窗体6 |数据透视表窗体4.3窗体视图:1设计视图2窗体视图3数据表视图4数据透视表5数据透视图4. 4创建窗体: 1使用向导创建窗体2 使用设计器创建窗体•创建窗体可以使用人工和使用I向导两种方式4.5设计窗体:1 设计户视图组成:窗体设计视图是设计窗体的窗口,它由5 个节组成,分别是主题、窗体页眉、页面页眉、页面 页脚和窗体页脚。
在默认情况下,窗体"设计"视图只显示主体节2工具栏3工具箱4字段列表• 在窗体"设计"视图中,窗体和控件的属性都可以在"属性"对话框中设定4.6 控件4.6.1控件的含义及种类控件是窗体上用于显示数据、执行数据、装饰窗体的对象•窗体控件类型分为|绑定型、未绑定型与计算型]3种绑定型控件主要用于显示、输入、更新数据库中的字段; 未绑定型控件|没有|数据源,可以用来显示信息;;计算型控件用表达式作为数据源,表达式可以利用窗体或报表索引 用的表或查询字段中的数据,也可以是窗体或报表上的其它控件中的数据• 1标签控件:主要用来在窗体或报表上显示说明性文本• 2文本框控件:主要用来输入或编辑字段数据• 3复选框、切换按钮、选项按钮控件• 4选项组控件:是选择列表工具1如果选项组结合到某个字段,则只有组框架本身结合到此字段,而不是组框架 的复选框、选项按钮或切换按钮2选项组可以设置为表达式或非结合选项组,也可以在自定义对话框中使用非结合 选项组来接受用户的输入,可以根据输入的内容来执行相应的操作b选项组是由一个组框、一个复选框、选项按钮 或切换按钮组成• 5列表框或组合框控件:在窗体中输入的数据总是取自于查询或取自某固定内容的数据,或者某一个表中记录的 数据,可以使用列表框或组合框控件。
使用组合框既可以选择又可以输入文本,这是和列表框最大的不同,组合框 的应用比列表框的应用要广泛• 6命令按钮控件• 7选项卡控件|:是分页工具• 8图像控件4.6.2 在窗体中添加和修改控件4.6.3窗体和控件属性• 1 |格式属性:|主要针对控件的外观或窗体显示格式设置的属性21数据属性:|控件数据属性:控件来源、输入掩 码、有效性规则、有效性文本、默认值、是否有效、是否锁定窗体数据属性:记录源、排序依据、允许编辑、数 据入口3事件属性4其他属性5全部属性•在窗体属性中,要使窗体中没有记录选定器,必须把〃记录选定器〃的属性值设置为否•窗体〃属性〃对话框中〃控件来源〃属性可以设置文本框的数据源•控件不可见属性是:控件名称.visible = false• 名称行属性是是唯一能够标识某一控件的属性5. 报表的基本操作5.1报表的概念•报表的数据来源与窗体相同,可以是已有的数据表、査询或者是新建的SQL语句],但报表只能查看数据,不能 通过报表修改或输入数据Access报表对象的数据源可以设置为表名或查询名|•报表有三种视图设计视图|,用于创建和编辑报表的结构打印预览视图,用于查看报表的页面数据输出形态。
版面预览视图,用于查看报表的版面设置•报表设计区:报表页眉节、页面页眉节、组页眉节、主体节、组页脚节、页面页脚节、报表页脚节5.2 报表分类:1 纵栏式报表 2 表格式报表 3 图表报表 4 标签报表5.3创建报表:1使用向导创建报表2使用设计视图创建报表• “自动创建报表”向导分为面动创建报表:纵栏式和|自动创建报表:表格式两种•报表设计时分页符以短虚线标志显示在报表的左边界上5.4编辑报表:1设置报表格式2添加背景图案3添加日期和时间4添加分页符和页码:=”第” &[Page]&”页/ 总” &[Pages]&”页” 5使用节6绘制线条和矩形:要设计出带表格的报表,需要向报表中添加直线或矩形|完成表 格线的显示5.5报表排序与分组:默认情况下,报表记录是按照自然顺序|排列的要实现排序与分组的统计操作,通过设置排 序与分组属性进行5.6使用计算控件:报表设计中页码的输出、分组统计数据的输出等均是通过设置绑定控件的控件源为计算表达式 形式而实现的,这些控件就称为计算控件I文本框是最常用的计算控件计算控件的来源属性一般设置为等号开 头的计算表达式5.7创建子报表:一个主报表最多只能包含两级子窗体或子报表6. 页的基本操作6.1数据访问页的概念:有两种视图方式:|页视图和设计视图• Access中数据访问页的作用是发布数据库中的数据•在数据访问页的工具箱中,图标的名称是图像链接6.2创建数据访问页:1自动创建数据访问页2使用向导数据访问页口滚动字体图标"记录浏览图标%展开/收缩图标」添加命令按钮图标7. 宏7.1 宏的基本概念:1宏是由一个或多个操作组成的集合,其中每个操作都能自动执行,并实现特定的功能。
2 宏可 以在"宏"窗口、 "数据库"窗口、菜单中单独运行,也可以运行宏组中的宏或另一个宏,还可以为响应窗体、报表上 的控件上所发生的事件而运行宏 3 通过定义宏可以选择或更新数据 4 宏可以是窗体或报表上的事件代码 5 宏并 不能单独执行,必须有一个触发器,而这个触发器通常是由窗体、页及其上面的控件的各种事件来担任的7.2宏的基本操作:多个操作构成的宏,执行时按排列顺序依次执行•创建一个宏:创建宏时至少要定义一个宏操作,并要设置对应的宏操作参数|在宏的设计窗口中,可以隐藏的 是宏名和条件|打开可以添加宏的名词,关闭也可以添加宏的名词命名为〔AutoExec |的宏在打开数据时会自动运 行•创建宏组:调用宏组中宏的格式为:|宏组名.宏名|•在宏中使用条件对于重复条件,可用日符号来代替重复条件式8. 模块8.1模块的基本概念:模块是Access中一个重要对象,它以VBA(Visual Basic for Applications)为基础编写, 以函数过程(Function)或子过程(Sub)为单元的集合方式存储模块分类模块和标准模块两种• 类模块:窗体模块和报表模块都属于类模块,它们从属于各自的窗体或报表•标准模块:用于存放公其他Access数据库对象使用的公共过程•将宏转换为模块:实际上,所有宏操作都能转换为相应的模块代码,它可以通过另存为模块来完成。
8.2创建模块:过程是模块的组成单元,过程分两种类型:SUb子过程Function函数过程•在模块中加入过程VBA提供一个关键字Call,可显示调用一个子过程Sub函数过程不能用Call来调用执行, 需要直接引用函数的过程名,并由接在函数过程名后的括号所辨别• 在模块中执行宏8.3 VBA 程序设计基础:8.3.1 面向对象程序设计的基本概念8.5.2 VBA编程环境:窗口主要由标准工具栏、工程窗口、代码窗口、属性窗口、立即窗口立即窗口时用来进行 快速表达计算、简单方法操作及进行程序测试的工作窗口8.5.3 数据类型和数据库对象•标准数据类型整数Int eger长整数Long单精度数Single双精度数Double货币Currency字符串St ring布尔 型Boolean日期型Date变体类型Variant•用户定义的数据类型可以用Type„End Type |关键字间说明• Dim,Public,Static„As定义用户类型变量• 数据库对象:数据库Database连接Connection窗体Form报表Report控件Control查询QueryDef表TableDef 命令 Command8.5.4常量,变量:局部范围Dim, Static„As模块范围Dim, Public, Pravate„As全局范围Public„As。
要在 过程的运行时保留局部变量,可以用Static关键字代替Dim定义静态变量• NewArray()AS Integer 从 0 开始的数组• Const符号常量名称=常量值8.6 VBA控制流程语句•执行语句可以分三种结构顺序结构:按照语句顺序顺次执行分支结构:又称选择结构,根据条件选择执行 路径循环结构I:重复执行某一段语句•赋值语句[Let]变量名=值或表达式Let为可选项• 条件语句①If-Then语句②If-Then-Else语句③If-Then-Elself语句④Select Case-End Select语句⑤条件 函数If函数:IIf(条件式,表达式1,表达式2); Swi tch函数:Swit ch(条件式1,表达式1[,条件式2,表达 式2[,条件式n,表达式n]]) ; Choose函数:Choose(索引式,选项1[选项2,„[,选项n]])• 循环语句① For-Nex t ② Do While-Loop ③ Do Unt il-Loop ④ Do-Loop While ⑤ Do-Loop Unt il⑥ While-Wend• 标号和 GoTo 语句8.7 过程调用和参数传递• 过程调用•参数传递。
varname必须的,形参名称type可选项,传递给该过程的参数的数据类型Optional可选项,表 示参数不是必需ByVai可选项,表示参数按值传递,传值调用ByRef可选项,表示参数按地址传递ParamArray 可选项,只用于形参的最后一个参数8.8 VBA程序错误处理:“On Error GoTo标号”语句在遇到错误发生程序转移到标号所指位置代码执行On Error Rseume Next”语句在遇到错误时不会考虑错误On Error GoTo 0”关闭错误处理8.9 VBA程序的调试:设置断点,单步跟踪,设置监视点常用函数算数函数Abs(<数值表达式〉)绝对值In t(〈数值表达式〉)Fix(<数值表达式〉)取整Round(<数值表达式〉,〈表达式〉)Rnd(<数值表达式〉)Int (100*Rnd+1) 1 至 100 随机数随机数文本函数Lef t(〈字符表达式〉,〈数值表达式〉)字符串截取Righ t(〈字符表达式〉,〈数值表达式〉)Mid(<字符表达式〉,〈数值表达式1>[,〈数值表达式2>])Len(〈字符表达式〉)字符串长度Ins tr([〈数值表达式〉],〈字符串〉, 〈子字符串〉[,〈比较方法〉])字符串检索日期/时间函数Date()返回系统当前日期或时间Time()Now()转换函数Asc(〈字符表达式〉)字符串转换字符代码Chr(〈字符代码〉)字符代码转换字符St r(〈数值表达式〉)数字转换成字符串Val(〈字符表达式〉)字符转换数字消息函数IuptutBox(提示[,标题][,默认])利用提示框输入MsgBox(提示[,按钮、图标和默认按钮][,标题])提示框。