2016-05-17 12 views
0

Ich habe 2 Tabellen, und ich bin mir nicht sicher, ob es eine 1 zu 1 oder 1 zu viele Beziehung ist.bestimmen Tabelle Beziehung 1 zu viele oder 1 zu 1

Tabelle Benutzer:

  • UserId (PK)
  • Benutzername
  • Passwort
  • Userrole (FK -> RoleId)

Userroles Tabelle:

  • RoleId (PK)
  • UserRoleDescription
  • Userrole

Also in meinen Augen ist dies so. Ein Benutzer kann 1 Rolle haben. 1 Rolle kann 1 Benutzer haben.

1 zu 1 Beziehung.

BUUUTT .. mehrere Benutzer können die gleiche Rolle haben .. Ich bin ein wenig verwirrt hier.

Bitte korrigieren Sie mich, wenn ich falsch liege, ich war nie gut Beziehungen zwischen Tabellen zu bestimmen.

+0

Sind Sie sicher, dass ein Benutzer nur eine Rolle haben kann ?. Zum Beispiel kann ein Benutzer Administrator und Support-Service sein? Es hängt von Ihrer Domain ab. Sie müssen ein wenig mehr angeben, wenn Sie Hilfe beim Entwurf der Datenbank benötigen. – dantebarba

Antwort

1

Wenn Sie sagen, "mehrere Benutzer können dieselbe Rolle haben", beschreiben Sie eine Eins-zu-viele-Beziehung (eine Rolle, viele Benutzer).

Wenn es sich um eine Eins-zu-Eins-Beziehung handelt, wird jede Rolle nur einmal verwendet, und Ihre Rollen müssen nicht in einer separaten Tabelle gespeichert werden.

Das von Ihnen beschriebene Schema scheint angemessen.

+0

Ja, das ist eines der Dinge, die ich wirklich schwierig finde. Vielleicht muss ich etwas mehr lockern und dann werde ich die goldene Straße in Richtung der richtigen Antwort sehen. Ich finde deine Antwort einfach, und es ist eine 1 zu viele. Danke :) – Daniel

+0

Ich werde Ihre Antwort in 4 Minuten akzeptieren. Danke noch einmal. – Daniel

+0

Sie sind mit Ihrem Denken auf dem richtigen Weg und sagen: "Ein Benutzer kann eine Rolle haben." Wir müssen darüber nachdenken, von der Rollenseite, die wäre "Eine Rolle kann mehr als einen Benutzer haben." – Michael

Verwandte Themen