zoukankan      html  css  js  c++  java
  • 数据库关系模式函数依赖、键、范式的基本概念

    首先理解几个概念, 
    函数依赖:设R(U)是属性集上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不能存在两个元组在X上的属性值星等,而在Y上的属性值不等,即是说这里X可以唯一确定Y,则称,X函数确定Y或Y函数依赖于X,记作X–>Y。 
    完全函数依赖:在R(U)中,如果X–>Y,并且对于X的任何一个真子集X‘,都有X’-/->Y,记作 X-f->Y; (f为箭头的上标) 
    部分函数依赖:若X–>Y,但Y不完全依赖于X,则称Y对X部分函数依赖。X-p->Y 
    传递函数依赖:在R(U)中,如果X–>Y(Y不真含于X,也即X不真包含Y),Y-/->X, 
    Y–>Z,Z不真含于Y,则称Z于X传递函数依赖。记作,X-传递->Z

    另外码(键)的概念,参考 
    https://blog.csdn.net/liushuijinger/article/details/12832017

    几种范式定义: 
    2NF,若R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R属于2NF。

    3NF,设关系模式R<U,F>属于1NF,若R中不存在这样的码X,属性Y以及非主属性Z(Z不真包含Y)使得X-->Y,Y-->Z成立,Y-/->X,则R<U,F>属于3NF。
    BCNF,关系模式R<U,F>属于1NF,若X-->Y且Y不真包含于X时X必含有码,则R<U,F>属于BCNF。也就是说关系模式R中,每一个决定因素都包含码。满足BCNF的关系模式具备的条件:
    1)所有非主属性对每一个码都是完全函数依赖
    2)所有主属性对每一个不包含它的码也就是完全函数依赖
    3)没有任何属性完全函数依赖于非码的任何一组属性
  • 相关阅读:
    random、shutil、shevle、标准输入输出错误流
    Python中Json 和 pickle 详解
    Python 中的sys、os、os.path模块总结
    Python 中time,calendar,datatime模块总结
    包的概念和导入包的方法
    Python 中模块及其导入方式
    迭代器和生成器
    python 函数参数
    JAVA 配置Path环境变量
    腾讯云服务器简单配置web项目
  • 原文地址:https://www.cnblogs.com/zhoading/p/10928770.html
Copyright © 2011-2022 走看看