




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 3 26 数据库原理及开发 1 第2章关系数据库理论基础 本章重点内容关系的数学定义和性质关系模式的完整性约束条件关系代数关系的规范化原则 范式的基本概念和分解方法 2020 3 26 数据库原理及开发 2 2 1关系的基本概念 2 1 1关系的数学定义1 域 Domain 域 是一组具有相同数据类型的值集合 例如 自然数 男 女 0 1 等都可以是域 基数 域中数据的个数称为域的基数 域被命名后用如下方法表示 D1 白亚春 陈韬 王雪莲 表示姓名的集合 基数是3 D2 计算机系 电子系 2020 3 26 数据库原理及开发 3 2 笛卡尔积 CartesianProduct 给定一组域D1 D2 Di Dn 可以有相同的域 则笛卡尔积定义为 D1D2 Di Dn d1 d2 di dn di Di i 1 2 n D1D2 陈韬 计算机系 陈韬 电子系 王雪莲 计算机系 王雪莲 电子系 白亚春 计算机系 白亚春 电子系 其中每个 d1 d2 di dn 叫做元组 元组中的每一个值di叫做分量 di必须是Di中的一个值 显然 笛卡尔积的基数就是构成该积所有域的基数累乘积 若Di i 1 2 n 为有限集合 其基数为mi i 1 2 n 则D1D2 Di Dn笛卡尔积的基数M为 2020 3 26 数据库原理及开发 4 该笛卡尔积的基数是M m1m2 3 2 6 即该笛卡尔积共有6个元组 它可组成一张二维表 2020 3 26 数据库原理及开发 5 3 关系 Relation 关系 笛卡尔积D1D2 Di Dn的子集R称作在域D1 D2 Dn上的关系 记作 R D1 D2 Di Dn 其中 R为关系名 n为关系的度或目 Degree Di是域组中的第i个域名 当n 1时 称该关系为单元关系 当n 2时 称该关系为二元关系 以此类推 关系中有n个域 称该关系为n元关系 把列称为属性 Attribute 一般来说 一个取自笛卡尔积的子集才有意义 2020 3 26 数据库原理及开发 6 关系可以分为三种类型 基本关系 又称基本表 是实际存在的表 它是实际存储数据的逻辑表示 查询表 是对基本表进行查询后得到的结果表 视图表 是由基本表或其它视图导出的表 是一个虚表 不对应实际存储的数据 2020 3 26 数据库原理及开发 7 2 1 2关系的性质1 列是同质的 2 关系中行的顺序 列的顺序可以任意互换 不会改变关系的意义 2020 3 26 数据库原理及开发 8 3 关系中的任意两个元组不能相同 4 关系中的元组分量具有原子性 即每一个分量都必须是不可分的数据项 2020 3 26 数据库原理及开发 9 2 2关系的完整性 2 2 1键1 候选键 Candidatekey 若关系中的某一属性组的值能惟一地标识一个元组 则称该属性组为候选键 2 主键 Primarykey 若一个关系中有多个候选键 则选定一个为主键 2020 3 26 数据库原理及开发 10 3 主属性 PrimaryAttribute 主键的属性称为主属性 4 外键 Foreignkey 设F是基本关系R的一个或一组属性 但不是R的键 主键或候选键 如果F与基本关系S的主键K相对应 则称F是R的外键 并称R为参照关系 S为被参照关系 2 2关系的完整性 2020 3 26 数据库原理及开发 11 2020 3 26 数据库原理及开发 12 2 2 2实体完整性实体完整性规则 关系中的主键不能为空值 Null 空值就是 不知道 或 无意义 2 2 3参照完整性参照完整性规则 表的外键必须是另一个表主键的有效值 或者是空值 2 2关系的完整性 2020 3 26 数据库原理及开发 13 实体完整性和参照完整性实例 2020 3 26 数据库原理及开发 14 2 2 4用户定义完整性用户按照实际的数据库运行环境要求 对关系中的数据所定义的约束条件 它反映的是某一具体应用所涉及的数据必须要满足的条件 2 2关系的完整性 2020 3 26 数据库原理及开发 15 2 3关系代数 2 3 1传统的集合运算当集合运算并 交 差用于关系时 要求参与运算的两个关系必须时相容的 即两个关系的度数一致 并且关系属性的性质必须一致 2020 3 26 数据库原理及开发 16 1 并并 是将两个关系中的所有元组构成新的关系 并运算的结果中必须消除重复值 关系R与S的并运算记作 R S 2020 3 26 数据库原理及开发 17 2 交交 将两个关系中的公共元组构成新的关系 关系R与S的交运算记作 R S 2020 3 26 数据库原理及开发 18 3 差差 运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系 就是从一个关系中减去另一个关系 关系R与S的差运算记作 R S 2020 3 26 数据库原理及开发 19 2 3 2专门的关系运算专门的关系运算包括 选择 投影和连接 用于数据查询服务 1 选择 Selection 选择 是按照给定条件从指定的关系中挑选出满足条件的元组构成新的关系 或者说 选择运算的结果是一个表的行的子集 记作 2020 3 26 数据库原理及开发 20 2 投影 Projection 投影 是从指定的关系中挑选出某些属性构成新的关系 或者说 选择运算的结果是一个表的列的子集 记作 其中A为R的属性列 投影的结果将取消由于取消了某些列而产生的重复元组 2020 3 26 数据库原理及开发 21 3 连接 Join 连接 是将两个和多个关系连接在一起 形成一个新的关系 连接运算是按照给定条件 把满足条件的各关系的所有元组 按照一切可能组合成新的关系 或者说 连接运算的结果是在两关系的笛卡尔积上的选择 记作 自然连接 当连接的两关系有相同的属性名时 称这种连接为自然连接 它是连接的一个特例 记作 2020 3 26 数据库原理及开发 22 学生基本情况表学生选课表 2020 3 26 数据库原理及开发 23 2 4关系规范化2 4 1问题的提出在设计关系数据库时 经常采用一种自下而上的设计方法 这种方法是对涉及的所有数据进行收集 然后按照栏目进行归纳分类 插入异常 如果某个教师的所开课程某学期没有 或者学生没有选修他开的该课程 那么就无法将该教师及其所开课程的信息存入数据库 删除异常 如果某届学生全部毕业 在删除该系学生时会将课程及相关教师删除 数据冗余 比如 一门课程及其教师要与选修该课程的每一个学生出现的次数一样多解决这些问题的办法就是重新设计数据库 2020 3 26 数据库原理及开发 24 2020 3 26 数据库原理及开发 25 1 函数依赖的概念在数据库中 属性值之间会发生联系 例如每一本图书只有一个书号 每本书入库只有一个操作员等等 这类联系 称为函数依赖 关系理论中函数依赖是指关系中属性间的对应关系 如关系中对于属性 组 的每一个值 属性 组 只有唯一的值与之对应 则称 函数依赖于 或称 函数决定 记为 其中 称为决定因素 为模式 的一个函数依赖 例2 8 设有一个职工关系 职工编号 姓名 性别 所在部门 职工编号是关系的主键 对于该关系中的每一个职工的职工编号 都对应着姓名属性中的唯一值 即该职工的姓名也就是说 一个职工的姓名由他的职工编号唯一确定 所以称职工编号函数决定姓名 或者称姓名函数依赖于职工编号 记作 职工编号 姓名 职工编号为该函数依赖的决定因素 同理 职工编号决定性别 所在部门等属性 分别记作 职工编号 性别 职工编号 所在部门 2020 3 26 数据库原理及开发 26 在一个关系中 可分析出许多依赖关系 函数依赖可区分为完全依赖 部分依赖和传递依赖三类 完全函数依赖若 是关系 中属性 组 函数依赖 但 函数不依赖 的任一真子集 则称 完全函数依赖于 记作 例2 9 在职工关系 职工编号 姓名 性别 所在部门 中 职工编号同其他每个属性之间的函数依赖都是完全函数依赖 即职工编号姓名 职工编号性别 职工编号所在部门 因为职工编号不可能再包含其他的任何属性 也不可能存在真子集函数决定其他每一个属性的情况 2020 3 26 数据库原理及开发 27 部分函数依赖若 为关系 中的属性 组 如 函数依赖 且 中存在真子集 且 满足 函数依赖 则称 部分函数依赖于 记作 例2 10 职工关系 职工编号 姓名 性别 所在部门 中 属性组 职工编号 性别 的值能够决定相应职工所在的部门 但其真子集中的职工编号也能函数决定所在部门 所以所在部门部分函数依赖于 职工编号 性别 传递函数依赖设 是关系 U 的属性集上的子集 其中 函数依赖 函数依赖 但 不函数依赖于 则称 传递函数依赖于 记作 注意这里必须强调 不函数依赖于 因为如果 同时 则为 这样 和 是等价的 在函数依赖中是可以互换的 就是直接函数依赖 而不是传递函数依赖 2020 3 26 数据库原理及开发 28 2 4 2关系模式的规范化1 范式 Normalform 范式 建立关系时需要满足的约束条件划分成若干标准 这些标准称为范式 简写为NF 范式的级别越高 发生操作异常的可能性越小 数据冗余越小 但由于关联多 读取数据时花费时间也会相应增加 2 第一范式 1NF 对于给定的关系R 如果R中的所有行 列交点处的值都是不可再分的数据项 则称关系R属于第一范式 记作 R 1NF 1NF是关系数据库中对关系的最低要求 它是从关系的基本性质而来的 任何关系必须遵守 2020 3 26 数据库原理及开发 29 3 第二范式 2NF 如果关系R 1NF 并且R的每一个非主属性都决定于主键 则称R属于第二范式 记作 R 2NF 思考 主键没有冗余 非主键存在冗余 3 第三范式 3NF 第三范式 如果关系R 2NF 并且R的每一个非主属性都不间接决定于主键 则称R属于第三范式 记作 R 3NF 达到第三范式的关系仍有可能存在冗余等问题 所以关系数据库理论还有BCNF 4NF 5NF等范式 在实际应用中 一般达到了3NF的关系就可以认为是较为优化的关系 2020 3 26 数据库原理及开发 30 2 5 3规范化和范式规范化表示了从数据存储中移去数据冗余的过程 规范化避免了数据冗余 节省了空间 对数据的一致性提供了根本的保障 杜绝了数据不一致的现象 在一定范围内提高了效率 规范化有许多层次 对关系最基本的要求是每个属性值必须是不可分割的数据单元 即表中不能再包含表 满足一定条件的关系模式 称为范式 NormalForm 范式就是某一种级别的关系模式的集合 人们称某一关系模式 为第n范式 就表示该关系的级别 一个低级范式的关系模式 通过分解 投影 方法可转换成多个高一级范式的关系模式的集合 这种过程称为规范化 第一范式1NF定义如果一个关系 的每一个属性都是不可分的数据项 则称 是符合第一范式的 记做R1NF 若一个关系数据库中所有的关系都满足第一范式要求 则称为满足第一范式的数据库 2020 3 26 数据库原理及开发 31 例2 12 设某单位的职工评价信息关系 评价 职工编号 姓名 工作表现 工作态度 业绩 综合评价 评价日期 对应元组如表2 18 表2 18不是一个规范化的关系 因为工作表现属性不是原子属性 包含了三个属性 因此必须把每个属性提升为一般属性 得到规范化的关系 如表2 19 2020 3 26 数据库原理及开发 32 2020 3 26 数据库原理及开发 33 2 第二范式2NF定义设关系R1NF 且它的每一非主属性完全依赖于主键 则称R是符合第二范式的 记作R 2NF 如果一个关系只满足第一范式 那么可能会带来数据冗余和操作异常 即插入异常 删除异常和修改异常 例2 13 设有一个图书销售关系TSXS 书号 书名 出版社 作者 单价 数量 折扣 日期 操作员帐号 姓名 密码 中 每位操作员可以销售多种书 每种书可由多个操作员销售 TSXS具体实例如表2 20 2020 3 26 数据库原理及开发 34 在该关系中 由于书号和操作员帐号属性没有决定因素 所以它们包含在候选键中 而由这两个属性构成属性组则能够函数决定所有属性 因此 书号 操作员帐号 是关系的主键 在该关系中存在着非主属性对主键的部分依赖 其中书名 出版社 作者 单价 库存数量 折扣依赖于书号 姓名 密码依赖于操作员帐号 所以该关系中必然存在数据冗余 在对该关系进行插入 删除和修改时 也会带来意外的麻烦 我们可以通过关系分解的方法来消除部份依赖 对应的图书销售关系TSXS可分解成以下几个关系 图书 书号 书名 出版社 单价 折扣 操作员 操作员帐号 姓名 密码 销售 书号 操作员帐号 数量 2020 3 26 数据库原理及开发 35 说明 不符合2NF的关系 规范化为第二范式的方法 对于一个关系R U 假定 是 的互不相交的属性子集 其中 是主键 完全函数决定 函数决定 但 中不含依赖于 的属性 则把R U 分解为两个关系R1 和R2 后就取消了 对 的部分依赖 其中 是R1的主键和R2的外键 通过 使R1和R 自然连接仍然可得到原来的R U 同理 若R2 中仍存在着部分依赖 仍可以按此方法继续分解 直到消除全部部分依赖为止 3 第三范式3NF定义设关系R 2NF 且它的每一非主属性不传递依赖于主键 则该关系是符合第三范式的 记作R 3NF 一个符合第三范式的关系必须具有以下三个条件 每个属性的值唯一 不具有多义性 每个非主属性必须完全依赖于整个主键 而非主键的一部分 每个非主属性不能依赖于其他关系中的属性 从以上可知 2NF可从1NF关系消除非主属性对主键的部分函数依赖后获得 3NF关系可从2NF关系消除非主属性对主键的传递函数依赖后获得 2020 3 26 数据库原理及开发 36 例2 14 图书销售关系 流水号 书号 书名 数量 入库价 销售价 入库时间 操作员账户 姓名 密码 销售日期 总金额 一个流水号只由一个操作员帐号处理 一个操作员帐号可以处理多个流水号 而操作员帐号决定操作员姓名 密码 所以图书销售关系中函数依赖关系如下 流水号 书号 流水号 操作员帐号 书号 书名 书号 数量 书号 入库价 书号 销售价 书号 入库时间 操作员帐号 姓名 操作员帐号 密码 流水号 销售日期 流水号 总金额 在图书销售关系中 只有流水号没有决定因素 所以流水号属性必然包含在候选键中 由流水号可以直接决定书号 操作员帐号 销售日期 总金额等属性 同时流水号传递决定书名 数量 入库价 销售价 入库时间 姓名 密码等属性 所以流水号能函数决定所有属性 流水号用作该关系的主键 由于该关系是单属性候选键 所以不会存在部分函数依赖 它自然满足第二范式 由于该关系中存在着书的各属性对流水号的传递依赖 存在着操作员各属性对流水号的传递依赖 所以必然会产生数据冗余和操作异常 2020 3 26 数据库原理及开发 37 消除关系中的传递依赖也是通过关系分解的方法来实现 设一个关系为R U X 是 的互不相交的属性子集 其中 为主键 是直接函数依赖 也可能包含部分函数依赖 是传递函数依赖 则把R U 分解成两个关系R1 和R2 其中 是 的主键 是外键 这样就消除了 对 的传递依赖 通过 对 和 自然连接仍可得到原来的 同样 若 和 中仍存在着传递依赖 则继续按此方法分解下去 直到消除全部传递依赖为止 对图书销售关系进行分解 分解得到三个关系 销售 流水号 书号 操作员账户 销
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资薪酬方案(3篇)
- 【课件】2025年中考人教版生物复习专训-专项+细胞通过分裂产生新细胞课件
- 四川工程职业技术学院《隋唐史研究》2023-2024学年第二学期期末试卷
- 日照航海工程职业学院《基本体操AI》2023-2024学年第二学期期末试卷
- 水田整治流程方案(3篇)
- 华东师范大学《传统艺术》2023-2024学年第二学期期末试卷
- 桐城师范高等专科学校《音乐作品分析》2023-2024学年第二学期期末试卷
- 拱桥吊杆更换方案(3篇)
- 旧泥巴水渠改造方案(3篇)
- 校园广告安装方案(3篇)
- 人工挖孔桩 安全技术交底
- (新版)供电可靠性理论考试题库大全-下(填空题)
- 《护理人际沟通》全套教学课件
- 某冶金机械厂供配电系统设计
- 收费站年度工作计划
- xx县精神病医院建设项目可行性研究报告
- 《在中亚细亚草原上》赏析 课件
- 城市轨道交通供电技术442页完整版教学课件汇总全书电子教案
- Q/GDW248-2008输变电工程建设标准强制性条文实施管理规程第3部分:变电站建筑工程施工教程文件
- 班组会议运作技巧ppt课件
- 技术比武理论复习题(继电保护)
评论
0/150
提交评论