多值依赖

MySQL · 关系模型的基本术语

人盡茶涼 提交于 2020-03-20 08:30:43
关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段/分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:关系的描述,表示为:关系名(属性列表)     例如:学生(学号,姓名,性别,年龄,系别) 关系的约束:域完整性约束,实体完整性约束,参照完整性约束 一、关系依赖 函数依赖: X—>Y,即X函数决定Y,或Y函数依赖于X。 例:学号—>姓名      #学号决定姓名 平凡函数依赖: X—>Y,但X包含Y (Y包含于X)。 例:(学号,课号)—>课号   #课号存在于 (学号,课号) 之中。 非平凡函数依赖: X—>Y,但X不包含Y。 例:(学号,课号)—>成绩   #成绩不存在于 (学号,课号) 之中。 完全函数依赖: X—>Y,对于X的任意一个真子集X'都有X'不能函数决定Y。 例:(学号,课号)—>成绩   #只有学号或姓名无法决定成绩,二者缺一不可。 部分函数依赖: X—>Y,存在 X的某一个真子集X'能够函数决定Y。 例:(学号,课号) —>姓名  # 只有学号就能决定姓名,课号为冗余项。 传递函数依赖: X—>Y,X不包含Y,Y不函数决定X,Y—>Z, 即Z对X传递函数依赖。 例:学号—>系号,(系号不函数决定学号) ,系号—>系主任,则系主任传递函数依赖于学号。 多值依赖: X—>—>Y,设R