三级偏软数据库_第1页
三级偏软数据库_第2页
三级偏软数据库_第3页
三级偏软数据库_第4页
三级偏软数据库_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第1章数据库相关基础理论知识 开始 主讲 本章的任务 DBMS的基本功能 组成和选择原则关系数据库管理系统的等级数据库的三级模式结构数据库系统的组成关系模型的基本概念E R模型的建立方法E R模型转换为关系模型的方法关系的规范化理论 DBMS的基本功能 数据定义功能数据库操纵功能数据控制功能数据库的建立和维护功能 DBMS的组成 数据描述语言数据操纵 查询语言数据库管理例行程序 数据库系统访问数据的步骤 选择DBMS的原则 分析应用环境 确定信息需求收集各种DBMS资料 分析DBMS的功能和性能综合衡量 初步筛选详细考察 确定目标 返回目录 关系数据库管理系统的等级 半关系型DBMS 最小关系型 基本关系型DBMS 关系完备型 完全关系型 全关系型 返回目录 数据库系统的三级模式结构 返回目录 数据库系统的组成 数据库管理员 数据库管理系统 DBMS 计算机基本系统 数据库 返回目录 关系的直观概念 表 Table 也称关系列 Field 也称字段 域或者属性行 Row 也称元组 Tuple 码 Key 也称主键 关系模型的三类完整性 实体完整性 在任何关系的任何一个元组中 主键值的任一分量都不允许为空值 参照完整性 若某个字段或字段组不是A表的主键 但它是另一张B表的主键 则该字段或字段组称为A表的外关键字 或称为外键 在关系模型中 外关键字等于B中某个元组的主键值 例如 成绩表 的 课程ID 只能取 课程信息表 的 课程ID 已经有的值 即001 006中的任何一个值 用户定义完整性 由用户针对某一具体数据库的约束条件 定义完整性 它由应用环境决定 反映了某一具体应用所涉及的数据必须满足的语义要求 例如 性别只能是 男 或 女 两种可能 年龄的取值只能限制在O 200之间才合乎情理等 选择运算 例如 在P11的表1 1中 选择姓名为 张三 的学生基本情况的结果为 投影运算 例如 在表1 1中 选择学号 姓名 性别字段的投影运算结果为 联接运算 实例1 M表 N表 M N表 M和N表的笛卡尔积 联结运算 C D 的结果 联接运算 实例2 在表1 2和表1 3中 要选择满足以下条件的元组 课程信息表 的 课程ID 等于 成绩表 的 课程ID 其联合运算的结果如下 返回目录 E R模型 实体 Entity 实体是客观存在并可相互区分的事物 例如 在学校里 一个学生 一个老师 一门课程都是实体 字段 Field 或属性 Attribute 字段是实体所具有的某一特性 一个实体可由若干字段来刻画 例如 学生实体可由学号 姓名 年龄 性别 年级 系 专业等字段组成 联系 Relationship 现实世界的事物之间是有联系的 这种联系必然要在信息世界中加以反映 学校中教与学的联系 可以用教师实体集与学生实体集两者间的联系表示 教师教学生 学生从教师的讲课中获取知识 E R模型 1 1模型 E R模型 1 n模型 E R模型 M N模型 学生管理系统的E R模型 返回目录 将E R模型转换为关系模式 原则1 每个实体集转换为一个关系 实体集中的实体的属性成为该关系的属性 实体的标识符成为该关系的关键字 每个实体由该关系的一个元组表示 将E R模型转换为关系模式 原则2 每个实体联系集转换成一个关 该实体联系自身所拥有的非关键字属性 加到该关系中去 而该关系的主键由该联系集所联系的实体集的关键字组成 将E R模型转换为关系模式 原则3 如果一个实体联系集的两侧标明的维数是1 n 则在1侧的实体集的关键字应加入到另一侧的实体转换成的关系中 返回目录 不符合第一范式的实例 学生选修课程的记录 不符合第一范式存在的问题 1 更新困难如果1011同学想把选修课程改为 Access数据库 专业英语 则系统在处理上面临二义性 1 修改1011记录的课程属性值 2 把学号属性值扩充为 1011 1012 2 插入困难无法在此关系中加入 成绩 属性 符合第一范式的实例 将课程属性的属性值拆开 形成如下关系形式 第一范式的判断方法 检查关系表中每个属性值是否都是不可再分解的最小数据单位 将非第一范式规范为第一范式的方法 依次检查每个属性的取值 如果是组合情况 即不是最小单位 就进行属性值的最小化拆分 不符合第二范式的实例 学生选课关系表 主键为 学号 课号 不符合第二范式存在的问题 插入异常 无法插入还未选课的 由于该学生无课号属性 其相应的码值一部分为空 故该学生的固有信息无法插入 删除异常 某学生只选了一门课 若现在要放弃这门课 由于课号是主键的一部分 整个记录必须删除 该学生的其他信息也删除了 修改复杂 若张茗从计算机系转入动画系 必须修改系负责人 该生选修了多门课 要修改多条记录 符合第二范式的实例 主键 学号 课号 主键 学号 第二范式的判断方法 找出一个关系 表 中的主键单个属性作为主键的情况比较简单 因为主键的作用就是能唯一标识表中的每一行 关系中的非主属性都能完全函数依赖于主键 这样的关系是第二范式 对组合属性作为主键的那些关系 通常要判断每一个非主键属性是否能完全函数依赖于主键 即完全由主键所决定 若每一个非关键字属性能被主键所决定 则是第二范式 否则 就不是 将非第二范式规范为第二范式的方法 1 将能完全依赖主键的属性从关系中提取出来 同主键一起组成一个关系如 SC 学号 课号 成绩 2 将剩余的属性同能完全依赖的主键的一部分组成一个关系SD 学号 姓名 系 系负责人 不符合第三范式的实例 不符合第三范式存在的问题 插入异常 当新成立一个系 该系还没有招收任何学生时 系的有关信息无法插入表中 删除异常 若某个系的全部学生都已毕业 则在删除相应学生信息时 系和系负责人的信息也删除了修改复杂 系和系负责人的信息反复存储 造成数据冗余 引起修改困难 符合第三范式的实例 SND 学号 姓名 系 DM 系 系负责人 第三范式的判断方法 判断关系模式中是否有传递依赖的情况 如果有 不是第三范式 否则是 例如 学号 系 系 学号 系 系负责人则 学号 系负责人 将非第三范式规范为第三范式的方法 继续拆分关系模式 把有传递依赖的属性放在不同的关系中 消除传递依赖 例如 SND 学号 姓名 系 DM 系 系负责人 不符合BCNF范式的实例 STJ 学生 课程 教师 不符合BCNF范式存在的问题 删除异常 当删除信息 学生1011学习软件工程课程时 将同时失去 赵明老师主讲软件工程课程 的信息 符合BCNF范式的实例 将关系模式进一步拆分 SJ 学生 课程 TJ 教师 课程 BCNF范式的判断方法 关系模式中是否有某个属性函数依赖另外一个属性 而被依赖的属性不是主键 例如 SJT 学生 课程 教师 中主键是 学生 课程 或 学生 教师 存在 教师 课程 而教师不是主键 所以SJT不是BCNF范式 将非BCNF范式规范为BCNF范式的方法 继续拆分关系 使每个被依赖的属性都是主键 关系的规范化小结 从第一范式到BCNF范式 规范化程度逐渐提高 规范化程度越高 越能消除插入 删除 修改的异常 规范化程度越高 关系拆分的越多 会增加表间关系的复杂性 增加查询信息所花费的时间 不是规范化程度越高就越好 实际应用中 要在插入 删除 修改异常和查询时间之间做权衡 选择适当的规范化范式 返回目录 本

温馨提示

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

评论

0/150

提交评论