Ich habe daran gearbeitet, die Datenstruktur für eine Anwendung zu erstellen, an der ich arbeite. Eines der Dinge, die es handhaben muss, ist die Speicherung von Kunden-/Kontaktinformationen. Ich habe die Schnittstelle von ein paar verschiedenen Kontaktinformationsprogrammen wie Adressbuch, Google Mail Kontakte usw. studiert.Erstellen einer Kontaktdatenbank - Benötigen Sie eine kleine Schemainspiration
Ich habe im Grunde den Kontakt hinunter zu einer "Entität" gekocht (Individuum, Firma, Rolle, usw.).
- Jedes Entity kann mehrere Adresse, Telefon haben, E-Mail Einträge.
- Jeder von diesen definiert eine "Beziehung" (home/Arbeit/Assistent, etc.)
- Entity {1} - {Beziehung} -> {0 .. *} Daten
- Ein Entity können mehrere Felder haben, die für andere "generische" Datenfreiform-Datenspeicher sind (Geburtstage, AIM-Account, usw.)
- Entity {1} - {fieldname} -> {0 .. *} Feld Daten
- Ein Entity kann auf einen anderen Entity verknüpfen zum Beispiel als Mitarbeiter , Ehepartner
- Entity {0 .. } < - {Beziehung} -> {0 ..} Entity
Hat jemand irgendwelche SQL-Implementierungen von ähnlichen Kontaktdatenbanken getan? Irgendwelche Einblicke/Vorschläge/Fallstricke, um zu vermeiden, dass Sie mit jemandem teilen könnten, der versucht, selbst an einem Projekt zu arbeiten? Scheint das, was ich beschrieben habe, vernünftig oder zu kompliziert?
Eine Frage, sagen wir, Sie haben 4 Leute, die alle für die gleiche Firma arbeiten. Sie alle haben die gleiche "Arbeit" Telefonnummer (vielleicht mit einer anderen Erweiterung) - Wenn sich die Nummer oder Adresse für "Arbeit" ändert, würde ich gerne in der Lage sein, die Kontakte ziemlich einfach zu aktualisieren. Jetzt hängt viel davon ab, wie Sie die Datenbank verwenden würden. Ich denke, dass es darum geht, die Angestellten mit ihren jeweiligen Unternehmenseinheiten zu verbinden, aber dann ist die Adresse/Telefonnummer nicht mehr direkt mit dem Angestellten verbunden. Ich diskutiere die Beziehung zwischen Entity und Daten so, dass Sie dieselbe Adresse/Telefonnummer an mehrere Personen anhängen können. Wenn Sie sie an einem Ort aktualisieren, können Sie sie überall aktualisieren. Überlege ich das gerade? zieht Haare aus
Große Ressource folgen mit dem Link –
Danke für die Links, auf jeden Fall einige hilfreiche dort. Das Layout in diesem Bild scheint sehr ähnlich zu dem zu sein, woran ich mit der vielen/vielen Beziehung 'Customer_Addresses' gedacht habe ... Ich denke auch, dass dies die Wartung der Aktualisierung/Eingabe von Informationen übermäßig komplizieren könnte. I.E. Wie wählen Sie die "gleiche Adresse" als einen anderen Kontakt vs. duplizieren die Adresse in der Tabelle. – gnarf
@gnarf: Ich habe dieses Modell nicht benutzt oder analysiert, sorry. Ich kenne nur die Website – gbn