Database-Design
需要機場數據庫設計指南
我正在嘗試為機場管理創建一個通用數據庫,DBMS 將是 oracle 11g xe。因為,我是業餘愛好者並且仍在學習,所以我試圖在涉及有限實體的情況下保持問題陳述的簡單性:
機場服務於一個城市,但每個城市可能都沒有機場。航空公司在其覆蓋的機場設有辦事處(售票亭),因此一個機場可能有許多航空公司辦事處。機場可容納飛機,飛機可能屬於也可能不屬於某家航空公司(考慮私人飛機)。機場可能有一條或多條跑道。跑道有名稱和長度。每個機場都有一名經理。經理可以交叉查看其他數據,但他只能在他的腰帶下更改機場的數據 - 我認為這將通過使用“APEX”的前端應用程序應用。
這是我到目前為止工作的關係模式:
City (CityID{PK}, CityName, CountryName) Airport (AirportID{PK},AirportName, ICAO, IATA,ManagerID{FK},CityID{FK}) AirportRunway (AirportID{FK}, RunwayID{FK}, RunwayName, length) Airline (AirlineID{PK}, AirlineName, IATA, ICAO) AirportAirlineOffice (AirlineID{FK}, AirportID{FK}) both foreign keys make a primary key. Airplane (AirplaneID, Model, Make, AirlineID{FK}) Manager (ManagerID{PK}, username, password, ManagerName)
考慮到我要實施的內容,我對經理關係感到困惑。我是否也需要與其他實體建立經理關係?我需要將 AirlineOffice 設為實體還是它本來就很好。我需要做哪些更改才能將此模式轉換為第三規範化形式!
編輯:這是我的 ERD:
你提到每個機場都有一個經理,所以經理表應該有 AirportID 作為 FK。Office 表應將 AirportId 和 AirlineID 作為 FK