Нужна помощь в выяснении функциональных зависимостей

У меня есть проблема, когда они просят меня получить функциональные зависимости, но я не совсем уверен, правильно ли я их понял, эта тема кажется немного запутанной, мне было интересно, не могли бы вы, ребята, перепроверить меня или исправить меня, если я неправильно пожалуйста!

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

person user2173523    schedule 03.04.2013    source источник


Ответы (1)


Две разные компании не могут иметь одинаковый идентификатор компании

Я бы интерпретировал это так, что Company.companyID уникален. Это означает

  • ID компании -> Company.companyName
  • ID компании -> Company.cityName
  • ID компании -> Company.country
  • ID компании -> Company.assets

Два разных отдела не могут иметь одинаковый идентификатор отдела.

Та же интерпретация, что и выше. ФД должны быть очевидны.

Два разных города не могут иметь одинаковый идентификатор города.

Та же интерпретация. Опять же, FD должны быть очевидны.

Два разных города в одной стране не могут иметь одинаковое название.

Я бы интерпретировал это так, что {название города, название страны} является уникальным. Это означает, что это ключ-кандидат, и это означает, что каждый FD, который имеет идентификатор города слева, может повторяться с {название города, название страны} слева.

Название компании и город, в котором она расположена, определяют идентификатор компании.

  • название компании, название города, страна -> идентификатор компании

Два отдела в одной компании должны иметь разные названия.

Я бы интерпретировал это так, что название отдела не уникально, а {companyID, deptName} уникально. Это делает {companyID, deptName} ключом-кандидатом. Таким образом, каждый FD, который имеет Department.deptID в левой части, может повторяться с {companyID, deptName} в левой части.

Один менеджер не может управлять двумя разными отделами.

deptMgrID — ключ-кандидат. См. выше.

person Mike Sherrill 'Cat Recall'    schedule 30.05.2013