Frage

Ich arbeite auf die Datenstruktur für eine Anwendung Auslegen ich arbeite. Eines der Dinge, müssen sie zu handhaben ist Kunde / Kontaktinformationen zu speichern. Ich habe das Studium der Schnittstelle von ein paar verschiedene Kontaktinformationen Programme wie Adressbuch, gmail Kontakte usw.

Ich habe gekocht grundsätzlich den Kontakt nach unten auf eine „Einheit“ (Person, Unternehmen, Rolle, etc).

  • Jeder Entity können mehrere gibt Adresse , Telefon , E-Mail Einträge.
    • Jeder von ihnen definiert eine "Beziehung" (home / Arbeit / Assistenten, etc.)
    • Entity {1} - {Beziehung} -> {0 .. *} Daten
  • Ein Entity können mehrere Felder , die Freiform-Datenspeicher für andere "generic" Daten sind (Geburtstage, AIM-Account, usw.)
    • Entity {1} - {fieldname} -> {0 .. *} Feld Daten
  • Ein Entity Verknüpfung kann auf einen anderen Entity zum Beispiel als Mitarbeiter Ehepartner
    • Entity {0 .. } <- {Beziehung} -> {0 .. } Entity

Hat jemand eine SQL-Implementierungen von ähnlichen Kontaktdatenbanken getan? Einsicht / Anregungen / Fallen zu vermeiden, dass Sie mit jemandem teilen könnten versuchen, an einem Projekt arbeiten, indem sie mich hier? Tut, was ich beschrieben habe, scheint vernünftig oder kompliziert?

Eine Frage, können Sie sagen haben 4 Leute, die arbeiten alle für die gleiche Firma. Sie alle haben die gleiche „Arbeit“ Telefonnummer (vielleicht mit einer anderen Erweiterung) - Wenn die Nummer oder Adresse für „Arbeit“ Veränderungen, ich möchte in der Lage sein, die Kontakte relativ leicht zu aktualisieren. Nun viel dies kommt darauf an, wie Sie die Datenbank verwenden würden. Ich denke, dass dies eine Angelegenheit wird Mitarbeiter der Verknüpfung ihrer jeweiligen Unternehmenseinheiten, aber dann wird die Adresse / Telefonnummer wird nicht mehr direkt an die Arbeitnehmer verbunden ist. Ich debattieren Art der Entity / Datenbeziehung machen viele zu viele so dass Sie die gleiche Postanschrift / Telefonnummer an mehrere Personen befestigen, und es an einem Ort der Aktualisierung kann es in allen Orten aktualisieren. Bin ich denke nur über das? zieht Haar

War es hilfreich?

Lösung

Es ist ein bisschen abgedroschen, aber Sie müssen Ihre Daten wissen, und was du damit zu tun, bevor Sie denken Tabellen beginnen.

Ich würde vorschlagen, Blick auf Role Modeling (oder diese auch) das Modell in einfachem Englisch zu definieren, bevor Sie tatsächlich alle Tabellen implementieren. Ich benutze diese VS-Plugin. NORMA , die auch ein Schema für Sie generieren

Alternativ gibt es eine Reihe von Datenmodelle hier dass Sie begeistern können. Dies ist „Contact Management“ aber es gibt andere, wie zum Beispiel des „Kunden“ Abschnitt

(Ich wollte nur ein Bild schreiben ..) Contact Management
(Quelle: databaseanswers.org )

Andere Tipps

Dies ist nur mit Ihrer zweiten Frage zu helfen; wo Telefonerweiterung gehört eigentlich zwischen Person und Gesellschaft Entitäten Beziehung.

Microsoft bietet eine Reihe von Starter-Datenbanken Schemata, einschließlich Assets Wartung, Kontakt-Management, Kunden und Bestellungen, Dokumentenmanagement, E-Commerce, Help Desk, Issue-Tracking-Software, Einzelhandel Inventory Control und Produktkataloge. Siehe Starter Database Schemen .


EDIT (April 2016): Es erscheinen die Microsoft Webmaster den Link brach. Hier ist das Wayback Machine-Archiv der Seite.

Ein paar Punkte, die in meiner Erfahrung auftauchen neigen ..

Betrachten gegenseitige Beziehungen. Zum Beispiel, wenn jemand als Mitarbeiter eines Unternehmens definiert ist, dann ist das Unternehmen definitionsgemäß dann der Arbeitgeber der betreffenden Person.

Erwägen Sie Adressen als Entitäten in sich selbst, oder nur als freier Text mit einer Person / Ort verbunden? Bei einigen Anwendungen ist die Adresse (bauphysikalischen etc) ‚echte‘ und nur kann man in der Tabelle vorhanden ist. (Oft mit der Regierung / Post-Kennung für sie).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top