Frank (no reg): DB - Konzept zu Adressen

Beitrag lesen

Hallo,

Wenn die nun ausfällt (Besuch absagt), hängen die Kontakte "in der Luft", es sind aber jetzt die Kollegen gefragt.

Erkläre dies bitte genauer. Entweder es gibt einen Datensatz für die Firma (und der kann von mir aus gern ein Flag haben "besuch abgesagt") oder es gibt keinen.

Behandle die Existenz von Kontakten unabhängig von ihrer realen Aktion, will heissen, es ist vollkommen Wurst ob eine ganze Firma oder einzelne Kontakte dieser Firma unabhängig absagen oder zustimmen. Die Datensätze bleiben bestehen, man kann sie dann (wie grad schon mal erwähnt) mit einer Zusatzinfo belegen "Kein Kontakt erfolgt" oder was auch immer.

A ist Kunde von B
B ist Lieferant von A

Das ist redundant (m.E.n.), Abhängigkeitsbeziehung sollten unidirektional sein (in eine eindeutige Richtung gerichtet sein - ich wollte als Kind schon mal Richter werden *harhar*). Warum, wenn du alles zulässt, kannst du sehr schwer Zirkulärreferenzen vermeiden (die u.U. zu unendlichen Schleifen führen könnten).

Grundsätzlich ist solch eine zusätzliche Zwischentabelle in deinem Fall nicht per se schlecht. Definiere eindeutige Rollen, die untergeordnete Entitäten mit der übergeordneten verbinden (z.b. Marketing, Vertriebler, Support, Manager, ...) und - ich wiederhole mich - vermeide unnötige Redundanzen.

Doch dadurch entsteht zwangsweise eine Hirarchie (2 Ebenen) in der Adresstabelle und jede Firma hat mindestens zwei Datensätze.

Erkläre das bitte ebenfalls! Bei der Hierarchie mit 2 Ebenen gebe ich dir Recht. Aber warum 2 Datensätze? Warum trennst du das nicht in 2 Entitäten (1x Firma, 1x Person) wenn du jeweils unterschiedliche Attribute hast.

Das, der oder die Ilja hat völlig Recht, man sollte nicht von anderen Projekten, die u.U. andersgeartete Anforderungen hatten, schliessen, dass deren Lösung für das aktuelle Problem a) erstmal geeignet und b) effektiv ist.

Für die Verknüpfung zwischen Person und Firma, kannst du alles nehmen, sogar 36stellige UUIDs oder 5stellige alphanumerische Codes (ALKFI = Alfred's Futterkiste). Vergib jeder Entität ihre eigene eindeutige Identifikation und nicht relativ zur übergeordneten.

Dein Postingaufkommen der letzten ca. 6 Monate hatte immer wieder  das Thema "Kontaktverwaltung", "Organisation" etc zum Thema. Ich nehme an, es ist immer dasselbe Projekt? Das zeigt allerdings auch, dass du vor dich hinfrickelst und ständig auf irgendwelche neuen Probleme stösst, die konzeptionell nicht bedacht hast. Vielleicht solltest du ein wenig mehr Aufwand in die Anforderungsanalyse stecken, dass sie nicht immer nur bis zur nächsten Kreuzung (sprich lösung des momentanen Problems) reicht, sondern noch ein oder 2 Querstrassen weiter. Macht dein Projekt nicht wirklich um 100% schneller aber den Frickelaufwand geringer.

Grüsse,
Frank