需要帮助找出功能依赖性

时间:2013-04-03 13:03:33

标签: functional-dependencies

我有一个问题,他们要求我获得功能依赖,但我不完全确定我是否正确使用它们,这个主题似乎有点令人困惑,我想知道你们是否可以仔细检查我或纠正我,如果我错了!

Company(companyID, companyName, cityName, country, assets)
Department(deptID, deptName, companyID, cityName, country, deptMgrID)
City(cityID, cityName, country)

-Two different companies cannot have the same company ID
-Two different departments cannot have the same deptID
-Two different cities cannot have the same cityID
-Two different cities in the same country cannot have the same name.
-The company name and the city it’s located in determine the company ID.
-Two departments in the same company must have different names.
-One manager cannot run two different departments.

这些是我提出的FD:

companyID -> companyName,cityName,country,assets
deptID -> deptName,companyID,cityName,country,deptMgrID
cityID -> cityName,country
country,cityID -> cityName
companyName,cityName -> companyID
deptID -> deptMgrID
deptID,country -> deptName

1 个答案:

答案 0 :(得分:0)

  

两家不同的公司不能拥有相同的公司ID

我认为这意味着Company.companyID是唯一的。 意味着

  • companyID - > Company.companyName
  • companyID - > Company.cityName
  • companyID - > Company.country
  • companyID - > Company.assets
  

两个不同的部门不能拥有相同的deptID

与上述相同的解释。 FD应该是显而易见的。

  

两个不同的城市不能拥有相同的cityID

相同的解释。同样,FD应该是显而易见的。

  

同一个国家/地区的两个不同城市的名称不能相同。

我认为这意味着{城市名称,国家/地区名称}是唯一的。这意味着它是一个候选键, 表示左侧有cityID的每个FD都可以在左侧重复{city name,country name}。

  

公司名称及其所在的城市决定公司ID。

  • companyName,cityName,country - > companyID
  

同一公司的两个部门必须有不同的名称。

我认为这意味着部门名称不是唯一的,但{companyID,deptName} 。这使{companyID,deptName}成为候选键。因此,左侧有Department.deptID的每个FD都可以在左侧使用{companyID,deptName}重复。

  

一位经理不能经营两个不同的部门。

deptMgrID是候选键。见上文。