zoukankan      html  css  js  c++  java
  • 数据库-求候选关键字

    这类题目都是给定关系模型,求候选关键字.

     题型:

    这种给定关系模式和函数依赖的题目 ,做法大致有三步:

    1、根据关系模式和函数依赖画出有向图.

    2、找出是否有入度为0(即是没有任何元素可以推出他的元素),然后尝试是否可以从这个元素开始,随着箭头来遍历这个图,看看是否是哪一个元素都能遍历的到,

    如果能够遍历的到的话,就可以判断这个关系的候选关键字为这个元素了.

    3、如果没有入度为0的可以去找找不仅有入度的,还有出度的元素,然后从他开始遍历判断.

    4、元素不是只能有一个结点,可以由多个结点组合为候选关键字.

     

     

     从这个图上可以看到入度为0的只有A1,从A1->A2->A3->A4,发现a1可以遍历全部结点,所以这道题的候选关键字是A1

     这里可以看到入度为0的结点有A、B、C、D结点,这里尝试遍历会发现单个结点是无法把全图遍历的,所以这里的候选关键字是多个元素组合的,

    I、J只能由C推出,E只能由ABD组合推出,所以关系模式P的候选码为:ABCD组合候选关键字.

     这里并没有看到有入度为0的元素,所以只能从不仅有入度的,还有出度的元素中寻找,这里有A和B,使用他们遍历发下他们都可以单独遍历全图,所以A和B是关系R的候选关键字

  • 相关阅读:
    【2019/3/23】周进度报告
    第十周总结
    程序员修炼之道-从小工到专家阅读笔记01
    第九周总结
    用户模板和用户场景
    一维数组最大子数组续
    程序员的自我修养阅读笔记03
    第八周总结
    NABCD项目分析
    第七周总结
  • 原文地址:https://www.cnblogs.com/youjunhui/p/15400226.html
Copyright © 2011-2022 走看看