在设计关系数据库的表格时,术语“函数依赖”(FD)被用来表示不同域之间的关系。函数依赖是描述一个集合中的域的值与另一个集合中的域的值之间的关系。记号 被用来表示当集合 中的域被赋值后,集合 的域就可以确定相应的值。例如,一个数据表格包含“社会治安编号”()、“姓名”()、“地址”()、“电话”()的域,并且每个人都与某个特定的互不相同的 值相对应,根据域 就可以确定域 、 、 的值。这就记作 。
写一个程序以找出一组依赖中所有的冗余依赖。一个依赖是冗余的是指它可以通过组里的其他依赖得到。例如,如果组里包括依赖 、 和 ,那么第三个依赖是冗余的,因为域 可以用前两个依赖得到(域 确定了域 的值,同样域 确定了域 的值)。在 、 、 、 、 和 中,所有的依赖都是冗余的。
现在要求你编写一个程序,从给定的依赖关系中找出冗余的。