• 数据库规范化:候选码的求解


    什么是候选码?

    首先来看候选码的定义:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。

    若W是候选键,则必须满足两个条件:W的闭包是U;W没有冗余。

    准则:

    确定关系模式的候选码是进行规范化分析的出发点,有下述准则可以使用:
    关系R(U,F)中,F是最小函数依赖集。
    准则1:如果属性A只在F中各函数依赖的左端出现,则A必是码中的属性;
    准则2:如果属性A只在F中各函数依赖的右端出现,则A必不是码中的属性;

    步骤

    对于关系模式R(U,F),求F的最小函数依赖集,仍用F表示。
    根据准则1,确定码中必须有的属性集(设为M)。
    根据准则2,去掉码中没有的属性集。
    确定余下的属性集(设为W)。
    从M开始,令K=M,如果,K的闭包等于U,则K就是候选码。否则从W选择属性加入到K中,直到K的闭包等于U,K就是候选码。
    注意可能有多个候选码。

    例子

    设R(U,F),U=ABCDEG,
    F{BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A,B→D,C→D},求R的码。
    解:(1) 求得
    Fmin={B→G,CE→B,C→A,CE→G,B→D,C→D }
    (2) 只在左端出现的属性CE (M=CE)。
    (3) 只在右端出现的属性ADG。
    (4) 余下的属性B (W=B)。
    R的候选码只可能是CE、CEB。
    经计算
    在这里插入图片描述
    因此R的码是CE。

  • 相关阅读:
    kafka server.properties配置文件详解
    kafa单机版环境搭建
    zookeeper单机版安装
    Java中的String,StringBuilder,StringBuffer三者的区别
    单行溢出和多行溢出显示省略号
    SEO之网站内链优化策略
    第十三周学习笔记
    第十二周LINUX学习笔记
    第十一周LINUX 学习笔记
    第十周LINUX 学习笔记
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13308063.html
Copyright © 2020-2023  润新知