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的候选关键字

  • 相关阅读:
    vue改变了数据却没有自动刷新
    Unable to find vcvarsall.bat
    修改Linux用户配置之后先验证再退出
    平面最远点对
    [转]你可能不知道的五个强大HTML5 API
    sqlite3常用技巧
    使用rsync
    画图必备numpy函数
    np.percentile获取中位数、百分位数
    [转]numpy 100道练习题
  • 原文地址:https://www.cnblogs.com/youjunhui/p/15400226.html
Copyright © 2011-2022 走看看