我目前正在为一个大学项目工作,现在我对功能依赖部分有些困惑。对于这个项目,我必须根据自己的项目规范创建一个逻辑数据模型,并确定功能依赖性。
例如,我为“用户”表赋予了以下属性。
R(用户名,用户名,regDate,类型,订阅)
主键: user_id
唯一 key :用户名
外键:订阅
示例数据集可能类似于:
我不了解的部分是如何确定功能依赖性。我最初的感觉是有两个功能依赖项,分别是:
user_id->用户名,regDate,类型,订阅
用户名-> user_id,regDate,类型,订阅
但是,看一下幻灯片中的其他示例,我怀疑这是否正确。
最佳答案
如果“用户名”既是唯一的又是必需的(唯一且不为null),则为候选键。在关系建模中,一个候选键和另一个候选键之间在理论上没有区别。更具体地说,在关系建模中,没有理论上的理由来选择一个候选键并将其标记为“主键”。 key 就是 key 。
所以你是对的。这里有两个功能依赖性。 (或8,如果将右侧分解为单独的列。user_id -> username
,user_id -> regDate
等)
关于database - 如何确定功能依赖性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14123427/