




已阅读5页,还剩496页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
总目录 第1章数据库基础知识第2章MicrosoftAccess2003基础知识第3章数据库的设计与操作第4章Access数据表的操作第5章Access查询及其应用第6章窗体的设计第7章报表 总目录 第8章数据访问页第9章宏第10章数据库的安全与管理 第1章数据库基础知识 学习目的与要求 随着计算机应用的不断深入 作为一种资源 数据的重要性越来越显现出来 数据库技术是计算机科学技术发展最快的重要分支之一 它已成为信息系统的重要技术支柱 本章将介绍数据库系统的基本概念 数据模型等内容 要求读者重点掌握关系数据库的基础知识 第1章数据库基础知识 1 1数据库简介1 2数据模型 1 1数据库简介 数据库作为应用系统的核心和管理对象 就是以一定的组织方式将相关的数据组织在一起存放在计算机存储器上形成的 能为多个用户共享的 同时与应用程序彼此独立的一组相关数据的集合 数据库将各种数据以表的形式存储 并利用查询 窗体以及报表等形式为用户提供服务 1 1 1数据库系统介绍一般说来 数据库系统由计算机软 硬件资源组成 它可以有组织地动态存储大量关联数据 方便多用户访问 数据库系统与文件系统的重要区别在于数据的充分共享 交叉访问以及应用程序的高度独立性 数据库主要解决以下3个问题 1 有效地组织数据 主要是对数据进行合理设计 以便计算机高效存储 2 将数据方便地输入计算机中 3 根据用户的要求将数据从计算机中提取出来 数据库也是以文件方式存储数据的 但它是数据的一种高级处理方式 在应用程序和数据库之间有一个数据库管理软件DBMS DataBaseManagementSystem 即数据库管理系统 如图1 1所示 图1 1应用程序与数据库的关系 数据库系统和文件系统的区别是 数据库对数据的存储是按照同一结构进行的 其他应用程序可以直接操作这些数据 即应用程序的高度独立性 而文件系统对数据的存储缺乏规范性 根据用户的需要可随意存储 1 1 2数据库系统的特点数据库系统的出现是计算机数据处理技术的重大进步 它具有以下特点 1 实现数据共享数据共享允许多个用户同时存取数据而互不影响 这个特征正是数据库技术先进性的体现 数据共享包括以下3个方面 1 所有用户可以同时存取数据 2 数据库不仅可以为当前用户服务 也可以为将来的新用户服务 3 可以使用多种语言完成与数据库的接口 2 实现数据独立所谓数据独立是指应用程序不随数据存储结构的改变而变动 这是数据库系统最基本的优点 数据独立包括两个方面 1 物理数据独立 数据的存储方式和组织方法改变时 不影响数据库的逻辑结构 从而不影响应用程序 2 逻辑数据独立 数据库逻辑结构变化时 如数据定义的修改 数据间联系的变更等 不会影响用户的应用程序 即用户应用程序无须修改 数据独立提高了数据处理系统的稳定性 从而提高了程序维护的效率 3 减少了数据冗余度用户的逻辑数据文件和具体的物理数据文件不必一一对应 其中可存在 多对一 的重叠关系 有效地节省了存储资源 4 避免了数据不一致性由于数据只有一个物理备份 所以数据的访问不会出现不一致的情况 5 加强对数据的保护数据库中加入了安全保密机制 可以防止对数据的非法存取 由于对数据库进行集中控制 所以有利于确保控制数据的完整性 数据库系统采取了并发访问控制 保证了数据的正确性 另外 数据库系统还采取了一系列措施来实现对数据库破坏的恢复 1 1 3关系数据库概述关系数据库 RelationDatabase 是若干个依照关系模型设计的数据表文件的集合 也就是说关系数据库是由若干张关系模型设计的二维表组成的 关系数据库由于以具有与数学方法相一致的关系模型设计的数据表为基本文件 因此每个数据表之间具有独立性的同时 若干个数据表之间又具有相关性 这一特点使其具有极大的优越性 并能得以迅速普及 关系数据库有以下特点 1 以面向系统的观点组织数据 使数据具有最小的冗余度 支持复杂的数据结构 2 具有高度的数据和程序的独立性 用户的应用程序与数据的逻辑结构以及数据的物理存储方式有关 3 由于数据具有共享性 因此数据库中的数据能为多个用户服务 4 关系数据库允许多个用户同时访问 同时提供了各种控制功能 从而保证数据的安全性 完整性和并发性控制 返回本章 1 2数据模型 使用数据库技术的目的是把现实世界中存在的事物以及事物之间的联系在数据库中用数据加以描述 存储 并对其进行各种处理 为人们提供能够完成现实活动的有用信息 怎样把现实世界中的事物及其事物之间的联系在数据库中用数据来加以描述 是数据库技术中一个基本问题 在数据库系统的体系结构中 模式是整个系统的核心和关键 而模式的本原和主体是数据模型 1 2 1数据模型概述从理论上讲 数据模型是指反映客观事物之间联系的数据组织的结构和形式 客观事物是千变万化的 各种客观事物的数据模型也是千差万别的 但也有其共同性 常用的数据模型有3种 层次模型 网状模型和关系模型 1 2 2构建数据模型1 层次模型层次模型 HierarchicalModel 表示数据间的从属关系结构 是一种以记录某一事物的类型为根节点的有向树结构 层次模型像一棵倒置的树 根节点在上 层次最高 子节点在下 逐层排列 其重要特征如下 1 仅有一个无双亲的根节点 2 根节点以外的子节点 向上仅有一个父节点 向下有若干子节点 层次模型表示从根节点到子节点的一个节点对多个节点 或从子节点到父节点的多个节点对一个节点的数据间的联系 层次模型的示例如图1 2所示 图1 2层次模型示例2 网状模型网状模型 NetworkModel 是层次模型的扩展 它表示多个从属关系的层次结构 呈现一种交叉关系的网络结构 网状模型是以记录为节点的网络结构 其主要特征如下 1 有一个以上的节点无双亲 2 至少有一个节点有多个双亲 网状模型的示例如图1 3所示 3 关系模型关系模型 RelationalModel 中的 关系 是有特定含义的 广义地说 任何模型都可以描述一定事物数据之间的关系 层次模型描述数据之间的从属关系 网状模型描述数据之间的多种从属的网状关系 图1 3网状模型示例 关系模型中的 关系 虽然也适用于这种广义的理解 但同时又特指那种具有相关性而非从属性的平行数据之间的按照某种序列排列的集合关系 表1 1是某部门高级人才的基本情况表 其中4组数据之间是平行的 从层次从属角度看也是无关系的 但假如知道他们是同一个部门的工作人员 就可以建立一个关系 一张二维表 如表1 1所示 表中的这些数据虽然是平行的 不代表从属关系 但它们构成了某部门工作人员的属性关系结构 表1 1某部门高级人才基本情况表 1 2 3数据库中的术语简介1 字段使用过Office中的Excel 电子表格软件 的用户 可能会发现图1 4中的表很像Excel中的工作表 Access数据库的表与Excel工作表相同点是 都是按行和列组织的 用网格线隔开各单元格 单元格中可添加数据 Access数据表与Excel工作表不同点是 在Access数据库表中 表中的每一列代表一个字段 即一个信息的类别 表中的每一行就是一个记录 它存放表中一个项目的所有的信息 在Access表中的每个字段只能存放一种类型的数据 文本型 数字型 货币型或者日期型等 图1 4罗斯文 客户 表视图 2 索引索引是包含表中的一个字段或者一组字段中的某个关键词的按一定顺序排列的数据列表 数据库利用索引能迅速地定位到要查找的记录 从而缩短了查找记录的时间 如图1 4所示的 客户 表中 就以 客户ID 字段建立了一个索引 如果要查找所有以D开头的公司名称 就没有必要在Access库中逐个寻找每个公司名称 而只需直接找到公司名称索引序列表中的以D开头的客户即可 图1 4所示表中显示的数据并不多 但是在实际应用中一个数据表可能存储数以万计的客户记录 如果没有索引 搜索一个数据需要很长时间 索引是快速完成搜索大量数据任务的关键所在 但是过多的索引也会降低Access的性能 所以只需要在经常访问的字段上建立索引 3 记录数据工作表被分为行和列 行称为记录 Record 列称为字段 Field 每条记录都被看作为一个单独的实体 可以根据需要进行存取或者排列 表中的同一列数据具有相似的信息 例如产品ID 产品名称 供应商和类别 这些数据的列条目就是字段 每个字段通过明确的数据类型来识别 常见的数据类型有文本型 数字型 货币型或者日期型 字段具有特定的长度 每个字段在顶行有一个表明其具体信息类别的名字 行 表示记录 和列 表示字段 的相交处就是值 存储的数据元素 例如 图1 4中 联系人头衔 字段中的 采购员 代表了 客户ID 为 BERGS 的类别 在同一个表中 值可能会重复出现 而字段和记录却是惟一的 字段可以用字段名来识别 记录通常通过记录的某些惟一特征符号来识别 1 2 4构建数据库模型在使用MicrosoftAccess新建数据库的窗体和其他对象之前 设计并构建数据库非常重要 合理的设计是新建一个有效 准确及时完成所需功能的数据库的基础 1 收集项目需求设计MicrosoftAccess数据库的第一步是确定数据库所要完成的任务以及如何来完成 用户需要明确的是希望从设计的数据库中得到什么信息 因此设计者可以根据这些信息来确定最终设计哪些数据表以及数据表中需要包含哪些字段 构建数据库就需要设计者与即将使用数据库的人员进行交流 集体讨论需要数据库解决的问题 并描述需要数据库生成的报表 同时收集当前用于记录数据的表格 然后参考某个设计较完善且与此相似的数据库 2 项目构架1 规划数据库的表规划数据库中的表可能是数据库设计过程中最难处理的步骤 因为设计者从第一步了解数据库任务的过程中所获得的 结果 即打印输出的报表 使用的表格和所要解决的问题等 不一定能提供构建数据表结构的线索 在使用MicrosoftAccess设计表之前 可以先在纸上草拟并润色设计方案 在设计表时 应按以下设计原则对信息进行分类 1 表中不应该包含重复信息 并且信息不允许在表之间复制 如果每条信息只保存在一个表中 只需更新一处 这样效率更高 同时也消除了如A和B两个表中都有某客户的地址和电话号码 如果只修改了A表中该客户的地址 则A B两表中客户的信息就不同了 即包含不同信息的重复项的可能性 例如 要在一个表中只保存一次每一个客户的地址和电话号码 2 每个表应该只包含关于一个主题的信息 如果每个表只包含关于一个主题的事件 则可以独立于其他主题维护每个主题的信息 例如 将客户的地址与客户订单存在不同表中 这样就可以删除某个订单 但仍然保留客户的信息 2 确定字段每个表都包含关于同一主题的信息 并且表中的每个字段应该包含关于该主题的各个事件 例如 Customer 客户 表 可以包含公司的名称 地址 城市 省和电话号码的字段 在草拟每个表的字段时 用户需要注意下列内容 每个字段直接与表的主题相关 不包含指导或计算的数据 表达式的计算结果 包含所需的所有信息 以最小的逻辑部分保存信息 3 明确有惟一值的字段每个表应该包含一个或一组字段 且该字段是表中所保存的每条记录的惟一标识 称作表的主关键字 为表设计主关键字之后 为确保惟一性 MicrosoftAccess将避免任何重复值或空 Null 值进入主关键字字段 MicrosoftAccess为了连接保存在不同表中的信息 例如将某个客户与该客户的所有订单相连接 数据库中的每个表必须包含能惟一确定每个记录的字段或者字段集 4 确定表之间的关系因为已经将信息分配到各个表中 并且已定义了主关键字字段 所以需要通过某种方式告知MicrosoftAccess如何以有意义的方法将相关信息重新结合到一起 用户 指设计数据的人 如果进行将 客户 表与 客户订单 表间的关联操作 必须定义表之间的关系 可以参考一个已有的且设计良好的数据库中的关系 这里打开 罗斯文 Northwind 示例数据库 选择 帮助 示例数据库库 罗斯文示例数据库 命令 并且在 工具 菜单上选择 关系 命令 就会出现如图1 5所示的关系窗口 5 优化设计在设计完需要的表 字段和关系之后 就应该检查一下该设计并找出可能存在的不足 因为此时修改数据库的设计要比更改已经填满数据的表容易得多 图1 5关系窗口 3 开发规划如果认为表的结构已达到了设计目的 就应该继续进行并且在表中添加数据 然后新建所需的任何查询 窗体 报表 宏和模块 MicrosoftAccess有两个工具可以帮助用户方便地改进数据库的设计 即 表分析器向导 和 性能分析器 表分析器向导 一次能分析一个表的设计 在适当的情况下建议新的表结构和关系 并且在合理的情况下根据表分析器提供的建议 如认为某表结构不合理而建议一个新的表结构 修改原来的表结构来 使用 表分析器向导 可以对表进行规范化的操作 即将表拆分成相关表 如果用户的数据库中有一个表 且该表在一个或多个字段中包含重复的信息 可以使用 表分析器向导 将表中数据 即对有重复信息的表拆分成多个关联表 这样能更有效地保存数据 使用 性能分析器 可以分析整个数据库 并且提出建议和意见来改善数据库的性能 返回本章 第2章MicrosoftAccess2003基础知识 学习目的与要求 Access2003中文版是Microsoft公司发布的Office2003中文版软件包中的关系数据库产品 它在继承Access2002的优秀功能的基础上 以更加强大的功能 更加友好的界面和智能化的数据处理展现给我们 本章在介绍Access2003的基本功能和基本操作的同时 介绍了它的新增特点 最后介绍Access数据库系统的数据类型和表达式 这是学习开发和管理数据库系统的基础 对有数据库管理经验的读者 可以快速浏览本章 但对于初学者 必须认真扎实地学好 为后面的学习打下良好的基础 第2章MicrosoftAccess2003基础识 2 1MicrosoftAccess2003简介2 2Access2003的新特点2 3Access2003的安装2 4MicrosoftAccess2003的启动与退出2 5MicrosoftAccess2003的窗口操作2 6数据类型与表达式 2 1MicrosoftAccess2003简介 Access2003是简便 实用的数据库管理系统 它提供了大量的工具和向导 即使没有编程经验的用户也可以通过其可视化的操作来完成绝大部分的数据库管理和开发工作 2 1 1Access产品简介自Microsoft公司研制开发出Access1 0以来 以其简单易学的优势使得Access的用户不断增加 成为流行的数据库管理系统软件之一 Access2000是Office2000系列办公软件中的产品之一 是微软公司出品的优秀的桌面数据库管理和开发工具 Microsoft公司首次将汉化的Access2000中文版加入Office2000中文版套装软件中 使得Access在中国得到了更加广泛的应用 MicrosoftAccess2003 以下简称Access2003 在原有版本的基础上进行了改进 增加了一些重要的特性 使其功能更加完善 界面更加友好 2 1 2Access2003的功能Access2003属于小型桌面数据库系统 是管理和开发小型数据库系统的非常好的工具 Access2003可以在一个数据库文件中通过7个对象对数据进行管理 从而实现高度的信息管理和数据共享 它的7个对象是 1 表 存储数据 2 查询 查找和检索所需的数据 3 窗体 查看 添加和更新数据库的数据 4 报表 以特定的版式分析或打印数据 5 数据访问页 查看 更新或分析来自Internet或Intranet的数据库数据 6 宏 执行各种操作 控制程序流程 7 模块 处理 应用复杂的数据信息的处理工具 只要在一个表中保存一次数据 就可以从表 查询 窗体 报表和数据访问页等多个角度查看到数据 由于数据的关联性 在修改某一处的数据时 所有出现此数据的地方均会自动更新 Access2003有许多方便快捷的工具和向导 工具有表生成器 查询生成器 窗体生成器和表达式生成器等 向导有数据库向导 表向导 查询向导 窗体向导和报表向导等 利用这些工具和向导 可以建立功能较为完善的中小型数据库应用系统 返回本章 2 2Access2003的新特点 Access2003在数据库的管理上 除了保持原有的功能特性之外 还作了进一步的扩展和更新 使操作更加灵活方便 用户能更有效地进行合作与交流 具体体现在以下几个方面 1 查看有关对象相关性的信息在Access2003中可以非常方便地查看数据库对象之间的相关性信息 这个功能非常有用 查看使用特定对象的对象列表可以有助于开发人员随时对数据库进行维护 并可避免产生丢失记录源相关性信息错误 数据库对象间的相关性信息就是在各个数据库对象之间同为数据处理需要建立的关系 例如 在一个教学管理数据库系统中 由于情况的变化 现在已不再需要 经管系 查询 但在删除前 可能希望知道数据库中还有哪些对象在使用该查询 进而在删除 经管系 查询前 更改相关对象的记录源或删除它们 查看对象的相关信息 有助于节省开发时间并减少错误 保证数据库的健壮性 右击一个对象 在弹出的快捷菜单选择 对象相关性 命令 将出现 对象相关性 窗口 其中可查看该对象的从属对象和该对象的使用对象 2 窗体和报表中的错误检查在设计窗体和报表的过程中 Access2003提供了自动错误检查功能 启动错误检查之后 系统会在设计窗体和报表的过程中不断监控设计者的行为 帮助避免一些不必要的错误 从而节省设计的时间 3 传播字段属性在Access的早期版本中 修改一个表的字段的被继承属性后 开发人员必须及时手动修改各个窗体和报表中相应控件的属性 这是一个耗时耗力并且容易出错的工作 在Access2003中 修改 表 设计视图中的被继承字段属性时 Access将显示一个选项符号 此选项符号可以让用户方便地更新全部或部分绑定到该字段的控件属性 而不需要再手动修改每一个相关的属性了 4 智能标记智能标记技术曾在Excel2002 Word2002和Outlook2002中得到应用 现在更是得到了进一步的扩展 Access2003中增加了 智能标记 用户可以使用SmartTags属性将智能标记添加到数据库中的表 查询 窗体 报表或数据访问页中的任何字段 以便快速访问 5 备份和还原Access文件Access2003提供了备份Access数据库和Access项目的功能 并推荐用户在对数据库或者项目进行较大的改动之前首先备份 该备份将保存在默认的备份位置或当前文件夹中 需要还原Access2003数据库时 就把原来的数据库文件删除 然后将备份的副本复制到数据库所在的文件夹 最后更改为原来数据库的名字即可 6 XML支持XML的全称是ExtensibleMarkupLanguage 它是一种类似HTML的用来描述数据的语言 Access数据库支持对XML数据的操作是为了数据的可扩展性 适用不同应用的需要 Access2003能够在从XML导入数据或将数据导出到XML时指定转换文件 转换文件是指XML文件格式与Access数据文件格式的转换 并自动应用转换 当用户导入XML数据时 数据一经导入 在创建任何新表或追加到现有表之前 系统会对数据进行格式转换 将数据导出到XML时 系统会在导出操作之后随即应用转换 7 安全检查功能Access2003中增加了打开数据库时的安全检查功能 以避免用户使用不安全的表达式来操作系统 从而对系统造成破坏 另外Access2003使用MicrosoftJetExpressionService增强的沙盒模式阻止了表达式中正在使用的潜在的不安全函数 注意 沙盒模式是一种数据库的操作模式 在这种模式中 Jet只计算对于计算机来说是安全的表达式 要启用沙盒模式 选择 工具 宏 安全性 命令 在打开的 安全性 对话框中 选择 安全性 选项卡 选择 高 或 中 选项按钮 单击 确定 按钮 重启Access2003使配置生效 8 其他新特点Access2003还具有以下一些新特点 1 支持TabletPC平板电脑 Access2003通过将手写内容添加到TabletPC上的Office文档来进行快速输入 就像使用笔和打印输出一样 2 Access2003增强了控件的排序功能 用户可以在窗体和报表中的 列表框向导 和 组合框向导 以及Access数据库中的 查阅向导 中 指定最多4个字段的升序或降序的排序方式 添加到这些向导中的排序页的外观以及功能都与 报表向导 中的排序页非常相似 3 Access2003还新增了 查询设计字体 选项来更改文本的字体和字号 这也大大加强了数据库查询的可视性 这些设置将应用于所有数据库 并能与其他辅助功能设置结合使用 返回本章 2 3Access2003的安装 Access2003是作为Office2003组件一同发布的 在介绍Access2003之前 首先简单介绍一下Office2003的安装过程 这样有助于读者根据需要选择安装自己所需的Office组件 步骤如下 1 把Office2003的安装光盘插入驱动器之后 安装程序将自动运行 并提示用户输入Office的产品密钥 单击 下一步 按钮 2 在 安装类型 窗口中 选择 自定义安装 选项 单击 下一步 按钮 3 在 自定义安装 窗口中 选中 选择应用程序的高级自定义 复选框 如图2 1所示 单击 下一步 按钮 4 在 高级自定义 窗口中对于每个组件 都可以在如图2 2所示的列表框中进行选择 这里建议把所有有关Access的组件都选择为 从本机运行全部程序 这样在以后使用Access2003的过程中会非常方便 5 如果对前面的操作步骤中还有不清楚或者不正确的 可以通过单击 上一步 按钮返回到以前的安装对话框进行修改 在确认无误之后 单击 安装 按钮 系统便开始安装Office2003应用程序 安装完成之后 将出现 安装已完成 窗口 整个过程大约需要20 30分钟 如果只是安装Access2003则只需5分钟左右的时间 图2 1 自定义安装 窗口图2 2 高级自定义 窗口 返回本章 2 4MicrosoftAccess2003的启动与退出 在Windows操作系统中 有几种方法可以方便地启动和退出Access2003 2 4 1Access2003的启动成功安装Access2003以后 就可以运行这个程序了 步骤如下 1 单击任务栏上的 开始 按钮 2 打开 程序 级联菜单 3 选择MicrosoftOffice MicrosoftAccess2003命令 就可启动Access2003 最简单而直接的启动方法 是在桌面上建立Access2003的快捷方式 用户只需双击桌面上的快捷方式图标 就可以方便 快捷地启动系统 建立桌面快捷方式的步骤如下 1 单击任务栏上的 开始 按钮 2 打开 程序 级联菜单 3 选择MicrosoftOffice菜单下的MicrosoftAccess2003命令 单击右键 4 在弹出的快捷菜单中选择 发送到 桌面快捷方式 命令 2 4 2Access2003的退出 退出Access2003的方法有以下4种 按快捷键Alt F4 单击Access窗口左上角的Access图标 在下拉菜单中选择 关闭 命令 单击Access2003窗口右上角的 关闭 按钮 选择 文件 退出 命令 返回本章 2 5MicrosoftAccess2003的窗口操作 Access2003的操作窗口比以前的版本更具特色 2 5 1Access2003的系统主窗口启动Access2003时 首先会出现全新的Access的标识 然后进入其系统主窗口 如图2 3所示 图2 3Access2003系统主窗口 Access系统主窗口由三部分组成 标题栏 菜单栏和常用工具栏 1 标题栏 主要包括Access2003标题 最大化 最小化及关闭窗口的按钮 2 菜单栏 Access2003的菜单栏包括 文件 编辑 视图 插入 工具 窗口 及 帮助 菜单 将鼠标移至要选择的一个菜单项下 单击鼠标则弹出下拉子菜单 各子菜单的格式沿用了WindowsXP的风格 非常美观并易于操作 几乎每个子菜单的最下方都有一个向下的箭头 单击这个向下的箭头 就会显示菜单条的全部选项 3 常用工具栏 在常用工具栏中提供了许多常用的功能 每一个功能用一个图标表示 将鼠标移至一个图标上暂停片刻 就会显示该图标代表的功能 将鼠标移至一个图标上单击鼠标即可实现相应的功能 在没有打开表或查询的情况下 Access2003的常用工具栏如图2 4所示 当打开了一张表或查询后 Access的工具栏增加了一些运行和调试的按钮 便于用户操作 如图2 5所示 图2 4Access的常用工具栏 没有打开表或查询时 图2 5Access的常用工具栏 打开表或查询时 2 5 2Access2003的数据库窗口选择 文件 新建 命令 此时打开 新建文件 任务窗格 可以选择 空数据库 项来新建一个数据库 数据库窗口是Access中非常重要的部分 可以让用户方便 快捷地对数据库进行各种操作 创建数据库对象 综合管理数据库对象 数据库窗口主要包括工具栏 数据库组件选项卡以及对象创建方法和已有对象列表3个部分 如图2 6所示 图2 6数据库窗口 数据库窗口的工具栏与主窗口工具栏的作用相同 数据库窗口左侧为数据库组件选项卡 包含数据库中的7个对象和1个 收藏夹 群组按钮 对象 栏下列出了Access的所有数据库对象 单击其中的对象按钮 可选中该对象 窗口右边会显示当前数据库中已经创建的对象列表 组 栏提供了另一种管理对象的方法 在 组 中可以把关系比较紧密的对象分为同一组 不同类别的对象也可以归到同一组中 当数据库中的对象很多时 用分组的方法可以更方便地管理各种对象 若想隐藏数据库的7个对象 可以单击 组 选项 在数据库的7个对象处于隐藏的情况下 单击 组 选项 则又显示出数据库的7个对象 返回本章 2 6数据类型与表达式 数据类型和表达式都是数据库非常重要的内容 合理地使用数据类型 可以创建出高质量的表 灵活运用表达式 可以设计出丰富多彩的查询 因此 准确合理地用好数据类型和表达式 是设计出功能强大的数据库管理系统的前提 2 6 1数据类型Access数据库为字段提供了10种数据类型 它们的用法和所占存储空间的大小如下 1 文本型 Text 用于文本或文本与数字的结合 最长为255个字符 字节 默认值是50 在Access中 每一个汉字和所有特殊字符 包括中文标点符号 都算作一个字符 而且系统只保存输入到字段中的字符 2 备注型 Memo 用于长文本或长文本与数字的结合 最长为65535个字符 但Access不能对备注字段进行排序或索引 而文本字段可以进行排序和索引 3 数字型 Number 用于可以进行数值计算的数据 但货币除外 数字型字段按字段大小分字节 整型 长整型 单精度型 双精度型 同步复制ID和小数7种 分别占1 2 4 4 8 16和12个字节 Access默认为双精度型 4 日期 时间型 Date Time 用于存储日期和时间值 占8个字节 5 货币型 Currency 这种类型是数字数据类型的特殊类型 等价于双精度数字类型 输入货币字段数据时 Access会自动显示人民币符号和千分位处的逗号 并添加两位小数 当小数部分多于两位时 Access会对数据进行四舍五入 6 自动编号型 AutoNumber 用于在添加记录时自动插入的序号 每次递增1或随机数 默认是长整型 也可以改为同步复制ID型 自动编号一旦被指定 会永久地与记录连接 如果删除了表中含有自动编号字段的一个记录后 Access并不会为表格自动编号字段重新编号 7 是否型 Yes No 用于表示逻辑数据 其值为Yes No True False或On Off 其数据长度为1个字符 8 OLE对象型 OLEObject 用于使用OLE协议在其他程序中创建的OLE对象 如Word文档 Excel电子表格 图片和声音等 最大长度为1GB 9 超级链接型 HyperLink 用于存储超链接 可以是包含超级链接地址的文本或以文本形式存储的字符与数字的组合 其字段最大长度为64000个字符 10 查阅向导型 LookupWizard 让用户通过组合框或列表框选择来自其他表或值列表的值 实际的字段类型和长度取决于数据的来源 2 6 2表达式下面先介绍几个概念 1 字面值字面值 也称原义值 文字值 是指在Access系统中使用与显示完全相同的值 即通常所说的常数 如数值0 25和1 3 字符串 姓名 和 shanghai 等都是字面值 2 常量常量是指预先定义好的 固定不变的数据 如数值常量128和 39 日期常量 2006 1 18 逻辑常量True和False等 3 变量变量是指命名的存储空间 用于存储在程序执行过程中可以改变的数据 变量名必须以字母开头 可以包含字母 数字和下划线 在同一范围内必须是唯一的 即不能重名 组成变量的字符不能超过255个 且中间不能包含标点符号 空格和类型声明字符 变量分整型 单精度 货币 字符串和日期等不同类型 在Access数据库中 字段名 属性控件等都可以作为变量 若用字段名作为变量 其表示方法是用英文方括号 将字段名括起来 例如 班级 姓名 成绩 等 若同时用不同表中的同名字段作为变量 则必须将表名写在每一个字段前 也用 括起来 并用英文感叹号 将两对 分开 例如 情况 姓名 课程 姓名 4 运算符运算符又称操作符 在Access系统有以下5种运算符 1 算术运算符算术运算符有 乘方 乘 整除或取整 除 Mod 取余 加 减 如 15 4 3 18Mod4 2 3 3 27 2 关系运算符 又称比较运算符 关系运算符有 等于 大于 小于 大于等于或不小于 小于等于或不大于 不等于 关系运算的结果是逻辑值 True或False 例如 3 5的运算结果是True 而3 5的运算结果是False 3 连接运算符连接运算符有 和 主要用于连接两个字符串 当运算符两边都是字符串时 和 的作用一样 都是将两边的字符串连接起来生成一个新的字符串 如 中国 上海 和 中国 上海 结果都是 中国上海 如果用 连接数字 会将数字转换成字符串后再连接 并且在原数字前后都添一个空格 例如 01电子商务 3的结果是 01电子商务3 而 只能连接两个字符串 为了避免与算术运算符 混淆 一般用 连接两个字符串而尽量不使用 4 逻辑运算符逻辑运算符有 Not 否 And 与 or 或 参与逻辑运算的量和逻辑运算的结果都是逻辑值 如 AAnd 与 B 当且仅当A B同时为真时 结果为真 其他情况结果皆为假 5 特殊运算符 又称匹配运算符 特殊运算符有 Between And 确定值的匹配范围 Like 确定值的匹配条件 In 确定匹配值的集合 Is 确定一个值是Null或notNull Not 确定不匹配的值 特殊运算符前都可以有Not 形成复合运算 例如 Between 2006 1 1 And 2006 3 31 指属于2006年第一季度的日期 In 英语 德语 法语 指与 英语 德语 法语 之一相同的值 Like 王 指第一个字是王的字符串 Like 指5个数字字符的字符串 5 表达式用运算符将字面值 即为常数 常量 变量 函数以及字段名 控件和属性等连接起来的式子称为表达式 该表达式将计算出一个单个值 可以将表达式作为许多属性和操作参数的设置值 还可以利用表达式在查询中设置准则 搜索条件 或定义计算字段 在窗体 报表和数据访问页中定义计算控件 以及在宏中设置条件 表达式的生成方法有两种 自行创建表达式和使用表达式生成器生成表达式 表达式中可以有各种运算符 它们的优先级顺序如下 1 函数 2 3 和 4 和Mod 5 和 6 和 7 Not 8 And 9 Or 必要时可用添加 的方法改变原来的优先级 表达式根据其计算结果分为算术表达式 逻辑表达式 文本表达式或日期表达式 如 37 66是算术表达式 a b c是逻辑表达式 上海 北京 是文本表达式 2006 1 1 5是日期表达式 下面举几个表达式的实例 例 写出下列各表达式 1 姓名中最后一个字是 钢 的男性 2 20世纪90年代出生的 3 代号中前两位是 0 共6位数字 4 工资高于2000元低于4000元的工程师 解 1 姓名 Like 钢 and 性别 男 2 出生日期 Between 1990 1 1 and 1999 12 31 3 代号 Like 00 4 工资 2000and 工资 4000and 职称 工程师 2 6 3常用函数Access系统提供了大量的标准函数 有利于管理和维护数据库 下面介绍一些常用的函数 1 系统日期函数格式 DATE 功能 返回当前系统日期 举例 在窗体或报表上创建一个文本框 在其控件来源属性中输入 DATE 则在控件文本框内会显示当前机器系统的日期 如 06 3 62 系统时间函数格式 TIME 功能 返回当前系统时间 举例 在窗体或报表上创建一个文本框 在其控件来源中输入 TIME 返回当前机器系统的时间 如 21 07 233 年函数格式 YEAR 日期表达式 功能 返回年的四位整数 举例 myd Apri20 2006 YEAR myd 2006 4 月函数格式 MONTH 日期表达式 功能 返回1 12之间的整数 表示一年的某月 举例 MONTH myd 4 5 日函数格式 DAY 日期表达式 功能 返回值为1 31之间的整数 表示日期中的某一天 举例 DAY myd 20 6 删除掉前导 尾随空格函数格式 LTRIM 字符串表达式 RTRIM 字符串表达式 TRIM 字符串表达式 功能 LTRIM函数可以去掉 字符串表达式 的前导空格 RTRIM函数可以去掉 字符串表达式 的尾随空格 TRIM函数可以同时去掉 字符串表达式 的前导和尾随空格举例 myst Iamastudent LTRIM myst 返回值为字符串 Iamastudent RTRIM myst 返回值为字符串 Iamastudent TRIM myst 返回值为字符串 Iamastudent 7 截取子串函数格式 MID 字符串表达式 n1 n2 功能 从 字符串表达式 的左端第 n1 个字符开始 截取 n2 个字符 作为返回的子字符串 说明 n1 和 n2 都是数值表达式 方括号中的内容是可选的 在后面的格式中如遇到同类情况时不再说明 当 n2 默认时 则返回从 字符串表达式 的左端第 n1 个字符开始直到 字符串表达式 的最右端的字符 举例 myst Iamastudent MID myst 5 返回值为字符串 astudent MID myst 10 4 返回值为字符串 uden MID myst 1 4 返回值为字符串 Iam 8 数值转换为字符函数格式 STR 数值表达式 功能 将 数值表达式 转换成字符串 说明 如果 数值表达式 是一个正数 则转换后的字符串有一个前导空格 暗示有一个正号 举例 STR 459 返回值为字符串 459 STR 459 65 返回值为字符串 459 65 STR 459 001 返回值为字符串 459 001 9 字符转数值函数格式 VAL 字符表达式 功能 返回包含在字符串中的数字 说明 当遇到第1个不能识别为数字的字符时 结束转换 函数不能识别美元符号和逗号 空格字符将被忽略 举例 VAL 1615198okstreetN E 返回值为1615198 VAL 2468 返回值为2468 VAL 24and68 返回值为24 10 条件函数格式 IIF 条件表达式 表达式1 表达式2 功能 根据 条件表达式 的值决定返回 表达式1 的值还是 表达式2 的值 说明 当 条件表达式 为真时 返回 表达式1 的值 否则 返回 表达式2 的值 举例 IIF X 100 Large Small 当X 100为真时 函数返回值为 Large 否则返回 Small 11 大写字母变为小写字母函数格式 LCASE 字符串表达式 功能 将 字符串表达式 中的所有大写字母都变为小写字母 其余字符不变 举例 upst HelloWorld1234 LCASE upst 返回值为 helloworld1234 12 小写字母变为大写字母函数格式 UCASE 字符串表达式 功能 将 字符串表达式 中的所有小写字母都变为大写字母 其余字符不变 举例 UCASE upst 返回值为 HELLOWORLD1234 返回本章 第3章数据库的设计与操作 学习目的与要求 了解数据库设计的基本原则和一般步骤以及优化数据库设计的方法 掌握启动和退出Access2003的方法 创建Access数据库的方法 打开和关闭数据库的方法 第3章数据库的设计与操作 3 1数据库的设计3 2数据库的操作 3 1数据库的设计 3 1 1数据库设计问题的引出首先 我们来分析表3 1所示的学生成绩表 引出数据库设计问题 表3 1学生成绩表 表3 1所示的一张成绩表包含了多种不同类型的数据 主要包含 学生数据 班级数据 课程数据 和 成绩数据 由于在一张数据表中包含了多种不同主题的数据 所以会出现以下问题 1 数据冗余由于王巧同学选修了3门不同的课程 所以王巧同学的个人信息 学号 姓名 性别 籍贯 民族 班级名称 重复存储了3次 另外陈浩同学的个人信息重复存储了2次 同样王巧 唐艳 陈浩3位同学都选修了 微机组装与维护 这门课程 所以 微机组装与维护 这门课程的信息 课程编号 课程名称 学分 也被重复存储了3次 另外 网页设计与制作 这门课程的信息也被重复存储了2次 一个数据表出现了大量不必要的重复数据 称为数据冗余 在设计数据时应尽量减少不必要的数据冗余 2 修改异常如果数据表中存在大量的数据冗余 当修改某些数据项时 可能有一部分数据被修改 另一部分数据却没有修改 例如将表3 1中前两条记录中的 王巧 修改为 王林 而第3条记录 不修改 这样就会出现一个学号对应两个姓名 从而出现修改异常 3 插入异常如果要新增一门课程 由于该课程还没有被学生选修 因此无法插入数据表中 原因是在表3 1所示的成绩表中 学号 课程编号 是主键 此时学号为空 数据库系统会根据实体完整性约束拒绝该记录的插入 4 删除异常如果删除表3 1中第4条记录 此时 唐艳 的个人信息也一起被删除了 这样就无法找到这个学生的个人信息了 经过以上分析发现表3 1不仅存在数据冗余 而且可能会出现3种异常 设计数据库时如何消除这些问题 设计出结构合理 功能齐全的数据库 满足用户需求 是本节要探讨的主要问题 3 1 2数据库设计的基本原则设计数据库时要综合考虑多个因素 权衡各自利弊确定数据表的结构 基本原则有以下几条 1 把具有同一个主题的数据存储在一个数据表中 也就是 一表一用 的设计原则 2 尽量消除包含在数据表中的冗余数据 但并不是必须消除所有的冗余数据 有时为了提高访问数据库的速度 可以保留必要的冗余 以减少数据表之间的连接操作 3 一般要求数据库达到第三范式 因为第三范式的关系模式中不存在非主属性对主关键字的不完全函数依赖和传递函数依赖关系 最大限度地消除了数据冗余和修改异常 插入异常 具有较好的性能 基本满足关系规范化的要求 在设计数据库时 如果片面地提高关系的范式等级 并不一定能够产生合理的数据库设计方案 原因是范式的等级越高 存储的数据就需要分解为更多的数据表 访问数据表时总是涉及多表操作 会降低访问数据库的速度 从实用角度来看 大多数情况下达到第三范式比较恰当 4 在关系型数据库中 各个数据表之间的关系只能为一对一和一对多 对于多对多的关系必须转换为一对多的关系来处理 5 设计数据表的结构时 应考虑表结构在未来可能发生的变化 保证表结构的动态适应性 3 1 3数据库设计的一般步骤数据库设计一般分为4个阶段 用户需求分析 概念结构设计 逻辑结构设计和物理结构设计 1 用户需求分析首先调查用户的需求 包括用户的数据要求 加工要求和对数据安全性 完整性的要求 通过对数据流程及处理功能的分析 明确以下几个问题 数据类型及其表示 数据间的联系 数据加工的要求 数据量大小 数据的冗余度 数据的完整性 安全性和有效性 其次在详细调查的基础上 确定各个用户对数据的使用要求 主要内容包括 1 分析用户对信息的需求分析用户希望从数据库中获得哪些有用的信息 从而可以推导出数据库中应该存储哪些数据 并由此确定数据类型 数据长度和数据量等 2 分析用户对数据加工的要求分析用户对数据的加工处理要求有哪些查询要求和响应时间要求 以及对数据库保密性 安全性 完整性等方面的要求 3 分析系统的约束条件和选用的DBMS的技术指标体系分析现有系统的规模 结构 资源和地理分布等限制或约束条件 了解所选用的数据库管理系统的技术指标 例如选用MicrosoftAccess 必须了解Access允许的最多字段数 最多记录数 最大记录长度 文件大小和系统所允许的数据库容量等 2 概念结构设计概念结构设计的主要工作是根据用户需求设计概念性数据模型 概念模型是一个面向问题的模型 它独立于具体的数据库管理系统 从用户的角度看待数据库 反映用户的现实环境 与将来数据库如何实现无关 概念模型设计的典型方法是实体 联系方法 Entity Relationship E R E R方法使用E R图来描述现实世界 E R图包含3个基本成分 实体 联系和属性 E R图直观易懂 能够比较准确地 反映现实世界的信息联系 且能从概念上表示一个数据库的信息组织情况 1 实体 指客观世界存在的事物 可以是人或物 也可以是抽象的概念 例如 学校中的班级 学生 课程都是实体 E R图中用矩形框表示实体 2 联系 指客观世界中实体与实体之间的联系 联系的类型有三种 一对一 1 1 一对多 1 N 和多对多 M N E R图中用菱形框表示实体间的联系 例如学校与校长为一对一的关系 班级与学生为一对多的关系 一个班级有多个学生 每个学生只属于一个班级 学生与课程之间为多对多的关系 一个学生可以选择多门课程 一门课程可以有多个学生选择 其E R图如图3 1所示 3 属性 是指实体或联系所具有的性质 例如 学生实体可由学号 姓名 性别和籍贯等属性来刻画 E R图中用椭圆表示实体的属性 3 逻辑结构设计逻辑结构设计的任务是设计数据的结构 把概念模型转换成所选用的DBMS支持的数据模型 在由概念结构向逻辑结构的转换中 必须考虑数据的逻辑结构是否包括处理要求 图3 1学生与课程之间的关系 的所有关键字段 所有数据项和数据项之间的相互关系 数据项与实体之间的相互关系 实体与实体之间的相互关系以及各个数据项的使用频率等问题 以便确定各个数据项在逻辑结构中的地位 4 物理结构设计数据库的物理结构设计是在逻辑结构设计的基础上 进一步设计数据模型的一些物理细节 为数据模型在设备上确定合适的存储结构和存取方法 其出发点是如何提高数据库系统的效率 3 1 4数据库设计举例以高校教务管理信息系统中数据库设计为例加以说明 1 用户需求分析高校教务管理信息系统中的数据库应存储以下几个方面的数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度建筑工程质量责任协议书
- 二零二五年度新型抵押物抵押借款合同范本
- 二零二五年度成都职业规划咨询居间合同
- 2025版人工智能技术研发合作担保合同
- 2025至2030年中国流平仪行业市场深度分析及投资潜力预测报告
- 2025版白酒产品售后服务合作协议
- 2025版发动机大修与动力性能再生产服务合同
- 二零二五版城市景观绿化工程招投标合同及养护协议
- 二零二五年度姜云离婚协议书:财产分割与子女教育
- 二零二五年度家具租赁合同与服务协议
- 2025届天津市八年级英语第二学期期末达标测试试题含答案
- 2025年物流无人机市场调研报告
- 中暑的临床表现和急救措施
- 党校班主任班级管理制度
- 检测类安全管理制度
- “十五五”住房和城乡建设发展规划
- 品管圈在提高住院患者口服药规范服用率中的运用
- 喉炎病人护理课件
- 通信质量员试题及答案
- DB23-T2701-2020-森林抚育技术规程-黑龙江省
- T/GXSXFS 005-2021肉牛精料补充料
评论
0/150
提交评论