Access数据控制与表间联系幻灯片.ppt_第1页
Access数据控制与表间联系幻灯片.ppt_第2页
Access数据控制与表间联系幻灯片.ppt_第3页
Access数据控制与表间联系幻灯片.ppt_第4页
Access数据控制与表间联系幻灯片.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章数据控制功能和表间关系 4 1数据控制功能为了对数据库运行进行有效的控制和管理 确保数据库中数据的正确 有效 和数据库有效运行 RDBMS提供了数据控制功能 1 数据的安全性控制 数据的安全性控制是指采取一定的安全保密措施以确保数据库中的数据不被非法用户存取 例如 RDBMS提供口令检查或其他手段来验证用户身份 合法用户才能进入数据库系统 RDBMS提供用户等级和数据存取权限的定义机制 系统自动检查用户能否执行这些操作 只有检查通过后才能执行允许的操作 2 数据的完整性控制 数据的完整性控制是指RDBMS提供必要的功能确保数据库数据的正确性 有效性和一致性 3 数据的并发控制 数据的并发控制是指RDBMS必须对多用户并发进程同时存取 修改数据的操作进行控制和协调 以防止互相干扰而得到错误结果 本章将主要介绍与数据完整性控制有关的内容 1 4 2与数据完整性控制有关的字段属性 在前面 我们已经介绍了字段大小 格式 标题等字段属性 这里 我们将介绍与数据完整性控制有关的字段属性 输入掩码 有效性规则和有效性文本 这3个字段属性能够尽可能地确保进入数据库的数据是正确 有效的 2 4 2 1输入掩码 使用输入掩码 InputMask 字段属性 可以控制在表中字段的数据输入方式 输入掩码使用一些特殊字符来规定输入某些必需的数据 如果学校对学号编码的统一规定是 学号至多由10个字符组成 且每个字符可以是阿拉伯数字 也可以是英文字母 但不可以是其他字符 则需要将 学号 字段的 输入掩码 属性设置为 aaaaaaaaaa 10个a 这样 当输入具体学号时 每个字符或者是阿拉伯数字 或者是英文字母 而不能输入其他字符 输入掩码主要用于文本型字段和日期 时间型字段 3 4 2 2有效性规则和有效性文本 有效性规则 ValidationRule 字段属性用于指定对输入到字段中的数据的要求 当输入的数据违反了有效性规则的设置时 可以使用有效性文本 ValidationText 向用户发送提示消息 对于有效性规则属性 需要输入一个表达式以代表一个条件 而对于有效性文本属性 则输入文本串以文字化提示消息 4 4 2 2有效性规则和有效性文本 练习4 1 P50 根据上表设置 花名册 表中相应字段的属性 然后在数据表视图中输入相应的数据并观察相应字段属性的作用 5 4 3关系概念模型 E R模型 存储在数据库中的数据反映了现实的业务情况和状态 而现实的业务问题往往是抽象和复杂的 为了将复杂的现实业务问题抽象 组织和转化为RDBMS支持的关系模型 往往需要首先根据业务问题建立概念模型 然后再在概念模型的基础上建立关系模型 6 4 3 1主要概念 实体 Entity 客观存在并可相互区别的事物称为实体 实体可以是具体的人和物 如学生 客户 供应商 产品 运货商 也可以是抽象的概念 如订单 课程 属性 Attribute 实体所具有的某一特性或性质 一个实体所具有的特征或性质可以用若干个属性来刻画 如一个产品实体可以用编号 名称 供应商 单位数量 单价 库存量和订购量等属性来刻画 实体集 EntitySet 同类实体的集合 如各种产品实体就构成了一个产品实体集 所有客户就构成了一个客户实体集 实体型 EntityType 具有相同属性的实体必然具有相同类别的特征和性质 用实体名及其属性名集合来抽象和刻画的同类实体 称为实体型 例如 对于产品实体集 可以用如下实体型表示 产品 编号 名称 供应商 单位数量 单价 库存量 订购量 7 4 3 1主要概念 联系 Relationship 是指同一实体型内部实体之间的联系 或者指不同实体型之间通过实体发生的联系 8 4 3 2关系概念模型的表示方法 E R图 概念模型 客观现实在人们头脑中的反映 是对客观事物及其联系的一种抽象描述 关系概念模型 简称关系模型 是关系数据库理论中描述客观事物及其联系的概念模型 实体联系方法 Entity RelationshipApproach E R方法 用E R图描述现实世界的关系概念模型 也称为E R模型 P P S Chen 1976 E R图可以描述实体型 实体型具有的属性 实体型之间的联系一级联系的类型等多种信息 E R图中使用专门图形符号表示特定的含义 矩形框 实体型 在矩形框内标明实体型名称 椭圆形 实体的属性 在椭圆形内标明属性名 并用无向边将其与相应的实体矩形框连接起来 菱形 联系 在菱形内标明联系名 并用无向边分别与有关的实体矩形框连接起来 表明联系的类型 如果一个联系也具有属性 则这些属性也要用无向边与该联系连接起来 9 4 3 2关系概念模型的表示方法 E R图 设A B为两个实体集 E R图中表示实体型之间的三种联系 一对一联系 1 1 若对于A中的每一个实体 在B中至多有一个实体与之联系 反之 对于B中的每一个实体 在A中也至多有一个实体与之联系 则称实体集A与B之间具有一对一联系 记为1 1 一对多联系 1 n 若对于A中的每一个实体 在B中有n个实体 n 0 与之联系 反之 对于B中的每一个实体 在A中至多只有一个实体与之联系 则称实体集A与B之间具有一对多联系 记为1 n 多对多联系 m n 如果对于A中的每一个实体 在B中有n个实体 n 0 与之联系 反之 对于B中的每一个实体 在A中也有m个实体 m 0 与之联系 则称实体集A与B之间具有多对多联系 记为m n 10 4 3 3根据E R图设计关系模式 客户 产品 客户ID 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 m n 公司名称 联系人姓名 地址 邮政编码 电话 发货日期 订购日期 到货日期 数量 单价 产品名称 产品ID 单位数量 公司名称 客户ID 产品 产品ID 产品名称 单位数量 单价 类别名称 类别说明 客户 客户ID 公司名称 联系人姓名 地址 邮编 电话 订购 客户ID 公司名称 产品ID 产品名称 单位数量 单价 数量 订购日期 发货日期 到货日期 练习4 2 P54 根据如图4 5所示的E R图设计关系模式 1 根据实体型及其属性设计关于实体型的关系模式 2 根据实体型之间的多对多联系设计关系模式 11 4 3 3根据E R图设计关系模式 将相关实体的某些属性放入同一个二维表中将产生数据冗余 DataRedundancy 即同样的数据在同一张表中重复出现 数据冗余问题会占用更多的存储空间 造成存储空间的浪费 而且还可能引起数据的不一致性问题 12 4 3 3根据E R图设计关系模式 减少关系模式的数据冗余 选择相关实体的主键作为关系模式中的属性 并将它们的组合做为主键或主键的组成部分 保留多对多联系自身的属性 外键 外码 ForeignKey 当某个属性 或属性组 不是关系R的主键或只是主键的一部分 但是另一个关系R 的主键 则称该属性 或属性组 是关系R相对于关系R 的外键 外码 订购 客户ID 公司名称 产品ID 产品名称 单位数量 单价 数量 订购日期 发货日期 到货日期 订购 客户ID 产品ID 单价 数量 订购日期 发货日期 到货日期 13 4 3 4关系模式的优化 根据E R图 可以得到实体型和多对多联系的关系模式 客户 客户ID 公司名称 联系人姓名 地址 邮编 电话 产品 产品ID 产品名称 单位数量 单价 类别名称 类别说明 订购 客户ID 产品ID 单价 数量 订购日期 发货日期 到货日期 14 4 3 4关系模式的优化 为了减少数据冗余 可将实体型中重复出现的属性值 且容易产生数据不一致性的字段提取出来 构成一个新的实体型 同时 在新的实体型和提取的源实体型中添加关联属性 15 4 3 4关系模式的优化 经过对关系模式的进一步优化 可以得到新的E R图根据优化后的E R图 为每个实体型设计关系模式 客户 客户ID 公司名称 联系人姓名 地址 邮编 电话 类别 类别ID 类别名称 类别说明 产品 产品ID 产品名称 单位数量 单价 类别ID 为 订购 多对多联系设计关系模式 订购 客户ID 产品ID 单价 数量 订购日期 发货日期 到货日期 注意 通常情况下 不需要为实体型之间的一对多联系建立专门的关系模式 可以通过关联属性建立联系 16 4 3 4关系模式的优化 进一步减少数据冗余的操作 分析数据冗余提取重复出现的字段 构造新关系利用提取重复字段后剩下的字段再构造另一个新关系 订单 关系 订单明细 关系 17 4 3 4关系模式的优化 在两个关系中都添加关联字段 使两者相互联系 确保数据的完整性 优化后的关系模式 客户 客户ID 公司名称 联系人姓名 地址 邮编 电话 类别 类别ID 类别名称 类别说明 产品 产品ID 产品名称 单位数量 单价 类别ID 订单 订单ID 客户ID 订购日期 发货日期 到货日期 订单明细 订单ID 产品ID 单价 数量 18 4 3 5实体表与联系表 二维表是关系模型在关系数据库技术上的具体体现 实体 联系 关系模型 数据库 实体表 联系表 客户 实体表 雇员 实体表 客户 实体和 雇员 实体的联系表 订单 表 19 4 4表间关系 不同的二维表中的数据具有一定的独立性 不需要借助其他数据就直接可以从不同角度描述特定实体的一些性质 不同二维表中的数据之间又存在一定的内在联系 通过表之间的数据联系 可以将数据库中多个表联结为一个有机的整体 使多个表相互对应 提高数据使用者从数据库中提取信息的效率 20 4 4 1表间关系的基本概念及类型 不同二维表中的数据之间的内在联系 是以 关联字段 为纽带 通过表间关系体现和实现的 关联字段能够在两个相关表之间建立联系 进而将相关表中的数据联系起来 通过关联字段 供应商ID 将 供应商 和 产品 两个表联系起来 如果A表和B表之间的关系是一对多关系 则称A表为主表 或父表 B表为子表 在主表和子表之间建立一对多关系的关联字段是主表中的主键 而在子表中则是外键 在一对多表间关系中 主表定义了关联字段的取值范围 而子表只能引用主表中关联字段的值 21 4 4 2创建和编辑表间关系 练习4 4 P62 创建 供应商 表和 产品 表之间的一对多表间关系 1 在主表 供应商 表的设计视图中设置主键 2 打开 关系 窗口 在菜单栏中执行 工具 关系 命令 3 在 关系 窗口中添加表 4 创建并保存表间关系 5 在 关系 窗口中 用鼠标左键双击相关表之间的连线 可以重新打开 编辑关系 窗口 如果有必要 可以在 编辑关系 窗口中重新设置有关选项 用鼠标右键单击相关表之间的连线 在弹出菜单中选择 删除 命令 则可以删除已建立的表间关系 22 4 4 3参照完整性 参照完整性 ReferentialIntegrity 若属性 或属性组 F是关系R的外键 它与关系S的主键KS相对应 则对于关系R中的每个元组在F上的值必须取空值 F的每个属性值均为空值 或者等于S中的某个元组的主键值 可实施参照完整性的表间关系必备的3个条件 在主表和子表中 关联字段有相同的数据类型 在主表中已经将关联字段设置为主键 在子表中 每条记录在关联字段上的值或者为空值 或者等于主表中某条记录的主键值 23 在Access数据库中实施参照完整性时 需要注意 1 必须先在主表中将关联字段设置为主键 否则无法在 编辑关系 窗口设置 实施参照完整性 选项 2 在子表中 即使某些记录在关联字段上是空值 也可以实施参照完整性 在Access数据库中 参照完整性是一个规则系统 该规则系统可确保主表和子表之间记录对应关系的有效性 并不会意外删除或更改相关数据 实施参照完整性后 遵循3条规则 规则1 不能在子表的关联字段中输入不存在于主表的主键中的值 规则2 如果在子表中存在对应的记录 则不能从主表中删除相应记录 规则3 如果在子表中存在对应的记录 则不能在主表中更改相应记录的主键值 练习4 5 P64 在对 供应商 和 产品 一对多表间关系实施参照完整性的基础上 验证上述3条规则 4 4 3参照完整性 24 4 4 4级联更新相关字段和级联删除相关记录 在关系数据库中 主表和子表中的记录之间存在着一定的逻辑对应关系 而参照完整性就可以确保这种记录之间逻辑对应关系的正确性和有效性 更新主表中的主键值 或者删除主表中的记录都有可能破坏主表与子表之间的数据完整性 但如果在对主表中记录进行更新或删除操作的同时 对子表中的记录也进行相应的更新或删除操作 则仍然可以保持主表与子表之间的数据完整性 Access中的 级联更新相关字段 规则和 级联删除相关记录 规则就提供了相应的解决措施 级联更新相关字段 规则是指 在主表中修改关联字段 主键 值时 自动更新子表中对应关联字段的值 级联删除相关记录 规则是指 在主表中删除记录时 自动删除子表中的对应记录 25 4 4 4级联更新相关字段和级联删除相关记录 练习4 6 P65 在对 供应商 和 产品 一对多表间关系实施参照完整性的基础上 再设置 级联更新相关字段 规则和 级联删除相关记录 规则 并验证这两条规则 1 规则设置 26 4 4 4级联更新相关字段和级联删除相关记录 2 验证 级联更新相关字段 规则 3 验证 级联删除相关记录 规则 27 4 5业务数据分析的前期准备工作 对于业务数据分析人员来说 数据库技术的价值在于能够帮助他们更加有效地处理 利用和分析业务数据 以达到从众多的明细业务数据中获得有用信息 并利用这些信息辅助经营管理决策的目的 28 4 5 1明确字段的业务含义和数据类型 正确理解每个字段的业务含义 并明确每个字段的数据类型 可综合运用三种方法 方法1 查阅数据库应用系统的开发手册或使用手册 系统开发手册记载了开发人员设计和创建数据库的思路 通常也包含像E R图 关系模式 表的设计细节等内容 系统使用手册面向基础业务处理人员的 可指导基础业务处理人员尽快地熟悉和掌握数据库应用系统的功能和操作方法 方法2 查阅数据字典 DataDictionary 很多RDBMS软件都使用数据字典保存对表及表间关系的定义 在表的定义中包括了字段名称 字段的数据类型和字段的含义说明等信息 在Access数据库中 表的设计视图就相当于一种数据字典 方法3 咨询业务处理人员 29 4 5 1明确字段的业务含义和数据类型 产品 表 订单明细 表 30 4 5 2建立数据库所反映的业务模型 数据库中存储的大量业务数据隐含着特定的业务模型 在明确和理解数据 字段 的业务含义的基础上 建立数据库所反映的业务模型 可帮助业务数据分析人员更快 更深入和更全面地理解业务数据及业务数据之间的联系 业务模型在一定程度上能够反映数据库中业务数据的含义及业务数据之间的内在联系 31 4 5 3基于E R图的业务规则分析 E R图是关系概念模型中常见的图形表示方法 利用E R能够描述客观世界中的实体以及实体之间的联系 E R图能够帮助业务数据分析人员更好地理解数据库中业务数据之间的联系 32 4 5 4基于关联字段的表间关系分析 表间关系是数据库中多个表联结成有机整体的基础 表间关系不仅能够使多个表中的记录 数据 相互对应 而且能够提高业务数据分析人员从数据库中提取信息的工作效率 基于对字段业务含义 数据类型的分析和理解以及对业务模型 业务规则的细致分析 可归纳 罗斯文 示例数据库中的表间关系 注意 在Access关系数据库中 建立表间关系的关联字段不需要有相同的名称 但必须有相同的数据类型 并具有相同的字段含义 33 4 5 5创建表间关系 在明确了数据库中的表间关系及相关的关联字段之后 还需要利用RDBMS软件所提供的功能创建表间关系 在Access中 通过在菜单栏中执行 工具 关系 命令 并在 编辑关系 窗口中编辑关系等操作可以创建表间关系 注意 在 关系 窗口中创建表间关系之前 必须先在设计视图中设置父表的主键 34 4 5 5创建表间关系 父表中的主键在一对多表间关系中起着关联字段的重要作用 在Access数据库中 可定义三类主键 1 自动编号主键 是一个具有自动编号数据类型的字段 且主键上的字段值是一些连续的正整数 当向表中添加一条新记录时 Access会将该记录在主键的字段值自动地赋值为下一个连续的整数 如果在保存新建表时没有设置主键 Access将询问是否创建主键 如果回答为 是 Access将创建自动编号主键 2 单字段主键 包含唯一值的字段 如产品ID 可设为主键 若单字段有重复值或空值 在Access中不能设置为主键 通常每个实体都有一个唯一的标识 因此在实体表中 通常将相应的实体ID设置为主键 3 多字段主键 在不能保证任何单字段都包含唯一值时 可将两个或更多的字段设定为主键 如 在 罗斯文 示例数据库的 订单明细 表中 订单ID 和 产品ID 的组合值唯一 所以可将其组合设置为主键 另外 从一对多表间关系的角度来看 具有多字段主键的表通常是以子表身份出现的 且多字段主键中的单个字段是子表相对于父表的外键 35 4 5 5创建表间关系 练习4 7 P74 以 订单明细 表为例 在设计视图中设置多字段主键 36 4 6小结 在Access数据库中 输入掩码 有效性规则 和 有效性文本 是3个十分有用的字段属性 它们可以在一定程度上确保输入到表中的数据是有效的 是RDBMS在数据完整性控制功能方面的具体体现 37 4 6小结 在关系数据库中 是使用关系概念模型描述客观事物及其联系的 实体 联系方法 Entity RelationshipApproach 是最为著名也最为常用的关系概念模型的表示方法 在E R图中 可以描述实体型 实体型具有的属性 实体型之间的联系以及联系的类型等多种信息 在关系模型中 需要为实体型和实体型之间的多对多联系建立专门的关系模式 而对于实体型之间的一对多联系 则不需要建立专门的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论