国开《数据库基础与应用》第三章 3-2-2: 最小函数依赖集
3-2-2: 最小函数依赖集
定义:设一个关系为R(U),X和Y为U的子集,若X→Y为完全函数依赖,同时Y为单属性,则称X→Y为R的最小函数依赖。由R中所有最小函数依赖构成R的最小函数依赖集,并且在最小函数依赖集中不允许包含有冗余的传递函数依赖。
例如:设一个关系为R(A,B,C,D),它的函数依赖集为FD={A→B,B→C,A→C,B→D},判断它是否为R的最小函数依赖集。
分析:由FD中的A→B和B→C可得到A→C,所以给出的A→C是冗余的,应去掉。原FD不是R的一个最小函数依赖集,若修改为FD={A→B,B→C,B→D},就成为R的最小函数依赖集。
又如:给出上面已经介绍过的职工关系(职工号,姓名,性别,年龄,职务),教师任课关系(教工号,姓名,职称,课程号,课程名,课时数,课时费)和学生关系(学号,姓名,性别,系号,系名,系主任名),求出它们的最小函数依赖集。
分析:设它们的最小函数依赖集依次用FD1、FD2和FD3表示,由以前对它们每个关系的函数依赖分析可以得出如下:
FD1={职工号→姓名,职工号→性别,职工号→年龄,职工号→职务}
FD2={教工号→姓名,教工号→职称,课程号→课程名,课程号→课时数,(职称,课程号)→课时费}
FD3={学号→姓名,学号→性别,学号→系号,系号→系名,系号→系主任名}