Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

Problem Defaultwerte in einer DB-Struktur unterzubringen

  Alt 6. Jan 2012, 09:51
Datenbank: Oracle • Version: 10g • Zugriff über: egal
Hallo,

sorry für den seltsamen Titel, ich wußte nicht, wie ich es formulieren sollte:

Ich entwickele gerade eine DB-Struktur, für eine Art Benutzerverwaltung /-Steuerung für eine Anwendung.

Es gibt eine Tabelle User mit den Feldern ID, Name und Rang.
Rang ist entweder Normalo oder Admin, wobei der unterschied ist, das der Normalo nur das Programm nutzen, der Admin aber die Benutzersteuerung des Programmes verwalten kann.

Jetzt gibt es eine Tabelle "Felder" mit den Feldern ID, Text, ...
Was die Felder im Zusammenhang der Anwendung sind, ist glaub ich hier nicht wichtig.

Nun gibt es eine dritte Tabelle, die die beiden zusammenbringt: User-Felder mit den Feldern User_ID, Feld_ID, Position.
Sie steuert welche Felder für welche User sichtbar sind und (über Position) in welcher Reihenfolge.

Hier Frage1:
User_ID, Feld_ID sollen jeweils FK's auf die User bzw. Felder-Tabelle sein, zusammen aber der PK. Geht das?
Auch die Kombination aus User_ID und Position sollte eindeutig sein, müsste doch über einen weiteren Constraint gehen, oder?

Jetzt die wichtigere Frage 2:
Wenn für einen User in der Tabelle User-Felder nichts hinterlegt ist, so soll ihm eine Standardliste an Feldern angezeigt werden, die quasi für alle gilt, für die nichts anderes hinterlegt ist.
Nur wie mach ich das?

- Leg ich einen Dummy-User "Standard" an und für diesen dann in User-Felder die Standard-Felder-Liste (dabei ist der Dummy-User eigenl. unnütz und wird nur wegen der ref. Integr. gebraucht)?
- Hardcodiert im Quellcode wohl eher nicht.
- Eine separate Tabelle nur für diese Feldliste (enthält dann nur Feld_ID und Position).
- Ausserhalb der DB-Struktur, z.B. als Liste in einer INI?

Wie kann man das mit so Standart-Werten am geschicktesten/saubersten lösen?
Ralph
  Mit Zitat antworten Zitat