0

ERDの概念について少し混乱しています。状況は次のとおりです。独立したERDの関係

アパートがたくさんあります(多くのアパートメントがあり、それぞれにエアコン、冷蔵庫などの設備があります)。私はそれらを保守会社のエンティティと結びつけたい。ここで

は、私は現在、私が作る

MaintenanceCompany(M_ID(PK), .....) 
MaintenanceDetail(M_Detail_ID(PK), M_ID(FK), M_Type, .....) 
Apartment_Maintain(M_Detail_ID(PK/FK), Apartment_ID) 
Complex_Maintain(M_Detail_ID(PK/FK), Complex_ID) 
Equipment_Maintain(M_Detail_ID(PK/FK), Equ_ID) 

MaintenanceDetailとApartment_Maintain、Complex_Maintain、および機器間の「互いに素」重なりが維持することを行う方法です。 正しいですか?

もしそうなら、sup-entity(Apartment_Maintainのような)から関連エンティティ(Apartのようなもの)に関係(行)を戻す必要がありますか?

+0

機能要件はまだ明確ではありません。 Apartment_Maintainはアパート上の行動を意味します(Equipmentの一部とは対照的に)。Equipment_Maintainは設備上の行動を意味します。しかし、Complex_Maintainとは何ですか?なぜこれらすべてに加えてMaintenanceDetailもありますか?また、PK/FKの考え方は不明です。フィールドは、プライマリキーまたは外部キーですが、両方ではありません。 – TAM

+0

Tamが正しくありません。鍵は同時にPKとFKの両方に簡単に入れることができます。これは弱いエンティティに当てはまり、交差エンティティに当てはまります。 –

答えて

0

提案されたエンティティが何であるかはっきりしません。 "Apartment_Maintain"とは何ですか?あなたの説明から

など

は、DBの設計で私のスタートは、次のようになります。

ある
complex (id (pk), name, ...) 
apartment (id (pk), complex_id (fk), ...) 
maintenance_company (id (pk), name, ...) 
equipment (id (pk), apartment_id (fk), maintenance_company_id (fk), ...) 

、あなたはコンプレックスを持っています。あなたはアパートを持っています。各アパートメントは複合施設内にあるため、M:1の関係があります。あなたはMaintenance_companyを持っています。あなたは機器を持っています。各機器は1つのアパートメントにありますので、M:1の関係になります。機器の各部分は、1つのMaintenance_companyによって維持されるので、別のM:1の関係になります。

私は、追加のデータを保存する必要があるという要件を想像することができます。例えば、これは、どのメンテナンス会社も機器のいずれかを維持することができ、1つのアパートメントの機器は異なるメンテナンス会社によってメンテナンスされる可能性があることを前提としています。おそらくComplexesはMaintenance_companiesと契約を結んでいるので、Complex AがMaintenance_companies XとYと契約を結んでいる場合、XとYだけがComplex Aに機器を保守することができます。冷蔵庫を保守するがエアコンは保有しておらず、各社が何を維持しているのか、各装置が何であるかを把握する必要があります。その他

関連する問題