周末无事水文章,期末备考的总结资料

第八章 关系数据库设计

8.1 好的关系设计的特点

  • 数据库逻辑设计主要解决的问题:
    –关系数据库应该组织成几个关系模式
    –关系模式中有包括哪些属性
  • 从不良的设计模式到良好的设计模式的过程
  • 不良的设计模式(各种异常)
    A)数据冗余:看图不解释
    B)插入异常:如果某个新学院没有招生,尚无学生时,则学院名和院长的信息无法插入到数据库中
    C)删除异常:如果某个学生因为中途休学,而停选了所有课程,则他的所有信息都会被删除
    D)更新异常:如果学生改名,则该学生的所有记录都要逐一修改SN

8.2 原子域和第一范式

  • 一个域是原子的(atomic),如果该域的元素被认为是不可分的单元。我们称一个关系模式R属于第一范式(First Normal Form,1NF)【关系中每一分量不可再分。即不能以集合、序列等作为属性值】

8.3 使用函数依赖进行分解

8.3.1 码和函数依赖(Functional Dependency)

  • 关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖
  • 数据依赖一般分为函数依赖、多值依赖和连接依赖。其中,函数依赖是最重要的数据依赖
  • 平凡/非平凡的函数依赖
  • 完全函数依赖
  • 传递函数依赖

8.4 函数依赖理论

8.4.1 函数依赖集的闭包

  • 令F为一个函数依赖集。F的闭包是被F逻辑蕴含的所有函数依赖的集合,记作F+
  • Armstrong公理系统
    –三条规则

    –简化后的规则

    –名词英文解释:自反律(reflexivity rule)、增补律(augmentation rule)、传递律(transitivity rule)、合并律(union rule)、分解律(decomposition)、伪传递律(pseudotransitivity rule)

8.4.2 属性集的闭包

8.4.3 正则覆盖

  • 无关属性(extraneous attribute)
  • 正则覆盖(canonical cover)
    –函数依赖集的等价性:函数依赖集F,G,若F+ = G+,则称F与G等价
    –F的正则覆盖Fc是与F等价的“最小”的依赖集,Fc满足以下性质:

8.4.4 无损分解

  • 定义

    –具有无损连接性的分解保证不丢失信息;无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题
    ·定理

8.4.5 保持依赖

  • 定义
  • 例子

8.5 分解算法

  • 主属性:候选码中的属性
  • 非主属性:不包含在任何一个候选码中的属性
  • 范式
    –定义:范式是对关系的不同数据依赖程度的要求
    –类型
    *1NF:关系中每一分量不可再分。即不能以集合、序列等作为属性值
    *2NF:每个非主属性完全依赖于R的每一个候选关键字(消除非主属性对码的部分依赖)
    *3NF:如果R的任何一个非主属性都不传递依赖于它的任何一个侯选关键字,则称R是第三范式,简记为3NF(消除非主属性对码的传递依赖)
    *BCNF:BC范式要求所有非平凡函数依赖都形如X→Y,其中X是一个超码
  • 关系
  • 算法
    –分解为BCNF(可能会丢失函数依赖)

    –分解为3NF(无损)

数据库系统概念总结:第八章 关系数据库设计相关推荐

  1. 数据库系统概念(机械工业出版社,第六版)复习——第八章:关系数据库设计

    第八章:关系数据库设计 第一范式(1NF) 如果某个域的元素被认为是不可再分的单元,那么这个域就是原子的(atomic).如果一个关系模式R的所有的属性域都是原子的,我们称关系模式R属于第一范式(fi ...

  2. 《数据库系统概念》——关系数据库

    文章目录 一.引言 二.关系数据库 1. 关系模型介绍 1.1. 关系数据库的结构 1.2. 数据库模式 1.3. 码 △1.4. 模式图 1.5. 关系查询语言 1.6. 关系运算 1.7. 关系代 ...

  3. 【数据库】概念设计、逻辑设计、关系数据库设计理论

    一:概念设计: ER模型:实体属性和联系 实体及实体集: 实体的属性:属性和实体都是名词: 需求–>ER图: 属性无法再分,实体可由多个属性组成. 同一类联系: 实体与派生实体间的基本联系: 如 ...

  4. 数据库系统概念 复习总结

    数据库系统概念 Database Systems Concepts 第六版 来源:https://blog.csdn.net/qq_39326472/article/details/88420916 ...

  5. 关系数据库设计理论(函数依赖、异常、范式)、ER图

    1. 关系数据库设计理论 1.1 函数依赖 记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A. 如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合函数决 ...

  6. 面向对象的关系数据库设计

    面向对象的关系数据库设计 一.概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈.其实前者是数据库用户定义数据库模式的思路,后者是数据库 ...

  7. 数据库系统概念笔记-关系模型介绍

    转载自 数据库系统概念笔记-关系模型介绍  作者 CyninMa 数据库系统概念笔记-关系模型介绍 2.1 关系数据库的结构 关系数据库由表(table)的集合构成,每个表有唯一的名字.例如,inst ...

  8. 数据库书籍-数据库系统概念(原书第6版)

    数据库书籍-数据库系统概念(原书第6版) 基本信息 原书名: Database System Concepts,Sixth Edition 原出版社: McGraw-Hill 作者: (美)Abrah ...

  9. 数据库系统概念笔记-引言

    转载自 数据库系统概念笔记-引言  作者 CyninMa 数据库系统概念笔记-引言 数据库管理系统(DBMS)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成.这个数据集合通常称作数据库,其 ...

最新文章

  1. 百度地图发布专网地图时空数据托管平台,构建智慧城市数字底盘
  2. npm WARN enoent ENOENT: no such file or directory
  3. 【ABAP】ALV可编辑数据更新
  4. HDU多校1 - 6756 Finding a MEX(分块+二分+树状数组)
  5. iview 表单提交之前验证是否符合条件
  6. Luogu P2066 机器分配(dp)
  7. java中的equals和hashCode
  8. Jenkins 构建项目流程
  9. installshield java_项目创建失败(vs2012中的InstallShield)
  10. 学会这10种定时任务,我有点飘了
  11. BeautyGAN论文翻译
  12. mybatis官方文档中文版
  13. mumu显示连接服务器超时,网易mumu模拟器安装不了 网易mumu模拟器安装好久解决方法...
  14. bestpay学习 - - 一个轻量级的完全开源项目
  15. 把图片转换成视频-ffmpeg
  16. 阿里巴巴淘系技术部拍卖部-春招提前批
  17. NMF 非负矩阵分解(Non-negative Matrix Factorization)实践
  18. 机械臂示教轨迹参数化方法 DMP, Dynamic Movement Primitive (一)
  19. windows2003服务精简方案
  20. 【企业架构设计实战】技术架构设计指南

热门文章

  1. Java设计模式-工厂模式(1)简单工厂模式
  2. 苹果5g手机_5G手机即将大量上市,iPhone缺席首批5G手机,苹果为何不急?
  3. QT5.11 + VS2017 环境搭建
  4. mysql中一个表怎么查询多以上的信息,MySQL怎么样实现多个表的或查询?
  5. 360面试题计算机面试题,奇虎360软件测试面试经验
  6. python随机生成k个不重复的随机数_python 生成不重复的随机数的代码
  7. spark如何解决文件不存在_Spark Read.json无法找到文件
  8. index row函数出现日期变数字_VBA-003.多表日期汇总求和
  9. html友情链接效果代码,HTML友情链接代码
  10. 用python正确的获取文件最后被修改的时间