Announcement

Collapse
No announcement yet.

Datenbankdesign Kunden/Mitarbeiter/Benutzernamen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankdesign Kunden/Mitarbeiter/Benutzernamen

    Hallo,

    ich hätte mal eine grundsätzliche Frage zum Datenbankdesign und das Thema "Benutzer". Aus meinen schlauen Büchern werde ich nicht wirklich schlau :-)

    Nehmen wir mal an man hätte Kunden (Unternehmen), Mitarbeiter (eigene), Mitarbeiter (des Kunden). Alle sollen auch einen eigenen Benutzernamen und ein Passwort bekommen.

    Wie führe ich das nun im Design durch. Mache ich eine einzelne Tabelle "Kontakte" und vergeben "Benutzertypen" oder ist es besser das in mehrere Tabellen aufzuteilen (Kunden/Kunden_Mitarbeiter/Mitarbeiter), wobei ich mich dann frage, wie dann die Relationen zu einer Tabelle "Benutzerinformationen" sein soll (Benutzername/Passwort)?

    Vielen Dank schon mal

    noch_in_ausbildung


    P.S: Gibt es eigentlich ein Buch in der Art von "Das Datenbankdesign Kochbuch"

  • #2
    Nur mal eine Anregung:

    ich würde einen Personenstamm anlegen, in dem nur die Daten drinnen stehen, die eine Person einmalig hat. Also zB Vorname, Zuname, Geburtsdatum, Sozialversicherungsnummer, ... Nicht da hinein gehört meiner persönlichen Meinung nach die Adresse, die könnte sich ja ändern und dann will ich sowohl die alte als auch die neue Adresse gespeichert haben. Oder die Person hat eine Wohnadresse, eine Rechnungsadresse, eine Lieferadresse, eine Zweitwohnsitz, ...
    Gut, dann einen Firmenstamm, in dem steht die eigene Firma drinnen und auch die der Kunden.
    Und dann gibt es eine Zwischentabelle "Mitarbeiter", in der steht der Schlüssel der Person, der Schlüssel der Firma und sinnvollerweise auch das von/bis-Datum des Arbeitsverhältnisses. Und da würde ich dann auch die Daten für Login und Passwort speichern, vorausgesetzt man braucht keine Login-Historie bzw. ein Mitarbeiter braucht nicht mehr als ein Login. Ansonsten das wieder in eine eigene Tabelle mit Mitarbeiter-Schlüssel und von/bis.

    Was die meisten bei einem Datenbankdesign übersehen ist die Zeitachse, dass eben bestimmte Beziehungen ein von/bis haben und "archiviert" werden müssen und nicht nur einfach überschrieben oder gelöscht werden dürfen.

    bye,
    Helmut

    PS: könnte jetzt eine Nummer zu groß angelegt sein, nimm dir einfach heraus, was du als sinnvoll erachtest.

    Comment


    • #3
      Datenbankdesign

      Hi Helmut,

      danke für Deine Antwort!

      Das war genau das was ich brauchte.

      Eine Frage hätte ich noch, falls ich nun noch die Kunden der einzelnen Unternehmen speichern will. Da mache ich ja wohl am Besten eine zweite Zwischentabelle "Kunden" und speichere dort ebenfalls die Person_Id und Firma_Id? Wäre es dann nicht auch gut, dass ich eine eigene Tabelle mit den Logindaten mache und diese mit der Person_Id in Beziehung setze?

      Also so in der Art (stimmt das?)


      Danke und Grüße

      Chris

      Comment


      • #4
        Kunde passt, sieht auch sonst schon sehr gut aus! Ob man das Login besser woanders als an der Person anhängt, hängt von den näheren Anforderungen ab, die ich nicht kenne, aber recht falsch wirst du mit dieser Variante nicht liegen. Überlegen muss man sich dann nur noch, ob eine Person verschiedene parallel aktive Logins haben kann, dann muss man irgendwie definieren können, welches Login für was gilt.

        bye,
        Helmut

        Comment

        Working...
        X