阿摩線上測驗 登入

申論題資訊

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

題組內容

一、假設你想替臺灣 COVID-19 的公費疫苗接種設計一個簡易資料庫,有以
下幾種實體(Entity Type):
● 疫苗(Vaccine):屬性包括名稱(name)、臨床試驗階段(phase)、製造國(madeBy),剩餘數量(amount),其中名稱和製造國合起來是唯一。
●施打輪(Round):屬性包括輪數(num)、預約開始日期(rBdate)、預約結束日期(rEdate)、施打劑量(dose),其中輪數是唯一。
● 登記人(Person):屬性包括識別號(pId)、姓名(name)、出生年月日(bDate)、性別(gender),其中識別號是唯一。
●接種站(Station):屬性包括識別號(sId)、名稱(name)、容納人數(capacity),其中識別號是唯一。
其中登記人在那一個施打輪的那一個接種站的接種日期都需記載,此外每一施打輪所用的疫苗、有那些接種站也需記載。

申論題內容

(一)請根據以上說明畫出實體關係圖(Entity Relationship Diagram),題 目沒有說明處可自行假設,但要說明清楚。

詳解 (共 1 筆)

詳解 提供者:hchungw
 +--------------+       +-------------+       +--------------+
       |  疫苗 (Vaccine)  |       |  施打輪 (Round) |       |  登記人 (Person) |
       +--------------+       +-------------+       +--------------+
       | name (PK)    |       | num (PK)    |       | pId (PK)     |
       | phase        |       | rBdate      |       | name         |
       | madeBy (PK)  |       | rEdate      |       | bDate        |
       | amount       |       | dose        |       | gender       |
       +--------------+       +-------------+       +--------------+
               |                    |                       |
               |                    |                       |
               |                    |                       |
               |                    |                       |
       +-------------+              |                       +---------------+
       | 接種站 (Station) |              |                       |     接種記錄 (VaccinationRecord)      |
       +-------------+              |                       +---------------+
       | sId (PK)    |              |                       | pId (FK)       |
       | name        |              +---------------------->| sId (FK)       |
       | capacity    |                                      | num (FK)       |
       +-------------+                                      | vDate          |
               |                                            +---------------+
               |                                                    
               |                
       +---------------+       
       | 施打輪與疫苗 (RoundVaccine) |           
       +---------------+
       | num (FK)      |   
       | name (FK)     |   
       | madeBy (FK)   |   
       +---------------+
               |
               |
       +---------------+      
       | 施打輪與接種站 (RoundStation) |        
       +---------------+
       | num (FK)      | 
       | sId (FK)      | 
       +---------------+
說明
疫苗 (Vaccine)
屬性:名稱 (name, PK)、臨床試驗階段 (phase)、製造國 (madeBy, PK)、剩餘數量 (amount)
主鍵:名稱 (name) 和製造國 (madeBy) 的組合鍵唯一識別一種疫苗。
施打輪 (Round)
屬性:輪數 (num, PK)、預約開始日期 (rBdate)、預約結束日期 (rEdate)、施打劑量 (dose)
主鍵:輪數 (num) 唯一識別一個施打輪。
登記人 (Person)
屬性:識別號 (pId, PK)、姓名 (name)、出生年月日 (bDate)、性別 (gender)
主鍵:識別號 (pId) 唯一識別一個登記人。
接種站 (Station)
屬性:識別號 (sId, PK)、名稱 (name)、容納人數 (capacity)
主鍵:識別號 (sId) 唯一識別一個接種站。
接種記錄 (VaccinationRecord)
屬性:識別號 (pId, FK)、接種站識別號 (sId, FK)、輪數 (num, FK)、接種日期 (vDate)
主鍵:識別號 (pId)、接種站識別號 (sId)、輪數 (num)、接種日期 (vDate) 的組合鍵唯一識別一個接種記錄。
外來鍵:pId 參照 Person 表,sId 參照 Station 表,num 參照 Round 表。
施打輪與疫苗 (RoundVaccine)
屬性:輪數 (num, FK)、疫苗名稱 (name, FK)、製造國 (madeBy, FK)
主鍵:輪數 (num)、疫苗名稱 (name)、製造國 (madeBy) 的組合鍵唯一識別施打輪與疫苗的關係。
外來鍵:num 參照 Round 表,name 和 madeBy 參照 Vaccine 表。
施打輪與接種站 (RoundStation)
屬性:輪數 (num, FK)、接種站識別號 (sId, FK)
主鍵:輪數 (num) 和 接種站識別號 (sId) 的組合鍵唯一識別施打輪與接種站的關係。
外來鍵:num 參照 Round 表,sId 參照 Station 表。
ERD 的關聯性和基數說明
疫苗 (Vaccine) 與 施打輪 (Round):多對多關係。每個施打輪可以使用多種疫苗,每種疫苗可以用於多個施打輪。
施打輪 (Round) 與 接種站 (Station):多對多關係。每個施打輪可以在多個接種站進行,每個接種站可以進行多個施打輪。
登記人 (Person) 與 接種記錄 (VaccinationRecord):一對多關係。每個登記人可以有多次接種記錄。
接種站 (Station) 與 接種記錄 (VaccinationRecord):一對多關係。每個接種站可以有多次接種記錄。
施打輪 (Round) 與 接種記錄 (VaccinationRecord):一對多關係。每個施打輪可以有多次接種記錄。
這樣設計的 ERD 確保了數據庫的完整性和關聯性,同時滿足了 BCNF 的要求。