




已阅读5页,还剩108页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章数据库技术与Access2003 2 本章内容 7 1数据库技术基础7 2数据库设计7 3数据库管理系统7 4数据库管理系统Access2003 3 7 1数据库技术基础 7 1 1数据库的基本概念7 1 2数据库管理技术的发展7 1 3数据库系统的组成7 1 4数据模型7 1 5关系数据库 返回 4 7 1 1数据库的基本概念 1 数据数据是指存储在某一种媒体上能够识别的物理符号 数据的概念包括两个方面 其一是描述事物特性的数据内容 其二是存储在某一种媒体上的数据形式 2 数据处理数据处理是指对各种形式的数据进行收集 存储 加工和传播的一系列活动的总和 3 数据库数据库是长期存放在计算机内的 有组织的 可以表现为多种形式的可共享的数据集合 5 7 1 1数据库的基本概念 4 数据库管理系统数据库管理系统 DBMS 是对数据库进行管理的系统软件 它的职能是有效地组织和存储数据 获取和管理数据 接受和完成用户提出的访问数据的各种请求 5 数据库系统数据库系统是指拥有数据库技术支持的计算机系统 它可以实现有组织地 动态地存储大量相关数据 提供数据处理和信息资源共享服务 6 7 1 2数据库管理技术的发展 数据管理技术的发展大致经历了人工管理 文件系统和数据库系统三个阶段 目前 数据仓库技术和XML数据库的发展也十分迅速 1 人工管理阶段2 文件系统阶段3 数据库系统阶段4 数据仓库系统5 XML数据库 7 7 1 2数据库管理技术的发展 人工管理阶段 20世纪50年代中期以前 计算机主要用于科学计算 那时的计算机硬件方面 外存只有卡片 纸带及磁带 没有磁盘等直接存取的存储设备 软件方面 只有汇编语言 没有操作系统和高级语言 更没有管理数据的软件 数据处理的方式是批处理 这些决定了当时的数据管理只能依赖人工来进行 8 人工管理阶段的主要特点如下 1 数据不进行保存 2 没有专门的数据管理软件 3 数据面向应用 4 只有程序的概念 人工管理阶段 返回 9 7 1 2数据库管理技术的发展 文件系统阶段 20世纪60年代 随着科学技术的发展 计算机技术有了很大提高 计算机的应用范围也不断扩大 不仅用于科学计算 还大量用于管理 这时的计算机硬件已经有了磁盘 磁鼓等直接存取的外存设备 软件则有了操作系统 高级语言 操作系统中的文件系统是专门用于数据管理的软件 处理方式不仅有批处理 还增加了联机实时处理 10 文件系统阶段 文件系统阶段的主要特点如下 1 数据可以长期保存在磁盘上 2 文件系统提供了数据与程序之间的存取方法 3 数据冗余量大 4 文件之间缺乏联系 相对孤立 仍然不能反映客观世界各个事物之间错综复杂的联系 返回 11 7 1 2数据库管理技术的发展 数据库系统阶段 20世纪60年代末以来 计算机的应用更为广泛 用于数据管理的规模也更为庞大 由此带来数据量的急剧膨胀 计算机磁盘技术有了很大发展 出现了大容量的磁盘 在处理方式上 联机实时处理的要求更多 这种变化促使了数据管理手段的进步 数据库技术应运而生 12 数据库系统阶段 数据库系统阶段的主要特点如下 1 数据的结构化 2 数据共享性好 3 数据独立性好 4 数据存储粒度小 5 为用户提供了友好的接口 返回 13 数据管理三个阶段的比较 14 7 1 2数据库管理技术的发展 数据仓库系统 数据仓库技术是目前数据处理中发展十分迅速的一个分支 所谓数据仓库 是对长期数据的存储 这些数据来自于多个异种数据源 通过数据仓库提供的联机分析处理 OLAP 工具 实现多维数据分析 以便向管理决策层提供支持 数据仓库系统允许将各种应用系统集成在一起 为统一的历史数据分析提供坚实的平台 对海量信息处理进行支持 目前数据仓库已经日渐成为数据分析和联机分析处理的重要平台 15 数据仓库系统 数据仓库的主要特征如下 1 面向主题特性 围绕某一主题建模和分析 2 集成特性 将多个异种数据源以及事务记录集成在一起 3 时变特性 数据存储从历史的角度提供信息 4 非易失特性 总是物理地独立存放数据 返回 16 数据库系统和数据仓库系统的区别 1 面向的用户不同 数据库系统面向使用单位的低层人员 用于日常数据的分析和处理 数据仓库系统面向的是使用单位的决策人员 提供决策支持 2 数据内容不同 数据库系统存储和管理的是当前的数据 数据仓库系统存储的是长期积累的历史数据 3 数据来源不同 数据库的数据一般来源于同种数据源 而数据仓库的数据可以来源于多个异种数据源 4 数据的操作不同 数据库系统提供了联机事务处理 OLTP On LineTransactionProcessing 系统 而数据仓库系统主要提供了联机分析处理 OLAP On LineAnalyticalProcessing 和决策支持系统 实现数据挖掘和知识发现 返回 17 7 1 2数据库管理技术的发展 XML数据库 XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统 在系统中 开发人员可以对数据库中的XML文档进行查询 导出和指定格式的序列化 XML ExtensibleMarkupLanguage 即可扩展标记语言 它与HTML一样 都是SGML StandardGeneralizedMarkupLanguage 标准通用标记语言 XML作为一种简单的数据存储语言 仅仅使用一系列简单的标记来描述数据 虽然XML比二进制数据要占用更多的空间 但XML极其简单 易于掌握和使用 尤其具有跨平台的特性 18 7 1 3数据库系统的组成 数据库系统由四部分组成 即硬件系统 系统软件 包括操作系统和数据库管理系统 数据库应用系统和各类人员 1 硬件系统由于一般数据库系统的数据量很大 加之DBMS丰富的强有力的功能使得自身的体积很大 因此 整个数据库系统对硬件资源提出了较高的要求 2 系统软件系统软件主要包括操作系统 数据库管理系统 与数据库接口的高级语言及其编译系统 以及以DBMS为核心的应用程序开发工具 3 数据库应用系统数据库应用系统是为特定应用开发的数据库应用软件 4 各类人员参与分析 设计 管理 维护和使用数据库的人员均是数据库系统的组成部分 这些人员包括数据库管理员 系统分析员 应用程序员和最终用户 19 7 1 4数据模型 数据库是企业或组织所涉及的数据的提取和综合 它不仅反映数据本身 而且反映数据之间的联系 数据库用数据模型对现实世界进行抽象 现有的数据库系统均是基于某种数据模型的 数据库中最常见的数据模型有三种 即层次模型 网状模型和关系模型 20 7 1 4数据模型 层次模型 若用图来表示 层次模型是一棵倒立的树 在数据库中 满足以下两个条件的数据模型称为层次模型 1 有且仅有一个结点无父结点 这个结点称为根结点 2 其他结点有且仅有一个父结点 在层次模型中 结点层次从根开始定义 根为第一层 根的子结点为第二层 根为其子结点的父结点 同一父结点的子结点称为兄弟结点 没有子结点的结点称为叶结点 21 层次模型 下图是一个抽象层次模型 R1为根结点 R2和R3为兄弟结点 并且是R1的子结点 R4和R5为兄弟结点 并且是R2的子结点 R3 R4和R5为叶结点 层次模型结构 22 7 1 4数据模型 网状模型 若用图来表示 网状模型是一个网络 在数据库中 满足以下两个条件之一的数据模型称为网状模型 1 允许一个以上的结点无父结点 2 允许结点可以有多于一个的父结点 由于在网状模型中子结点与父结点的联系不是唯一的 所以要为每个联系命名 并指出与该联系有关的父结点和子结点 网状模型允许一个以上的结点无父结点或某一个结点有一个以上的父结点 从而构成了比层次结构复杂的网状结构 23 网状模型 下图是一个抽象网状模型 R1与R2之间的联系被命名为L1 R1与R4之间的联系被命名为L2 R3与R4之间的联系被命名为L3 R4与R5之间的联系被命名为L4 R2与R5之间的联系被命名为L5 R1为R2和R4的父结点 R3也是R4的父结点 R1和R3没有父结点 网状模型结构 24 7 1 4数据模型 关系模型 关系模型把世界看作是由实体 Entity 和联系 Relationship 构成的 所谓联系就是指实体之间的关系 即实体之间的对应关系 联系可以分为三种 1 一对一的联系 如 一个班级只有一个班长 一个班长只属于一个班级 班长和班级之间为一对一的联系 2 一对多的联系 如 相同性别的人有许多个 一个人只有一种性别 性别与人之间为一对多的联系 3 多对多的联系 如 一个人可以选多门课 一门课可以被很多人选 人与课程之间是多对多的联系 通过联系就可以用一个实体的信息来查找另一个实体的信息 关系模型把所有的数据都组织到表中 表是由行和列组成的 反映了现实世界中的事实和值 25 关系模型 满足下列条件的二维表 在关系模型中 称为关系 1 每一列中的分量是类型相同的数据 2 列的顺序可以是任意的 3 行的顺序可以是任意的 4 表中的分量是不可再分割的最小数据项 即表中不允许有子表 5 表中的任意两行不能完全相同 26 关系模型 如下面给出的 学生基本情况表 便是一个关系 27 关系模型 层次数据库是数据库系统的先驱 而网状数据库则为数据库在概念 方法 技术上的发展奠定了基础 它们是数据库技术研究最早的两种数据库 而且也曾得到广泛的应用 但是 这两种数据库管理系统存在着结构比较复杂 用户不易掌握 数据存取操作必须按照模型结构中已定义好的存取路径进行 操作比较复杂等缺点 这就限制了这两种数据库管理系统的发展 关系数据库以其数学理论基础完善 使用简单灵活 数据独立性强等特点 而被公认为是最有前途的一种数据库管理系统 28 7 1 5关系数据库 1 关系数据库的基本概念 1 关系 一个关系就是一张二维表 每个关系有一个关系名 在计算机中 关系的数据存储在文件中 在Access中 一个关系就是数据库文件中的一个表对象 2 属性 二维表中垂直方向的列称为属性 有时也叫做一个字段 3 域 一个属性的取值范围叫做一个域 4 元组 二维表中水平方向的行称为元组 有时也叫做一条记录 5 码 又称为关键字 二维表中的某个属性或属性组 若它的值唯一地标识了一个元组 则称该属性或属性组为候选码 若一个关系有多个候选码 则选定其中一个为主码 也称之为主键 6 分量 元组中的一个属性值叫做元组的一个分量 7 关系模式 是对关系的描述 它包括关系名 组成该关系的属性名 属性到域的映象 通常简记为 关系名 属性名1 属性名2 属性名n 29 关系数据库 2 关系运算对关系数据库进行查询时 若要找到用户关心的数据 就需要对关系进行一定的关系运算 关系运算有两种 一种是传统的集合运算 并 差 交 广义笛卡儿积等 另一种是专门的关系运算 选择 投影 连接 传统的集合运算不仅涉及关系的水平方向 即二维表的行 而且涉及关系的垂直方向 即二维表的列 关系运算的操作对象是关系 运算的结果仍为关系 专门的关系运算包括 1 选择 选择运算即在关系中选择满足指定条件的元组 2 投影 投影运算是在关系中选择某些属性 列 3 连接 连接运算是从两个关系的笛卡儿积中选取属性间满足一定条件的元组 30 7 2数据库设计 7 2 1数据库设计概述7 2 2需求分析7 2 3概念设计7 2 4逻辑设计7 2 5物理设计 返回 31 7 2 1数据库设计概述 1 数据库设计任务数据库设计是指根据用户需求研制数据库结构的过程 具体地说 是指对于一个给定的应用环境 构造最优的数据库模式 建立数据库及其应用系统 使之能有效地存储数据 满足用户的各种信息处理要求 具体地说 数据库设计是把现实世界中的数据 根据各种应用处理的要求 加以合理的组织 满足硬件和操作系统的特性 利用已有的DBMS来建立能够实现系统目标的数据库 返回 32 数据库设计概述 2 数据库设计的阶段一般来说 数据库的设计过程大致可分为五个阶段 1 需求分析 调查和分析用户的业务活动和数据的使用情况 弄清所用数据的种类 范围 数量以及它们在业务活动中交流的情况 确定用户对数据库系统的使用要求和各种约束条件等 形成用户需求规约 2 概念设计 针对用户要求描述的现实世界 可能是一个工厂 一个商场或者一个学校等 通过对其中数据的分类 聚集和概括 建立抽象的概念数据模型 3 逻辑设计 将现实世界的概念数据模型设计成数据库的一种逻辑模式 即适应于某种特定数据库管理系统所支持的逻辑数据模式 与此同时 可能还需要为各种数据处理应用领域产生相应的逻辑子模式 这一步设计的结果就是所谓的 逻辑数据库 33 数据库设计的阶段 4 物理设计 根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施 对具体的应用任务选定最合适的物理存储结构 包括文件类型 索引结构和数据的存放次序 存取方法和存取路径等 这一步设计的结果就是所谓的 物理数据库 5 验证设计 在上述设计的基础上收集数据并具体建立一个数据库 运行一些典型的应用任务来验证数据库设计的正确性和合理性 一般来说 一个大型数据库的设计过程往往需要经过多次循环反复 当设计的某步发现问题时 可能就需要返回到前面去进行修改 因此 在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性 34 7 2 2需求分析 需求分析是数据库设计的第一步 是设计的基石 需求分析是否能全面 准确地表达用户要求 将直接影响到后续各阶段的设计 影响到整个数据库设计的可用性和合理性 1 需求分析的内容和方法需求分析的目的是获取用户的信息要求 处理要求 安全性要求和完整性要求 需求分析阶段的任务一般分以下步骤 1 现行系统调研 2 业务及需求分析 3 综合 调整 4 编写需求分析报告 以作为下一阶段设计的依据 35 需求分析 2 用户要求的描述和分析1 数据流图数据流图 DFD DataFlowDiagram 是结构化分析方法 SA StructuredAnalysis 的工具之一 它描述数据处理过程 以图形化方式刻画数据流从输入到输出的变换过程 任何一个系统都可以抽象为如下图所示的情况 返回 数据流抽象图 36 需求分析 2 数据字典数据字典 DD DataDictionary 是对系统中数据的详尽描述 是各类数据属性的清单 对数据库设计来讲 数据字典是进行详细的数据收集和数据分析所获得的主要结果 数据字典是各类数据描述的集合 通常包括以下几个部分 1 数据项 是数据的最小单位 2 数据结构 是若干数据项有意义的集合 3 数据流 可以是数据项 也可以是数据结构 4 数据存储 处理过程中存取的数据 37 7 2 3概念设计 概念设计是对数据的抽象和分析 它以对信息要求和处理要求的初步分析为基础 以数据流图和数据字典提供的信息作为输入 运用信息模型工具 发挥开发设计人员的综合抽象能力建立概念模型 概念模型独立于数据逻辑结构 也独立于DBMS和计算机系统 是对现实世界有效而自然的模拟 其主要特点如下 1 能充分地反映现实世界 2 易于理解 3 易于更动 4 易于向关系 网状或层次等数据模型转换 38 概念设计 1 概念设计的方法概念设计可采用两种方法 即自顶而下和自底而上 分别如图1和2所示 图1自顶而下的方法 图2自底而上的方法 39 概念设计 2 数据抽象与局部视图设计1 E R模型E R方法是实体 联系方法 Entity RelationshipApproach 的简称 是描述现实世界概念结构模型的有效方法 用E R方法建立的概念结构模型称为E R模型 或称为E R图 如图3所示 图3E R模型图 40 现实世界的复杂性导致实体联系的复杂性 表现在E R图上可以归结为以下几种基本形式 1 两个实体集之间的联系 如图a所示 2 两个以上实体集间的联系 如图b所示 3 同一实体集内部各实体之间的联系 如图c所示 实体联系类型 41 概念设计 2 数据抽象E R模型是对现实世界的一种抽象 所谓抽象是对实际的人 物 事和概念进行人为处理 抽取人们关心的本质特性 忽略非本质的细节 并把这些特性用各种概念精确地加以描述 这些概念组成了某种模型 抽象一般有三种 分别是分类 聚集和概括 返回 42 概念设计 3 局部视图设计概念结构设计的第一步就是利用上面介绍的抽象机制对需求分析阶段收集到的数据进行分类 组织 聚集 形成实体 实体的属性 标识实体的码 确定实体之间的联系类型 1 1 1 n n m 设计局部视图 也称局部E R图 具体做法是 1 选择局部应用 2 逐一设计局部E R图 返回 43 概念设计 3 视图集成设计好各子系统的局部视图后 还需要通过视图集成的方法 将各子系统有机融合起来 综合成一个系统的总视图 如图4所示 这样由局部到整体设计出的数据库 最终是从系统整体的角度看待和描述数据的 因此数据不再面向某个应用而是面向整个系统 经过视图集成 使得数据库能被全系统的多个应用共享使用 44 概念设计 1 合并局部E R图中语法和语义都相同的概念称为对应 局部E R图之间的不一致称为冲突 合并局部E R图就是尽量合并对应的部分 保留特殊的部分 着重解决冲突的部分 各局部E R图面向不同的局部应用 而通常由不同开发设计人员进行局部E R图设计 因此 各个局部E R图间的冲突是难免的 一般来讲 冲突分为命名冲突 属性冲突和结构冲突 2 消除冗余冗余包括冗余数据和实体间冗余的联系 冗余数据指可由其他数据导出的数据 冗余联系是指可由其他联系导出的联系 冗余数据和冗余联系会破坏数据库的完整性 增加数据库管理的困难 应该消除 注意 但并非所有的冗余都应去掉 对于访问频率高的冗余数据应适当保留 同时加强数据完整性约束 如设计触发器等 消除冗余后得到基本E R图 45 7 2 4逻辑设计 逻辑设计是在数据库概念设计的基础上 将概念结构设计阶段得到的独立于DBMS和计算机系统的概念模型转换成特定DBMS所支持的数据模型 E R图向关系模型的转换 E R图由实体 联系和属性组成 E R图向关系模型的转换就是将实体 联系 属性转换为关系模式 转换原则如下 1 实体转换为关系模型用关系模型表示实体是很直接的 实体的名称就是关系的名称 实体的属性就是关系的属性 实体的主键就是关系的主键 2 联系转换为关系模型 1 一对一联系的转换 若实体间的联系是1 1 则选择两个实体类型转换成的关系模式中的任意一个关系模式 在其属性中加入另一个关系模式的键和联系类型的属性 2 一对多联系的转换 若实体间的联系是1 n 则可以在 n 端实体类型转换成的关系模式中 加入 1 端实体类型的键和联系类型的属性 3 多对多联系的转换 若实体间的联系是m n 则可以把联系类型也转换成关系模式 46 7 2 5物理设计 物理设计是以逻辑设计结果作为输入 结合DBMS特征与存储设备特性设计出适合应用环境的物理结构 数据库物理结构是数据库在物理设备上的存储结构和存取方法 数据库物理设计的目的是提高系统处理效率 充分利用计算机的存储空间 一般来讲 数据库物理设计分为两步 即数据库物理设计和性能评价 47 物理设计 1 数据库物理设计数据库物理设计主要是确定文件组织 分块技术 缓冲区大小及管理方式 数据在存储器上的分布等 1 数据簇集设计数据簇集就是把有关的元组集中在一个物理块内或物理上相邻的区域 以提高访问某些数据的速度 数据簇集建立以后 簇集键相同的元组存放在一起 因而簇集键不必在每个元组中重复存储 只需在一组中存储一次即可 因此可以节约一些存储空间 簇集键可以是单属性的 也可以是复合的 簇集对于某些特定的应用可以明显地提高性能 一般来说 用户应用满足以下条件时考虑创建簇集 1 通过簇集键进行访问或连接是该关系的主要应用 与簇集无关的其他访问很少或是次要的 2 对应每个簇集键值的平均元组既不太少 也不太多 3 簇集键的值相对稳定 更新 插入 删除操作少 以减少修改簇集键值所引起的维护开销 4 对查询某一范围的值 最好在相关属性上建立簇集索引 48 2 索引的选择索引是为了加速对表中数据进行检索而创建的一种分散存储结构 索引是表的关键字 它提供了指向表中记录行的指针 合理建立索引可以提高数据检索速度 加速关系连接 强制操作的唯一性 一般来说 建立索引需考虑以下原则 1 考虑建立索引的属性 主关键字 连接中频繁使用的属性 2 不考虑建立索引的属性 很少或从来不在查询中出现的属性 属性值很少的属性 小表 记录很少的表 经常更新的属性或表 属性值分布不均 在几个值上很集中 过长的属性 49 物理设计 2 评价物理结构数据库物理设计可能有多个方案 衡量一个物理设计的优劣 可以从存储空间 响应时间 维护代价等方面综合评定 存储空间利用率 存取时间和维护代价等常常是相互矛盾的 例如 某一冗余数据可提高检索效率 但增加了存储空间 开发设计人员必须进行权衡 进行性能的预测和评价 选择一个较优的设计 50 7 3数据库管理系统 数据库管理系统 DataBaseManagementSystem 是一种操纵和管理数据库的系统软件 用于建立 使用和维护数据库 简称DBMS 7 3 1数据库管理系统的组成和功能7 3 2数据库管理系统的层次结构7 3 3常见数据库管理系统7 3 4数据库管理系统的选择原则 51 7 3 1数据库管理系统的组成和功能 1 数据库管理系统的组成按功能划分 数据库管理系统大致可分为以下六个部分 1 模式翻译 提供数据定义语言 DDL 2 应用程序的编译 把包含着访问数据库语句的应用程序编译成在DBMS支持下可运行的目标程序 3 交互式查询 提供易使用的交互式查询语言 4 数据的组织与存取 提供数据在外围储存设备上的物理组织与存取方法 5 事务运行管理 提供事务运行管理及运行日志管理 事务运行的安全性监控和数据完整性检查 事务的并发控制及系统恢复等功能 6 数据库的维护 为数据库管理员提供软件支持 包括数据安全控制 完整性保障 数据库备份 数据库重组以及性能监控等维护工具 52 数据库管理系统的组成和功能 2 数据库管理系统的功能数据库管理系统所提供的功能有以下几项 1 数据定义功能 DBMS提供相应数据定义语言来定义数据库结构 刻画数据库框架 并保存在数据字典中 2 数据存取功能 DBMS提供数据操纵语言 DML 实现对数据库数据的基本存取操作 如检索 插入 修改和删除 3 数据库运行管理功能 DBMS提供数据控制功能 即在数据库运行期间 对数据的安全性 完整性和并发控制等进行有效的控制和管理 以确保数据正确有效 4 数据库的建立和维护功能 包括数据库初始数据的装入 数据库的转储 恢复 重组织 系统性能监视 分析等功能 5 数据库的传输 DBMS提供数据的传输功能 实现用户程序与DBMS之间的通信 通常与操作系统协调完成 53 7 3 2数据库管理系统的层次结构 根据处理对象的不同 数据库管理系统的层次结构由高级到低级依次为应用层 语言翻译处理层 数据存取层 数据存储层 操作系统 54 1 应用层应用层是DBMS与终端用户和应用程序的界面层 处理的对象是各种各样的数据库应用 2 语言翻译处理层语言翻译处理层是对数据库语言的各类语句进行语法分析 视图转换 授权检查 完整性检查等 3 数据存取层数据存取层处理的对象是单个元组 它将上层的集合操作转换为单记录操作 4 数据存储层数据存储层处理的对象是数据页和系统缓冲区 5 操作系统操作系统是DBMS的基础 操作系统提供的存取原语和基本的存取方法通常是与DBMS存储层的接口 55 7 3 3常见数据库管理系统 目前 常见的数据库管理系统有Oracle MicrosoftSQLServer VisualFoxPro MicrosoftAccess MySQL DB2 它们各有所长 在数据库市场上占有一席之地 56 常见数据库管理系统 1 Oracle Oracle是著名的Oracle 甲骨文 公司的产品 它是最早商品化的关系型数据库管理系统 也是应用最广泛 功能最强大的数据库管理系统之一 2 MicrosoftSQLServer MicrosoftSQLServer是一种典型的关系型数据库管理系统 它使用Transact SQL语言完成数据操作 3 VisualFoxPro VisualFoxPro简称VFP 是Microsoft公司推出的数据库管理 开发软件 它既是一种简单的数据库管理系统 又能用来开发数据库客户端应用程序 57 常见数据库管理系统 4 MicrosoftAccess 作为MicrosoftOffice组件之一的MicrosoftAccess是在Windows环境下非常流行的桌面型数据库管理系统 使用MicrosoftAccess无需编写任何代码 只需通过直观的可视化操作就可以完成大部分数据管理任务 5 MySQL MySQL是一个小型关系型数据库管理系统 6 DB2 DB2是IBM公司研制的一种关系型数据库系统 主要应用于大型应用系统 具有较好的可伸缩性 可支持从大型机到单用户环境 应用于OS 2 Windows等平台下 DB2提供了高层次的数据利用性 完整性 安全性 可恢复性 以及小规模到大规模应用程序的执行能力 具有与平台无关的基本功能和SQL命令 58 7 3 4数据库管理系统的选择原则 选择数据库管理系统时应从以下几个方面予以考虑 1 构造数据库的难易程度2 程序开发的难易程度3 数据库管理系统的性能分析4 对分布式应用的支持5 并行处理能力6 兼容性7 数据完整性约束8 并发控制功能9 安全性控制 59 7 4数据库管理系统Access2003 7 4 1Access2003综述7 4 2创建数据库和数据表7 4 3创建查询7 4 4创建窗体7 4 5创建报表 返回 60 7 4 1Access2003综述 Access是Microsoft推出的面向办公自动化 功能强大的关系数据库管理系统 自从1992年11月正式推出Access1 0以来 Microsoft一直在不断地完善增强Access的功能 先后推出了Access1 1 Access2 0 Access7 0 Access97 Access2000 Access2002和Access2003等版本 61 Access2003综述 1 Access关系数据库Access是一种关系数据库管理系统 RDBMS 顾名思义 关系数据库管理系统是关系型数据库管理软件 它的职能是维护数据库 接受和完成用户提出的访问数据的各种请求 数据库是与特定主题或目的相关的数据的集合 在Access关系数据库中 大多数数据存放在各种不同结构的表中 表是有结构的数据的集合 每个表都拥有自己的表名和结构 62 2 Access2003的特点 1 Access2003是一个中小型关系数据库管理系统 适合于开发中 小型管理信息系统 2 Access2003是一个完全面向对象 采用事件驱动机制的最新关系数据库管理系统 使得数据库的应用与开发更加便捷 灵活 3 Access2003是一个同时面向数据库最终用户和开发人员的关系数据库管理系统 4 Access2003是一个典型的开放式数据库管理系统 通过ODBC 开放式数据库互联 能与其他数据库 如Oracle Sybase VisualFoxPro等 相连 实现数据交换与共享 5 Access2003作为MicrosoftOffice套装办公软件专业版的一个组件 承担了数据处理 查询和管理的责任 它与Excel Word PowerPoint等办公软件进行数据交换与数据共享更加容易 构成了一个集文字处理 图表生成和数据管理于一体的高级综合办公平台 63 6 Access2003支持多媒体的应用与开发 7 Access2003内置了大量的函数 其中包括数据库函数 算术函数 文本函数 日期 时间函数 财务函数等 8 Access2003提供了许多宏操作 宏操作在用户不介入的情况下能够执行许多常规的操作 用户只要按照一定的顺序组织Access2003提供的宏操作 就能够实现工作的自动化 9 Access2003提供了宏语言VBA VisualBasicforApplication 允许用户通过编程的方式完成较复杂的任务 64 3 Access2003数据库结构Access2003关系数据库是数据库对象的集合 数据库对象包括表 查询 窗体 报表 页 宏和模块 在任何时刻 Access只能打开并运行一个数据库 但是 在每一个数据库中 可以拥有众多的表 查询 窗体 报表 页 宏和模块 这些数据库对象都存储在同一个以 mdb为扩展名的数据库文件中 65 Access2003数据库结构 1 表 Table 对象在Access关系数据库中 表是有结构的数据的集合 是数据库应用系统的数据 仓库 表用于存储基本数据 在开发数据库应用系统时 开发者的首要工作是要分析应用系统的数据需求 然后根据分析的结果建立适合于系统要求的表结构以及表间关系 表结构与表间关系将直接影响后续开发工作的效率 甚至影响到系统的质量 每个表都拥有自己的表名和结构 在表中 数据是按行和列存储的 相当于由行和列组成的二维表格 在表中 一行数据称为一条记录 每一列称为一个字段 在Access关系数据库中 有关表的操作都是通过表对象来实现的 表对象可以管理表的结构 包括字段名称 数据类型 字段属性等 以及表中存储的记录 用于显示和编辑表结构的窗口称为设计视图 用于显示 编辑和输入记录的窗口称为数据表视图 66 Access2003数据库结构 2 查询 Query 对象查询用于从指定的表中获取满足给定条件的记录 Access允许用户在前台 屏幕上显示的查询设计视图 通过直观的操作构造查询要求 Access自动在后台生成对应的结构化查询语句 SQL语句 也就是说 Access允许用户不用编写程序 仅通过直观的操作即可生成结构化查询语句 当运行查询对象时 Access根据用户指定的查询条件从指定的表中获取记录并将其组成动态集 67 Access2003数据库结构 3 窗体 Form 对象在Access2003中 有关数据输入 输出界面以及应用系统控制界面的设计都是通过窗体对象来实现的 窗体对象允许用户采用可视化的直观操作设计数据输入 输出界面以及应用系统控制界面的结构和布局 为方便用户设计窗体 Access2003提供了若干个控件 Control 每一个控件均被视为独立的对象 用户可以通过直观的操作在窗体中设置控件 调整控件的大小和布局 68 Access2003数据库结构 4 报表 Report 对象数据库应用系统一般都应给用户配置完善的打印输出功能 在传统的关系数据库开发环境中 程序员必须通过繁琐的编程实现报表的打印 在Access关系数据库中 报表对象允许用户不用编程 仅通过可视化的直观操作就可以设计报表打印格式 报表对象不仅能够提供方便快捷 功能强大的报表打印格式 而且能够对数据进行分组统计和计算 69 Access2003数据库结构 5 页 Page 对象页是Access2003数据库中的新对象 通过页可以将数据库中的记录发布到Internet或Intranet 并使用浏览器进行记录的维护和操作 页对象使得用户能在Web页上输入 编辑 浏览Access2003数据库中的记录 70 Access2003数据库结构 6 宏 Macro 对象宏对象是一个或多个宏操作的集合 其中的每一个宏操作执行特定的单一数据库操作功能 用户可以将这些宏操作组织起来形成宏对象以执行特定的任务 Access提供了许多宏操作 这些宏操作可以完成日常的数据库管理工作 Access为宏对象提供了宏对象编辑窗口 宏对象编辑窗口用于顺序组织集合宏操作 从而形成宏对象以执行较复杂的任务 71 Access2003数据库结构 7 模块 Module 对象模块对象是将宏语言VBA编写的过程和声明作为一个整体进行保存的过程的集合 模块对象中的每一个过程可以是一个函数过程 也可以是一个子过程 模块对象有两种基本类型 类模块和标准模块 类模块包括窗体模块和报表模块 它们分别与某一窗体或报表对象相关联 窗体模块和报表模块通常含有事件过程 用以响应窗体或报表中的事件 72 4 Access2003的启动与退出 1 Access2003的启动启动Access2003的步骤与大多数Windows程序的步骤相同 下面介绍几种常用启动方法 1 利用快捷方式启动 如单击 开始 程序 MicrosoftOffice MicrosoftAccess2003 如果存在桌面快捷方式 MicrosoftAccess2003 可以双击该快捷方式 2 利用执行应用程序的方法启动 如利用 我的电脑 或 资源管理器 找到应用程序 MSACCESS EXE 然后双击它 73 2 Access2003的退出与Office2003其他应用程序的退出方法相同 Access2003退出可采用以下几种方法 从 文件 菜单中选择 退出 命令 单击应用程序窗口右上角的 关闭 按钮 双击应用程序窗口左上角的应用程序控制菜单图标 按Alt F4组合键 74 5 Access2003工作环境 1 菜单栏 在Windows环境下 一般都要求应用程序的菜单栏实时跟踪用户的当前工作状态 这种跟踪表现为整套地撤换菜单 修改菜单项 设置菜单项的状态 可用状态和不可用状态 Access2003的菜单栏是动态装卸的 为用户使用Access命令提供了便捷的途径 2 工具栏 在菜单栏下方由按钮组成的每一行就是一个工具栏 工具栏是专为使用鼠标设置的 用于快速选择执行常用的命令 3 状态栏 状态栏位于Access工作环境的最下方 用于显示当前的工作状态 4 数据库窗口 数据库窗口是一种很独特的窗口 这是由于在Access2003关系数据库中任一时刻只能打开一个数据库窗口 75 7 4 2创建数据库和数据表 1 创建数据库在Access2003中 创建数据库有两种方法 一是通过数据库向导 在向导的指引下向数据库添加需要的表 窗体及报表 这是创建数据库最简单的方法 二是先建立一个空数据库 然后再添加表 窗体 报表等其他对象 这种方法较为灵活 但需要分别定义每个数据库元素 无论采用哪种方法 都可以随时修改或扩展数据库 76 创建数据库 1 使用数据库向导创建数据库使用数据库向导创建数据库 就是利用在Access2003本地保存的数据库模板快速地建立一个数据库 选图5所示的任务窗格下的 新建文件 中的 本机上的模板 打开 模板 对话框 如图6所示 Access2003提供的模板有 订单 分类总账 联系人管理 等 通过这些模板 可以方便地创建基于这些模板的数据库 然后通过一定的修改 就可以使其符合自己的需要 图5新建文件 图6Access2003数据库模板 77 2 直接创建空数据库通常情况下 用户都是先创建数据表等组件之后才创建数据库 或者先创建一个空数据库 选 新建文件 选项卡的 空数据库 然后再在此空数据库中添加表 查询 窗体等组件 如图7所示 图7空白数据库 78 3 打开数据库在菜单栏中选择 文件 菜单中的 打开 命令 打开 打开 对话框 在其中选择要打开的数据库文件 然后单击 打开 按钮右端的向下箭头 可以看到图8所示的各个选项 可以以不同方式打开所选数据库 图8 打开 菜单 79 2 创建表 表是关系型数据库系统的基本结构 是关于特定主题数据的集合 与其他数据库管理系统一样 Access中的表也是由结构和数据两部分组成的 在Access2003中 可通过以下方式创建表 1 通过输入数据创建表 通过输入数据创建表是一种 先输入数据 再确定字段 的创建表方式 2 使用向导创建表 使用向导创建表是一种快速建表的方式 这是由于在Access2003中内置了一批常见的示例表 这些表中都包含了足够多的字段 用户可以使用向导快速创建所需的数据表 3 使用表设计器创建表 表设计器是一种可视化工具 用于设计和编辑数据库中的表 80 3 设置字段属性 在Access2003中 使用设计视图创建表是最常用的方法之一 在设计视图中 可以设置字段属性 在Access数据表中 每一个字段的可用属性取决于为该字段选择的数据类型 在表设计器的 字段属性 选项区域中 可以进行设置 1 字段数据类型 Access2003定义了10种数据类型 在表设计窗口 数据类型 单元格的下拉列表中显示了10种数据类型供用户选择2 选择数据格式 正确选择数据格式可以确保数据表示方式的一致性 3 改变字段大小 在Access2003中 可以修改 数字 与 文本 数据类型字段的大小 81 4 输入掩码 输入掩码 属性用于设置字段 文本框以及组合框中的数据格式 并可对允许输入的数值类型进行控制 5 设置有效性规则和有效性文本 当输入数据时 有时会出现数据输入错误 这些错误可以利用 有效性规则 和 有效性文本 两个属性来避免 6 设定表的主键 主键就是数据表中的某一个字段 通过该字段的值可在表中唯一地确定一条记录 7 其他字段属性 1 标题 属性 该属性主要用来设定浏览表内容时该字段的标题名称 2 必填字段 属性 该属性用来设置该字段是否一定要输入数据 该属性只有 是 和 否 两种选择 82 4 建立和编辑表间关系 1 建立表间的关系在建立表间的关系之前 应该关闭所有要建立关系的表 因为不能在已打开的表之间创建关系或者对关系进行修改 建立表间关系的操作步骤为 打开要进行操作的数据库 在数据库窗口单击鼠标右键 选择快捷菜单中的 关系 或点击 工具 菜单中的 关系 命令 打开 关系 窗口 图9所示 在 关系 窗口中单击鼠标右键 在快捷菜单中选择 显示表 打开 显示表 窗口 图10所示 在 显示表 窗口中逐个选择要建立关系的表 然后单击 添加 按钮将所选择的表一一添加到 关系 窗口中 关闭 显示表 窗口 在 关系 窗口中按住鼠标左键不放 从某个表中将所要的相关字段 如xsda表中的 学号 字段 拖到另一个表中的相关字段 如xscj表中的 学号 字段 上 显示 编辑关系 窗口 图11所示 在 编辑关系 窗口中单击 创建 按钮 关系即被建立 图12所示 83 图9 关系 窗口 图10 显示表 窗口 图11 编辑关系 窗口 图12已建立的关系 84 2 编辑和删除关系在 关系 窗口中需要编辑的关系线上单击鼠标右键 选择 编辑关系 或 删除 即可编辑或删除已建立的关系 如图13所示 图13编辑或删除关系 85 7 4 3创建查询 查询是数据库最重要和最常见的应用 它作为Access数据库中的一个重要对象 可以让用户根据指定条件对数据库进行检索 筛选出符合条件的记录 构成一个新的数据集合 从而方便用户对数据库进行查看和分析 在Access数据库中 查询对象有五种视图 这五种视图及其作用分别如下 1 设计视图 用于创建新的查询对象 或者修改已有的查询对象 2 数据表视图 可以以二维表的形式显示查询结果 3 SQL视图 用于查看查询对象所对应的SELECT命令 该命令属于SQL语句 4 数据透视表视图 以表格形式对查询结果进行进一步的多维分析 5 数据透视图视图 以图形方式显示 对比查询结果 86 创建查询 在Access数据库中 根据对数据来源的操作方式以及对查询结果组织形式的不同 可以将查询分为选择查询 交叉表查询 操作查询 参数查询和SQL查询五大类 本小节将介绍选择查询 操作查询和SQL查询 1 选择查询 分为单表查询与连接查询 87 1 创建单表查询所谓单表查询 就是在一个数据表中完成查询操作 不需要引用其他表中的数据 在数据库窗口中打开 查询 选项卡 在该选项卡中可以实现单表查询操作 创建单表查询的一般步骤为 在数据库窗口中单击 查询 选 在设计视图中创建查询 选择数据表 设置查询 如图14所示 保存查询 图14创建单表查询设置 1 选择查询 88 2 创建连接查询在实际操作过程中 查询的数据大都来自多个表 因此要建立基于多个表的查询 查询时使用两个或两个以上的表时 称之为连接查询 在Access2003中 使用 简单查询向导 可以快速创建连接查询 创建多表的连接查询时 需要首先建立表间关系 选择查询 89 2 操作查询 操作查询是Access2003查询的重要组成部分 使用操作查询可以对数据库中的数据进行简单的检索 显示和统计 而且可以根据需要对数据库进行修改 操作查询包括更新查询 生成表查询 追加查询 删除查询几种类型 90 操作查询 1 更新查询更新查询就是对一个或者多个数据表中的一组记录进行全局的更改 这样用户就可以通过添加某些特定的条件来批量更新数据库中的记录 操作更新查询的一般步骤为 在数据库窗口中单击 查询 选 在设计视图中创建查询 选择数据表 在 查询 菜单中选择查询类型为 更新查询 设置更新方式 单击工具栏按钮执行查询 91 操作查询 2 生成表查询生成表查询可以根据一个或多个表 查询中的数据来新建数据表 这种由表产生查询 再由查询来生成表的方法 使得数据的组织更灵活 使用更方便 操作生成表查询的一般步骤为 在数据库窗口中单击 查询 选 在设计视图中创建查询 选择数据表 在 查询 菜单中选择查询类型为 生成表查询 输入新表名称 生成表查询设置 单击工具栏按钮执行查询 92 操作查询 3 追加查询追加查询用于将一个或多个表中的一组记录添加到另一个表的结尾 但是 当两个表之间的字段定义不相同时 追加查询只添加相互匹配的字段内容 不匹配的字段将被忽略 追加查询以查询设计视图中添加的表为数据源 以在 追加 对话框中选定的表为目标表 操作追加查询的一般步骤为 在数据库窗口中单击 查询 选 在设计视图中创建查询 选择数据表 在 查询 菜单中选择查询类型为 追加查询 输入目标表名称 追加查询设置 单击工具栏按钮执行查询 93 操作查询 4 删除查询删除查询是将符合条件的记录删除 删除查询可以删除一个表中的记录 也可以利用表间关系删除多个表中相互关联的记录 操作删除查询的一般步骤为 在数据库窗口中单击 查询 选 在设计视图中创建查询 选择数据表 在 查询 菜单中选择查询类型为 删除查询 删除查询设置 单击工具栏按钮执行查询 注 表中记录删除后将不能恢复 因此执行删除查询应特别慎重 94 3 SQL查询 当在查询设计视图中创建查询时 Access将自动在后台生成等效的SQL语句 当查询设计完成后 单击建立的查询 选设计视图 单击工具按钮并选 SQL视图 即可查看该查询对应的SQL语句 在数据库窗口中单击 查询 选 在设计视图中创建查询 在不添加表的情况下将在工具栏显示按钮 单击它或其下的 SQL视图 即可进入 SQL视图 窗口 在 SQL视图 窗口中 可以通过直接编写SQL语句来实现查询功能 SQL语句最基本的语法结构是 SELECT FROM WHERE 其中SELECT表示要选择显示哪些字段 FROM表示从哪些表中查询 WHERE说明查询的条件 缺省时对全体记录操作 95 SQL查询 简单介绍SQL中常用的语句 1 SELECT语句 查询 基本格式 SELECT字段名表 INTO目标表 FROM表名 WHERE条件 ORDERBY字段 GROUPBY字段 HAVING条件 功能 在指定表中查询有关内容 说明 1 ORDERBY字段 按指定字段排序 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 目标考试题及答案
- 昆曲考试题及答案
- 中级财务会计(菏泽学院)知到智慧树答案
- 中级日语II(山东联盟)知到智慧树答案
- 小学数学教师综合素质评比活动专业知识测试卷含答案
- 狂犬病暴露预防处置培训考核试题及答案(伤口处置人员)
- 压力性损伤的预防与护理相关试题(附答案)
- 2025担保抵押影视投资合同范本
- 2025版高品质公寓房屋买卖合同文本下载
- 2025年度智能家居房产广告设计与客户体验提升合同
- 2025广东广州市从化区社区专职人员招聘33人笔试参考题库附答案解析
- 建材买卖(橱柜订购类)合同协议书范本
- 2025年小学英语教师业务理论考试试题及答案
- 中小学基孔肯雅热应急防控预案
- 港口无人驾驶行业深度报告:奇点已至蓝海启航
- 纪法考试题库及答案解析
- 免疫复合物沉积-洞察及研究
- 信息安全评估管理办法
- 销售岗位职级管理办法
- HY/T0305-2024养殖大型藻类和双壳贝类碳汇计量方法碳储量变化法
- 中式婚礼知识培训课件
评论
0/150
提交评论