一、假設有如下庭訊場地使用紀錄管理的需求,請設計符合 BCNF(Boyce- Codd Normal Form)且考量 OO(Object-Oriented)的 Enhanced-ER(EER)data model,model 中需註明合適的 primary/foreign key,及資料表彼此關聯的 maximum/minimum cardinality。(30 分)註:題目中不需要用到的資料,無須列入資料表中。.可以查詢 2023/07/01 所有庭訊大樓各庭訊室,不同時間進行的庭訊案件,查詢結果應包含案件字號、類型、庭訊地點(庭訊大樓、庭訊室 樓層、序號)。.可以查詢 2023/06/01~2023/06/30 1pm 進行的庭訊案件及庭訊地點,查詢結果應包含庭訊地點、庭訊日期時間、案件字號、案由、第幾審第幾次庭訊(審別、審次)、所有當事者姓名(自然人)或名稱(公司)、 聯絡電話、地址。.可以查詢於 2022/07/01~2023/06/30 間以未成年女性為原告(原告只要 有一人為未成年女性皆需計入)的案件,查詢結果應包含庭訊地點、 庭訊日期時間、所有原告接受庭訊時的年齡、姓名、性別。.可以查詢特定日期,以公司為原告或被告的第二審庭訊資料,查詢結果應包含庭訊地點、庭訊日期時間、公司名稱、註冊日期、資本額、營業項目、案件字號、案由、審別、審次。.可以查詢 2022 年所有使用人數容量大於 100 庭訊室的庭訊資料,查詢結果應包含庭訊地點、庭訊日期時間、庭訊室人數容量數、案件字號、案由、審別、審次。
詳解 (共 1 筆)
為了設計符合BCNF且考量OO的Enhanced-ER data model,首先我們需要確定需求,然後設計相關的資料表。資料表之間的關聯性和鍵將基於這些需求。以下是設計:
需求
- 查詢特定日期所有庭訊大樓各庭訊室不同時間進行的庭訊案件,結果包含案件字號、類型、庭訊地點。
- 查詢特定時間段內進行的庭訊案件及庭訊地點,結果包含庭訊地點、庭訊日期時間、案件字號、案由、審別、審次、當事者信息。
- 查詢特定時間段內未成年女性為原告的案件,結果包含庭訊地點、庭訊日期時間、所有原告接受庭訊時的年齡、姓名、性別。
- 查詢特定日期以公司為原告或被告的第二審庭訊資料,結果包含庭訊地點、庭訊日期時間、公司信息、案件字號、案由、審別、審次。
- 查詢特定年份內使用人數容量大於100的庭訊室的庭訊資料,結果包含庭訊地點、庭訊日期時間、庭訊室人數容量、案件字號、案由、審別、審次。
Enhanced-ER (EER) Data Model
-
CourtBuilding(庭訊大樓)
- Attributes: BuildingID (PK), Name, Address
- Relationships: 一對多 (1
) with CourtRoom
-
CourtRoom(庭訊室)
- Attributes: RoomID (PK), BuildingID (FK), Floor, RoomNumber, Capacity
- Relationships: 多對一 (N:1) with CourtBuilding, 一對多 (1
) with Hearing
-
Hearing(庭訊)
- Attributes: HearingID (PK), RoomID (FK), HearingDateTime, CaseNumber, CaseType, HearingType, HearingSequence
- Relationships: 多對一 (N:1) with CourtRoom, 多對多 (M
) with Party
-
Case(案件)
- Attributes: CaseNumber (PK), CaseType, CaseReason, HearingType, HearingSequence
- Relationships: 一對多 (1
) with Hearing
-
Party(當事者)
- Attributes: PartyID (PK), Name, ContactPhone, Address, IsCompany, DateOfBirth (if IsCompany = false), RegistrationDate (if IsCompany = true), Capital (if IsCompany = true), BusinessScope (if IsCompany = true)
- Relationships: 多對多 (M
) with Hearing, 多對多 (M) with Case
-
Hearing_Party(庭訊_當事者關係)
- Attributes: HearingID (PK, FK), PartyID (PK, FK), Role (Plaintiff/Defendant)
- Relationships: 多對一 (N:1) with Hearing, 多對一 (N:1) with Party
Relationships and Cardinality
-
CourtBuilding - CourtRoom
- Cardinality: One CourtBuilding can have many CourtRooms (1
).
- Cardinality: One CourtBuilding can have many CourtRooms (1
-
CourtRoom - Hearing
- Cardinality: One CourtRoom can host many Hearings (1
).
- Cardinality: One CourtRoom can host many Hearings (1
-
Hearing - Case
- Cardinality: One Case can have many Hearings (1
).
- Cardinality: One Case can have many Hearings (1
-
Hearing - Party
- Cardinality: One Hearing can involve many Parties, and one Party can be involved in many Hearings (M
).
- Cardinality: One Hearing can involve many Parties, and one Party can be involved in many Hearings (M
-
Case - Party
- Cardinality: One Case can involve many Parties, and one Party can be involved in many Cases (M
).
- Cardinality: One Case can involve many Parties, and one Party can be involved in many Cases (M
-
Hearing_Party
- Cardinality: Many-to-many relationship between Hearing and Party, with additional attribute to specify the role (Plaintiff/Defendant).
Data Model in Table Format
-
CourtBuilding
- BuildingID (PK)
- Name
- Address
-
CourtRoom
- RoomID (PK)
- BuildingID (FK)
- Floor
- RoomNumber
- Capacity
-
Hearing
- HearingID (PK)
- RoomID (FK)
- HearingDateTime
- CaseNumber (FK)
- CaseType
- HearingType
- HearingSequence
-
Case
- CaseNumber (PK)
- CaseType
- CaseReason
- HearingType
- HearingSequence
-
Party
- PartyID (PK)
- Name
- ContactPhone
- Address
- IsCompany
- DateOfBirth (nullable)
- RegistrationDate (nullable)
- Capital (nullable)
- BusinessScope (nullable)
-
Hearing_Party
- HearingID (PK, FK)
- PartyID (PK, FK)
- Role
這個設計符合BCNF要求,每個表格的主鍵和外鍵都清晰定義,確保了數據的完整性和一致性。該模型還考慮了面向對象的設計原則,使其更靈活和可擴展。
為了設計符合BCNF且考量面向對象的Enhanced-ER資料模型,首先需要確定需求,然後設計相關的資料表。資料表之間的關聯性和鍵將基於這些需求。以下是設計:
需求
- 查詢特定日期所有庭訊大樓各庭訊室不同時間進行的庭訊案件,結果包含案件字號、類型、庭訊地點。
- 查詢特定時間段內進行的庭訊案件及庭訊地點,結果包含庭訊地點、庭訊日期時間、案件字號、案由、審別、審次、當事者信息。
- 查詢特定時間段內未成年女性為原告的案件,結果包含庭訊地點、庭訊日期時間、所有原告接受庭訊時的年齡、姓名、性別。
- 查詢特定日期以公司為原告或被告的第二審庭訊資料,結果包含庭訊地點、庭訊日期時間、公司信息、案件字號、案由、審別、審次。
- 查詢特定年份內使用人數容量大於100的庭訊室的庭訊資料,結果包含庭訊地點、庭訊日期時間、庭訊室人數容量、案件字號、案由、審別、審次。
Enhanced-ER (EER) 資料模型
-
CourtBuilding(庭訊大樓)
- 屬性: BuildingID (PK), Name, Address
- 關係: 一對多 (1
) 與 CourtRoom
-
CourtRoom(庭訊室)
- 屬性: RoomID (PK), BuildingID (FK), Floor, RoomNumber, Capacity
- 關係: 多對一 (N:1) 與 CourtBuilding, 一對多 (1
) 與 Hearing
-
Hearing(庭訊)
- 屬性: HearingID (PK), RoomID (FK), HearingDateTime, CaseNumber (FK), CaseType, HearingType, HearingSequence
- 關係: 多對一 (N:1) 與 CourtRoom, 多對多 (M
) 與 Party
-
Case(案件)
- 屬性: CaseNumber (PK), CaseType, CaseReason, HearingType, HearingSequence
- 關係: 一對多 (1
) 與 Hearing
-
Party(當事者)
- 屬性: PartyID (PK), Name, ContactPhone, Address, IsCompany, DateOfBirth (若 IsCompany = false), RegistrationDate (若 IsCompany = true), Capital (若 IsCompany = true), BusinessScope (若 IsCompany = true)
- 關係: 多對多 (M
) 與 Hearing, 多對多 (M) 與 Case
-
Hearing_Party(庭訊_當事者關係)
- 屬性: HearingID (PK, FK), PartyID (PK, FK), Role (Plaintiff/Defendant)
- 關係: 多對一 (N:1) 與 Hearing, 多對一 (N:1) 與 Party
關係與基數
-
CourtBuilding - CourtRoom
- 基數: 一棟庭訊大樓可以有多間庭訊室 (1
)。
- 基數: 一棟庭訊大樓可以有多間庭訊室 (1
-
CourtRoom - Hearing
- 基數: 一間庭訊室可以進行多次庭訊 (1
)。
- 基數: 一間庭訊室可以進行多次庭訊 (1
-
Hearing - Case
- 基數: 一個案件可以包含多次庭訊 (1
)。
- 基數: 一個案件可以包含多次庭訊 (1
-
Hearing - Party
- 基數: 一次庭訊可以涉及多個當事者,一個當事者可以參與多次庭訊 (M
)。
- 基數: 一次庭訊可以涉及多個當事者,一個當事者可以參與多次庭訊 (M
-
Case - Party
- 基數: 一個案件可以涉及多個當事者,一個當事者可以參與多個案件 (M
)。
- 基數: 一個案件可以涉及多個當事者,一個當事者可以參與多個案件 (M
-
Hearing_Party
- 基數: 庭訊與當事者之間是多對多關係,並且有一個額外屬性指定角色 (原告/被告)。
資料模型表格格式
-
CourtBuilding
- BuildingID (PK)
- Name
- Address
-
CourtRoom
- RoomID (PK)
- BuildingID (FK)
- Floor
- RoomNumber
- Capacity
-
Hearing
- HearingID (PK)
- RoomID (FK)
- HearingDateTime
- CaseNumber (FK)
- CaseType
- HearingType
- HearingSequence
-
Case
- CaseNumber (PK)
- CaseType
- CaseReason
- HearingType
- HearingSequence
-
Party
- PartyID (PK)
- Name
- ContactPhone
- Address
- IsCompany
- DateOfBirth (nullable)
- RegistrationDate (nullable)
- Capital (nullable)
- BusinessScope (nullable)
-
Hearing_Party
- HearingID (PK, FK)
- PartyID (PK, FK)
- Role
這個設計符合BCNF要求,每個表格的主鍵和外鍵都清晰定義,確保了數據的完整性和一致性。該模型還考慮了面向對象的設計原則,使其更靈活和可擴展。