zoukankan      html  css  js  c++  java
  • 数据库范式

    1. 概念:

    关系模式R<U,F>:U表示属性集合,F表示依赖集合,F主要有两种依赖:函数依赖和多值依赖MVD,【关系模式】理解为数据表,而【关系】可以理解为表中一条记录。

    函数依赖:X,Y是是属性集合U的子集,关系模式R中的任意关系r1,r2,都不存在r1,r2中X相同,而Y不同的情况则认为“Y函数依赖于X”或者说“X确定Y”,,符号说明:X->Y。

    非平凡函数依赖:X->Y且Y不是X子集。

    平凡函数依赖:X->Y且Y是X子集。平凡函数依赖必然成立,因此一般考虑的都是非平凡函数依赖。

    若X->Y,Y->X,则符号表示为:X <- -> Y。

    完全函数依赖:z是符号说明:X -f-> Y。

    部分函数依赖:符号说明:X -p-> Y。

    候选码:K是U的一个子集,如果K -f-> U ,则K为关系模式R的候选码。候选码可能有多个,从中选择一个作为主码。候选码中的属性称为主属性,其它为非主属性

    主码:某个候选码。

    外码:K是U的一个子集,但是不是R的主码,却是另一个关系模式R'的主码,则K是关系模式R的外码。

    2. 范式:

    1NF:关系模式R<U,F>中的所有属性都不可再分割,则满足1NF。

    2NF:R<U,F>属于1NF,且非主属性完全依赖于码,则满足2NF。

    举例:Sno,学号;Sdept,部门;Sloc,宿舍;Grade,成绩。

    如下图所示,图a满足第一范式,但是因为存在非主属性部分依赖于码,因此2NF,而将图a.进行拆分形成图b.图c.,则图b.图c.满足2NF。

    3NF:R<U,F>属于2NF,且非主属性不存在传递依赖于码,则满足3NF。

    如上图c.所示因为存在Sloc传递依赖于Sno,因此图c.不满足3NF,按照如下分解图c.则满足3NF。

    S-D(Sno,Sdept)

    D-L(Sdept,Sloc)

  • 相关阅读:
    11.10 日志
    1120day户别确认
    10.28代码
    hdu 1695 GCD (莫比乌斯反演)
    8月19日
    多态在子父类中的成员上的体现的特点
    JAVA学习日报 10/29
    JAVA学习日报 10/26
    JAVA学习日报 11/2
    JAVA学习日报 10/30
  • 原文地址:https://www.cnblogs.com/wrencai/p/5664231.html
Copyright © 2011-2022 走看看