这是我的ERD:

我试图使这个ERD正常化,以下是我迄今所做的工作:
Country(CountryID{PK}, CountryName)
City (CityID{PK}, CityName, CountryID{FK})
Manager (username{PK}, password, ManagerName)
Airport (AirportID{PK}, AirportName, ICAO, IATA, ManagerUserName{FK}, CityID{FK})
Airline (AirlineID{PK}, AirlineName, IATA, ICAO)
AirportAirlineOffice (AirlineID{FK}, AirportID{FK}, Officeno) both FK = PK
Airplane (AirplaneID{PK}, Model, Make, AirlineID{FK}, AirportID{FK})我试图正常化到第三范式,所以基本上我试图实现功能依赖和消除过渡依赖。我有些问题让我很困惑:
问候
发布于 2014-05-18 19:07:00
1.如果你把这些(制造,型号)放在这个表(飞机)里,那就没问题了。
2&3.如果您传输这些代码标识符,您将不得不使用FK,但如果您不使用,这将不会是一个问题的3NF。
4.您在机场表中使用了ManagerID,但是Manager表中没有名为ManagerID的列。因此有两个选项- (1)您可以在机场表中使用用户名作为外键,或者(2)在Manager表中,您可以使用ManagerID作为主键和用户名作为惟一键。
https://stackoverflow.com/questions/23725152
复制相似问题