Laden...

Problem beim Datenbank Design

Erstellt von t2x vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.324 Views
T
t2x Themenstarter:in
8 Beiträge seit 2007
vor 15 Jahren
Problem beim Datenbank Design

Hi,

ich hab gerade ein etwas schwierigeres Problem bei Design einer Datenbank.
Das Problem daran ist, dass so gut wie alles Benutzerkonfigurierbar ist.
Von der Vorstellung her soll es später mal eine beliebige Anzahl von Tab-Controlls geben, die jeweils eine "Tabelle" darstellen sollen. Die Spalten eines Controlls sind dabei auch wieder frei konfigurierbar, d.h. ich weiß auch nicht welcher Datentyp mich dann in einer Spalte erwarten wird.
Nun steh ich irgendwie vor dem Problem, dass ich alle Informationen irgendwann mal in eine Datenbank speichern möchte und zwar möglichst in ein statisches Schema und da komm ich irgendwie nicht weiter. Ich könnte zwar schön dynamisch meine Tabellen anlegen und z.B. die Konfiguration der einzelnen Spalten in einer extra Tabelle ablegen, aber das ganze erscheint mir keine gute Lösung, zumal ich dann zur Laufzeit die Tabellennamen ermitteln müsste.
Fällt euch vielleicht was besseres ein, oder gibts da ein Stichwort nach dem ich mich mal umschauen sollte?
Irgendwie bereitet mir vor allem das "unbekannter Datentype einer Spalte" Kopfzerbrechen.

Vielen Dank für eure Hilfe
t2x

W
201 Beiträge seit 2007
vor 15 Jahren

Hi!

Mit welcher DB arbeitest du denn?

Dann musst du dich entscheiden - statisches Schema oder Tabellen anlegen nach Lust und Laune.

Gibt es nur vom Benutzer konfigurierbare Tabellen oder auch fixe?

Und was willst du mit in den Tab-Controlls den darstellen?

Die Infos wären noch interessant - In der Zwischenzeit mal folgender Vorschlag:

Alle Tabellen mit bestimmten Präfix (dann kann es auch Systemtables oder so geben) werden zur Laufzeit gesucht (sollte ja kein Problem darstellen), daraus baust du die Tab-Control und jeder Page einhält ein Grid mit dem Tabellen-Inhalt. Dann kann die der Datentyp der Felder auch egal sein - Wenn es nur drum geht Daten anzuzeigen / zu bearbeiten...

lg

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

T
t2x Themenstarter:in
8 Beiträge seit 2007
vor 15 Jahren

Hi!

Mit welcher DB arbeitest du denn?

Das kann leider auch völlig frei sein, aber wird wohl hauptsächlich Oracle und SQL Server sein

Dann musst du dich entscheiden - statisches Schema oder Tabellen anlegen nach Lust und Laune.

Gibt es nur vom Benutzer konfigurierbare Tabellen oder auch fixe?

Es wird auch fixe tabellen geben.

Und was willst du mit in den Tab-Controlls den darstellen?

Die Infos wären noch interessant - In der Zwischenzeit mal folgender Vorschlag:

Alle Tabellen mit bestimmten Präfix (dann kann es auch Systemtables oder so geben) werden zur Laufzeit gesucht (sollte ja kein Problem darstellen), daraus baust du die Tab-Control und jeder Page einhält ein Grid mit dem Tabellen-Inhalt. Dann kann die der Datentyp der Felder auch egal sein - Wenn es nur drum geht Daten anzuzeigen / zu bearbeiten...

lg

Hm das Problem ist, dass es später nicht nur ums Anzeigen geht und mich damit nicht auf ein Grid verlassen kann. Wenns ganz schlimm wird muss ich das ganze unter Umständen auch noch für andere Verarbeitungen in eigene Datenstrukturen umwandel.
Daher würde ich eigentlich gerne ne fixe Struktur haben
Vielen Dank
t2x

W
201 Beiträge seit 2007
vor 15 Jahren

Wenns ganz schlimm wird muss ich das ganze unter Umständen auch noch für andere Verarbeitungen in eigene Datenstrukturen umwandel.
Daher würde ich eigentlich gerne ne fixe Struktur haben

Noch mal: entweder fixe Struktur oder Tabellen die aussehen wie sie wollen.
Eine wohl sinnvolle Einschränkung wäre nur bestimmte Datentypen zuzulassen.
Was willst du denn mit den Daten noch machen? Willst du dein User eigene Funktionen in deiner Anwendung schreiben kann oder soll es eine Reihe von Funktionen geben durch die die Tabelle laufen soll?

lg

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...