0

我有一个问题,他们要求我获取功能依赖项,但我不完全确定我是否正确理解了它们,这个话题似乎有点令人困惑,我想知道你们是否可以再次检查我或纠正我,如果我是错了请!

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
4

1 回答 1

0

两个不同的公司不能有相同的公司 ID

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

  • companyID -> Company.companyName
  • companyID -> Company.cityName
  • 公司ID -> 公司.国家
  • companyID -> Company.assets

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

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

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

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

同一个国家的两个不同的城市不能有相同的名字。

我将其解释为 {city name, country name} 是唯一的。这意味着它是一个候选键,意味着左侧具有 cityID 的每个 FD 都可以与左侧的 {city name, country name} 重复。

公司名称和它所在的城市决定了公司 ID。

  • 公司名称、城市名称、国家/地区 -> 公司 ID

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

我将其解释为部门名称不是唯一的,但 {companyID, deptName}. 这使得 {companyID, deptName} 成为候选键。因此,左侧具有 Department.deptID 的每个 FD 都可以与左侧的 {companyID, deptName} 重复。

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

deptMgrID 是候选键。看上面。

于 2013-05-30T12:01:19.003 回答