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

2 つの異なる会社が同じ会社 ID を持つことはできません

これは、Company.companyID が一意であることを意味すると解釈します。つまり_

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

2 つの異なる部門が同じ deptID を持つことはできません

上と同じ解釈。FD は明白であるべきです。

2 つの異なる都市が同じ都市 ID を持つことはできません

同じ解釈。繰り返しますが、FD は明らかなはずです。

同じ国の 2 つの異なる都市に同じ名前を付けることはできません。

これは、{都市名、国名} が一意であることを意味すると解釈します。これは候補キーであることを意味し、左側に cityID を持つすべての FD は、左側に {city name, country name} を使用して繰り返すことができることを意味します。

会社名とその所在地の都市によって、会社 ID が決まります。

  • companyName、cityName、country -> companyID

同じ会社の 2 つの部門は異なる名前でなければなりません。

部門名は一意ではないが、{companyID, deptName}. これにより、{companyID, deptName} が候補キーになります。したがって、左側に Department.deptID を持つすべての FD は、左側に {companyID, deptName} を使用して繰り返すことができます。

1 人のマネージャーが 2 つの異なる部門を運営することはできません。

deptMgrID は候補キーです。上記を参照。

于 2013-05-30T12:01:19.003 に答える