阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 高等考試_二級_資訊處理:高等資料庫設計#91516
科目:高等資料庫設計
年份:109年
排序:0

題組內容

一、某航空公司的一趟飛機(Airplane)飛行(Fly)會有多個機組員(Crew)以不同角色(Role)參與,飛行記錄有起飛地點名(Origin)、起飛時間(DepTime)、到達時間(ArrTime)、到達目的地(Destination)、里程(Miles)。時間均精確到「秒」 。機組員團隊有不同的編號(CID) 、姓名(CName),飛機有不同的編號(ANO)、型號(Model)。下圖是某設計師所繪製的實體關係圖(ER 圖,Entity-Relationship Diagram),其中每一實體(矩形)鄰近某關係(菱形)間均有一對(min,max)的限制,代表該實體參與該關係之 min(至少) 、max(至多)次數限制,*代表沒有限制。屬性劃實底線者(有 CID、ANO、DepTime)為 Primary Key(主鍵)的一部分。
下面答題,除了原圖中所示的英文屬性外,不得再假設任何其他屬性。 要求:
5f71882095c4b.jpg

(二)請將此 ER 圖轉化成關聯式資料庫綱要(Schema)。
(三)上述(二)的 Schema,若不是在第三正規化(3rd Normal Form),請將其轉為符合第三正規化關聯式資料庫綱要。
(四)請評估此設計師的 ER 圖是否正確?如不是,請說明其問題,並請另繪出你建議的 ER 圖。

申論題內容

(二)請將此 ER 圖轉化成關聯式資料庫綱要(Schema)。

詳解 (共 1 筆)

詳解 提供者:hchungw
根據提供的 ER 圖,我們將其轉化為關聯式資料庫綱要(Schema)。以下是每個實體和關聯的轉化細節:
實體及其屬性
Crew(機組員)
屬性:CID, CName
主鍵:CID
Airplane(飛機)
屬性:ANO, Model
主鍵:ANO
關聯及其屬性
Fly(飛行)
屬性:CID, ANO, DepTime, Origin, Dest, ArrTime, Miles, Role
主鍵:CID, ANO, DepTime
外鍵:CID 參考 Crew(CID), ANO 參考 Airplane(ANO)
關聯式資料庫綱要(Schema)
Crew
sql
複製程式碼
CREATE TABLE Crew (
    CID INT PRIMARY KEY,
    CName VARCHAR(255)
);
Airplane
sql
複製程式碼
CREATE TABLE Airplane (
    ANO INT PRIMARY KEY,
    Model VARCHAR(255)
);
Fly
sql
複製程式碼
CREATE TABLE Fly (
    CID INT,
    ANO INT,
    DepTime TIMESTAMP,
    Origin VARCHAR(255),
    Dest VARCHAR(255),
    ArrTime TIMESTAMP,
    Miles INT,
    Role VARCHAR(255),
    PRIMARY KEY (CID, ANO, DepTime),
    FOREIGN KEY (CID) REFERENCES Crew(CID),
    FOREIGN KEY (ANO) REFERENCES Airplane(ANO)
);
說明
Crew 表:存儲機組員信息,每個機組員有唯一的 CID 作為主鍵。
Airplane 表:存儲飛機信息,每架飛機有唯一的 ANO 作為主鍵。
Fly 表:存儲飛行記錄,包括起飛地點、到達地點、里程、角色等信息。主鍵是由 CID, ANO 和 DepTime 組成,這保證了每次飛行記錄的唯一性。CID 和 ANO 分別作為外鍵參考 Crew 和 Airplane 表。
這樣的設計能夠完整地表示 ER 圖中的所有信息,同時保證數據的一致性和完整性。