zoukankan      html  css  js  c++  java
  • 数据库系统第六章【关系数据理论】(B站视频)

    数据库系统第六章【关系数据理论】(B站视频)

    B站视频链接
    https://www.bilibili.com/video/BV13J411J7Vu

    一、前言

    二、规范化

    函数依赖


    三种分类

    需要共同满足的条件

    如何确定函数依赖?

    平凡函数依赖vs非平凡函数依赖

    完全函数依赖vs部分函数依赖


    完全函数依赖
      表达一种无冗余的依赖关系,设U{A1,A2,…,An}是属性集合,R(U)为某关系表,x,y是U上的子集,x'是x的任意真子集,若有x->y成立且x'->y总不成立,则称y完全函数依赖于x。显然,此时x中无任何多余属性。
    部分函数依赖
      表达一种冗余的依赖关系,设U{A1,A2,…,An}是属性集合,R(U)为某关系表,x,y是U上的子集,x'是x的真子集,若有x->y且x'->y,则称y部分函数依赖于x。记做x->py,显然,此时x中存在多余属性,例如,设x(学生编号,学生性别),x'(学生编号),y(学生姓名),则有x决定y,x'决定y,此时y部分函数依赖于x。

    传递函数依赖

    码是一个或多个属性的集合。
    码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。

    超码

    性质:如果K是超码,那么所有包含K的集合也是超码。 
    性质:候选码是最小超码,它们的任意真子集都不能成为超码。
    候选码:多个集合,一个候选码是一个集合,其中的一个元素称为主属性

    主属性和非主属性

    外码

    范式


    逐渐严格

    1NF

    每一列都是不可划分的(原子性),不能表中有表

    例子中的属性说明:Sno:学号;Cno:课程编号;Sdept:系名;Sloc:学生住处

    2NF

    目的:解决部分函数依赖
    数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖
    简单描述:一个表只描述一件事情
    完全依赖概念:即非主属性不能依赖于主键的部分属性,必须依赖于主键的所有属性。

    3NF

    目的:解决传递函数依赖
    第三范式就是不存在非主属性对候选关键字的传递函数依赖
    简单描述:要求一个数据库表中不包含已在其它表中已包含的非主关键字信息

    BCNF(BC范式)

    修正的第三范式
    不存在主属性对任一候选关键字段的部分函数依赖

    例子

    定义

    性质

    小结

    总结

    规范化步骤

    基本思想

  • 相关阅读:
    css--盒子模型
    目标爬取社会信用码
    KFC-位置分页爬虫
    百度翻译-爬虫
    网页采集器-UA伪装
    python模块2
    python模块
    go入门
    python垃圾回收机制
    Python高级用法
  • 原文地址:https://www.cnblogs.com/linzworld/p/13211694.html
Copyright © 2011-2022 走看看