![]() |
Re: Datenmodell
Zitat:
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... |
Re: Datenmodell
Zitat:
Seine OID stammt aus der Identität in der Tabelle T_CUSTOMGRUPPEN. (Man könnte das auch als Klasse und abgeleitete Klasse verstehen.) Deshalb wird zuerst eine neue OID erzeugt und in CUSTOMGRUPPEN eingetragen. Jetzt kann der Benutzer mit der selben OID in T_BENUTZER eingetragen werden. Mit BeforeInsert-Trigger lässt sich das automatieren. Zitat:
Zitat:
Zitat:
Beide besitzen eine OID die aber aus ihrer eigentlichen Identät T_CUSTOMGRUPPEN stammt. Es genügt also die OID (des Benutzers oder einer Gruppe) zu nehmen, als weiteres Kriterium für die Eindeutigkeit (1:N) z.b. eine fortlaufende Nummer und mit den weiteren Daten in T_VERBINDUNGEN einzutragen. (Die Basisklasse CustomGruppe hat eine Liste von Verbindungen, sowohl Benutzer als auch Gruppen erben diese.) Die Verbindung ist übrigens keine eigene Identität, sie kann nur existieren wenn auch eine entsprechende CustomGruppe existiert. |
Re: Datenmodell
OK, verstanden. Vielen Dank für die ausführliche Erklärung!
Und wie frage ich z.B. nun ab, in welcher oder welchen Gruppen ein Benutzer ist? |
Re: Datenmodell
Zitat:
SQL-Code:
oder falls alle Daten der Gruppe(n) gebraucht werden:
select id_gruppe
from T_GruppenMitglieder where id_benutzer = :id_benutzer
SQL-Code:
Wobei Parameter wie hier ":id_benutzer" je nach Datenbank/Komponenten eventuell anders notiert werden.
select b.*
from T_GruppenMitglieder a left join T_Gruppen b on b.id = a.id_gruppe where a.id_benutzer = :id_benutzer |
Re: Datenmodell
Danke schön für die Antworten!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz