gpt4 book ai didi

database - 我找到所有的功能依赖了吗?

转载 作者:搜寻专家 更新时间:2023-10-30 23:12:04 25 4
gpt4 key购买 nike

翻阅一本旧教科书以更好地掌握数据库概念,我不确定我是否理解以下内容。谁能确认或解释我可能做错了什么?

最佳答案

我发现这是模棱两可和误导性的,所提供的数据无济于事;看来例子中的大多数人都喜欢见自己。

  1. Employee from a particular Project attended a meeting on a given Date.

  2. Project meets at most once per day.

  3. Only one Employee represents a given project, but that Employee can be assigned to multiple Projects.

  • Q1:这是一个项目的 session ,还是来自不同项目的人的 session ?

  • Q2:什么是项目?这是否意味着在给定的一天可以有一系列的项目 session ,或者当天所有项目只开一次 session ?举个例子,(Tim, FQLIMS, '8/4/2013') , (Tim, MSFCCS, '8/4/2013');那天 Tim 是代表两个项目参加了一次 session ,还是参加了两个项目 session ?

  • Q3:分配了什么?代表一个项目与被分配给它一样吗?是每个项目一个人,还是一个项目负责人和更多的人分配给它?

所以,有不止一种解释{Employee, Project, Date}的方法,这里是我看到的两个版本:

  1. 项目由员工代表参加了日期的员工 session 。

  2. 员工参加了日期的项目 session 。

显然数据集不够,每个项目只列出一次,而限制允许每天开会一次。不可能从这样的数据集中声明功能依赖性,因此必须使用约束的语义,在这个例子中它是模棱两可的。

我会选择版本 1,因为小数据集支持它。


版本 1

项目在某个日期由员工代表参加员工 session 。

1.0 项目由员工代表。

每个项目仅由一名员工代表。同一员工代表多个项目是可能的。

这显然意味着 FD {Project} -> {Employee}

1.1 项目派代表参加了某个日期的员工 session 。

每个项目在给定日期 Date 最多代表一次员工 session 。

这导致

PrjEmp {Project, Employee}  -- Project is represented by Employee
KEY {Project}

Meeting {Project, Date} -- Project was represented at staff meeting on Date.
KEY {Project, Date}

关于database - 我找到所有的功能依赖了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com