Zitat von
Blup:
ConnectionGroupsMembers:
Die OID ist zumindest für die Datenbank überflüssig.
Die Kompination aus ID_Groups und ID_Users ist eineutig und könnte der Primärschlüssel sein.
Die Tabelle enthält nur Relationen zwischen zwei Identitäten und es gibt keine abhängigen Tabellen.
ConnectionGroups
Von den Spalten OID und ConnectionGroupsID ist eine überflüssig.
Ein Objekt sollte nur eine ID haben und dafür reicht ein Feld OID.
Die Beziehungen zu den Tabellen ConnectionGroupsMembers und CustomConnectionGroups sollten über dieses eine Feld laufen.
Users
Hier gilt das selbe wie für ConnectionGroups.
CustomConnectionGroups
Menge(CustomConnectionGroups) = Menge(Users) + Menge(ConnectionGroups)
Die Beziehung zwischen CustomConnectionGroups und ConnectionGroups ist zwar 1:N, aber N kann nur 0 oder 1 sein.
Für jeden Eintrag in ConnectionGroups gibt es genau einen Eintrag in CustomConnectionGroups (eindeutig), aber nicht für jeden Eintrag CustomConnectionGroups gibt es auch einen Eintrag in ConnectionGroups (nicht eineindeutig).
Das gilt ebenso für die Beziehung CustomConnectionGroups zu Users.
Vielen Dank, das sieht schon gut aus!
Darf ich nochmal resümieren, wie ich das bisher verstanden habe (als nicht
DB erfahren):
- Benutzer werden beim neuanlegen in die Tabelle T_Benutzer eingetragen
- Gruppen werden in T_Gruppen angelegt
- Wird ein Benutzer einer Gruppe hinzugefügt wird die ID des Benutzers und die ID der Gruppe in die Tabelle T_Gruppenmitglieder eingefügt
Der Rest, muss ich gestehen, ist mir noch nicht ganz klar.
Könntest Du mir hier noch bitte erklären, was hier bei den einzelnen Vorgängen zu tun ist, analog zu den drei Schritten oben? Also z.B. was beim Anlegen einer Verbindung zu tun ist.. usw...