我有一个问题,他们要求我获得功能依赖,但我不完全确定我是否正确使用它们,这个主题似乎有点令人困惑,我想知道你们是否可以仔细检查我或纠正我,如果我错了!
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
答案 0 :(得分:0)
两家不同的公司不能拥有相同的公司ID
我认为这意味着Company.companyID是唯一的。 那意味着
两个不同的部门不能拥有相同的deptID
与上述相同的解释。 FD应该是显而易见的。
两个不同的城市不能拥有相同的cityID
相同的解释。同样,FD应该是显而易见的。
同一个国家/地区的两个不同城市的名称不能相同。
我认为这意味着{城市名称,国家/地区名称}是唯一的。这意味着它是一个候选键, 表示左侧有cityID的每个FD都可以在左侧重复{city name,country name}。
公司名称及其所在的城市决定公司ID。
同一公司的两个部门必须有不同的名称。
我认为这意味着部门名称不是唯一的,但{companyID,deptName} 是。这使{companyID,deptName}成为候选键。因此,左侧有Department.deptID的每个FD都可以在左侧使用{companyID,deptName}重复。
一位经理不能经营两个不同的部门。
deptMgrID是候选键。见上文。