MS-SQL beliebig erweiterbare Parametertabelle mit unterschiedlichen Datentypen
Hallo,
hätte mal eine Frage.
Wie baut man am besten eine Datenbank auf, wenn ich eigentlich die Struktur noch nicht genau kenne.
Sprich ich habe da eine c# Anwendung in der ein Benutzer eine Liste an vordefinierten Parametern frei zusammenstellen kann und das sind dann mal 10 Parameter und mal nur 5 Parameter.
Die Parameter können dabei unterschiedliche Datentypen wie Varchar, DateTime, Int oder Numeric haben.
Mein Gedanke war schon mal eine Tabelle Parameters (Id (Int), Wert (Varchar)) zu erstellen in der ich das Speichere.
Nur da kann ich alles dann nur als Varchar speichern und muss wieder konvertieren.
Parameter sind z.B.:
Strom (Numeric)
Spannung (Numeric)
Leistung (Numeric)
Drehzahl (Numeric)
Datum (DateTime)
Menge (Int)
Beschreibung (Varchar)
Danke schon mal für Eure Hilfe.
lg
Norbert
hätte mal eine Frage.
Wie baut man am besten eine Datenbank auf, wenn ich eigentlich die Struktur noch nicht genau kenne.
Sprich ich habe da eine c# Anwendung in der ein Benutzer eine Liste an vordefinierten Parametern frei zusammenstellen kann und das sind dann mal 10 Parameter und mal nur 5 Parameter.
Die Parameter können dabei unterschiedliche Datentypen wie Varchar, DateTime, Int oder Numeric haben.
Mein Gedanke war schon mal eine Tabelle Parameters (Id (Int), Wert (Varchar)) zu erstellen in der ich das Speichere.
Nur da kann ich alles dann nur als Varchar speichern und muss wieder konvertieren.
Parameter sind z.B.:
Strom (Numeric)
Spannung (Numeric)
Leistung (Numeric)
Drehzahl (Numeric)
Datum (DateTime)
Menge (Int)
Beschreibung (Varchar)
Danke schon mal für Eure Hilfe.
lg
Norbert
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 225205
Url: https://administrator.de/forum/ms-sql-beliebig-erweiterbare-parametertabelle-mit-unterschiedlichen-datentypen-225205.html
Ausgedruckt am: 19.05.2025 um 07:05 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
Schon mal daran gedacht das du eine Tabelle mit allen möglichen Parametern erstellst, da sie ja vordefiniert sind und dann aber nur die vom User ausgewählten verwendest?
Edit: währ auch noch ne Möglichkeit
http://technet.microsoft.com/de-de/library/ms189887(v=SQL.105).aspx
Schon mal daran gedacht das du eine Tabelle mit allen möglichen Parametern erstellst, da sie ja vordefiniert sind und dann aber nur die vom User ausgewählten verwendest?
Edit: währ auch noch ne Möglichkeit
http://technet.microsoft.com/de-de/library/ms189887(v=SQL.105).aspx
Sorry aber irgendwie passt das jetzt nicht ganz zusammen.
Du hast ein Programm bei dem sich User so um die 5 - 10 Spalten aus einer SQL Datenbank auswählen können.
Dann kommst du auf 100 Spalten wo 2/3 also nicht ganz 70 Belegt sind.
Du hast eben nur die Möglichkeiten alles in separate Spalten zu schreiben, das kann man dann auf mehrere Tabellen aufteilen.
Oder du schreibst mehrere Daten in eine Spalte, hier bietet sich das XML Format an bzw. das ganze in externe Dateien Auslagern und dann eine Referenz zu schaffen.
bzw. eine Mischung dazwischen.
Du könntest z.b. auch wenn der User nur max 10 Spalten auswählen kann entsprechend die Anzahl + Indexfeldern anlegen.
Und dort dann den entsprechenden Wert eintragen.
Was für dein Konzept das Richtige ist kann hier aber auf Grund mangelnder Angaben keiner sagen.
Du hast ein Programm bei dem sich User so um die 5 - 10 Spalten aus einer SQL Datenbank auswählen können.
Dann kommst du auf 100 Spalten wo 2/3 also nicht ganz 70 Belegt sind.
Du hast eben nur die Möglichkeiten alles in separate Spalten zu schreiben, das kann man dann auf mehrere Tabellen aufteilen.
Oder du schreibst mehrere Daten in eine Spalte, hier bietet sich das XML Format an bzw. das ganze in externe Dateien Auslagern und dann eine Referenz zu schaffen.
bzw. eine Mischung dazwischen.
Du könntest z.b. auch wenn der User nur max 10 Spalten auswählen kann entsprechend die Anzahl + Indexfeldern anlegen.
Und dort dann den entsprechenden Wert eintragen.
Was für dein Konzept das Richtige ist kann hier aber auf Grund mangelnder Angaben keiner sagen.