zoukankan      html  css  js  c++  java
  • SQL基础(巧记范式)

    第一范式介绍:

    如果关系模式R中的所有属性都是基本属性,即每个属性都是不可分的,那么R属于第一范式
    例:表中的高级职称人数(含有“教授”和“副教授”这两个基本属性组成),所以它不是基本属性,所有不属于第一范式。

    第二范式简介:

    如果R属于第一范式,且每个非主属性完全依赖于主码,就属于第二范式

    例:score表中的(sno,cno,grade),主键由sno,cno 共同组成,grade完全依赖于主键,所以score表属于第二范式

    S-L-C(sno,sname,ssex,sdept,sloc,cno,grade) 由于sname依赖于sno 而不是依赖于sno和cno的联合主键,所以S-L-C表不符合第二范式

    分解主键,然后将只有主键构成的子集删除

    S-L-C(sno,sname,ssex,sdept,sloc,cno,grade)
    分解:
    (sno,sname,ssex,sdept,sloc)
    (cno)
    (sno,cno,grade)

    去除只有主键的子集
    得:
    (sno,sname,ssex,sdept,sloc)
    (sno,cno,grade)

    第三范式简介:

    如果关系模型属于第二范式,且每个非主属性都不传递依赖于主码 ,则该关系模型R属于第三范式
    例如:S-L(sno,sname,ssex,sdept,sloc)
    其中 sdept依赖于sno,sloc依赖于sdept,所以存在传递依赖
    固进行分解:
    (sno,sname,ssex,sdept)
    (sdept,sloc)
    (sno,cno,grade)

    BC范式简介:

    这是一种为了解决第三范式的冗余性问题和更新的问题提出的


    例子:
    csz(city,street,zip)
    城市,街道,邮编
    zip依赖于(city、street)
    city依赖于zip
    所以进行分解
    ZC(zip,city)
    SZ(street,city)

  • 相关阅读:
    ios9 键盘使uiwindow上移
    UIStackView在UITableviewCell中
    uitableviewcell侧滑删除等
    系统设置
    UIImagePickerController 导航样式调整
    设置frame时,大小在不同型号手机上不同
    storyBoard Reference 的坑
    uitableview 滚回顶部
    swift格式化输出
    UIAlertController
  • 原文地址:https://www.cnblogs.com/Stakes-ds/p/8443341.html
Copyright © 2011-2022 走看看