数据库-求候选关键字

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

 题型:

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

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

原文地址:https://www.cnblogs.com/youjunhui/p/15400226.html