0

Ich bin ein wenig verwirrt über das ERD-Konzept. Die Situation ist wie folgt.Disjoint ERD Beziehung

Es ist ein Apartment-Komplex (es hat viele Wohnungen; Jeder von ihnen hat Ausrüstung - wie Klimaanlage, Kühlschrank, etc). Ich möchte sie mit einer "Wartungsfirma" verbinden. Hier

ist die Art und Weise, die ich zur Zeit tun, dass

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) 

Ich mache ‚disjunkt‘ Überlappung zwischen MaintenanceDetail und Apartment_Maintain, Complex_Maintain und Ausrüstung pflegen. Ist es richtig?

Wenn ja, muss ich die Relation (Linie) von sup-entity (wie Apartment_Maintain) zurück zu ihrer assoziierten Entität (wie Apart) verbinden?

+0

Die funktionalen Anforderungen sind noch nicht klar. Ich kann vermuten, dass Apartment_Maintain Aktionen im Apartment bedeutet (im Gegensatz zu einigen Geräten), während Equipment_Maintain Aktionen auf einem Gerät bedeutet. Aber was ist Complex_Maintain? Warum hat MaintenanceDetail zusätzlich zu all diesen? Auch der Begriff PK/FK ist unklar: Ein Feld kann ein primärer oder ein Fremdschlüssel sein, aber nicht beides. – TAM

+0

Tam ist nicht korrekt. Ein Schlüssel kann gleichzeitig PK und FK sein. Dies trifft auf schwache Entitäten zu, und dies gilt auch für Schnittpunktsentitäten. –

Antwort

0

Es ist nicht klar, was Ihre vorgeschlagenen Entitäten sind. Was ist "Apartment_Maintain"?

usw.

Aus Ihrer Beschreibung, mein Start in einem DB-Design wäre:

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), ...) 

Das heißt, Sie Komplexe haben. Du hast Wohnungen. Jede Wohnung ist in einem Komplex, also gibt es eine M: 1-Beziehung. Sie haben Maintenance_company's. Du hast Ausrüstung. Jedes Gerät befindet sich in einem Apartment, also ist es eine M: 1-Beziehung. Jedes Equipment wird von einer Maintenance_company verwaltet, das ist eine weitere M: 1-Beziehung.

Ich kann mir vorstellen, Anforderungen, die dazu führen würden, dass zusätzliche Daten gehalten werden müssen. Dies setzt beispielsweise voraus, dass jede Maintenance_company ein Equipment pflegen kann und dass die Equipments in einem Apartment von verschiedenen Maintenance_companies gepflegt werden können. Vielleicht haben Complexes Verträge mit Maintenance_companies, so dass, wenn beispielsweise Complex A einen Vertrag mit Maintenance_companies X und Y hat, nur X und Y Equipment in Complex A verwalten können. Oder vielleicht unterhalten Unternehmen nur bestimmte Arten von Ausrüstung, wie eine Firma Wartung Kühlschränke, aber keine Klimaanlagen, und Sie müssen verfolgen, was jedes Unternehmen und was jedes Gerät ist. Usw.