Datenbank Tabelle, wie am besten gestalten bei folgenden Daten...

  • C#

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Datenbank Tabelle, wie am besten gestalten bei folgenden Daten...

    Hallo Leute,

    ich würde gerne wissen, wie ihr folgende Daten, in eine oder mehrere Tabellen gliedern würdet:

    22x Anzahl Eingabefeld
    22x Umfang Eingabefeld
    22x Bemerkung Eingabefeld

    Ich habe also so gesehen 66 Spalten zu befüllen...
    Würdet ihr für jede Eingabe, eine eigene Tabelle erstellen, also z.B. Anzahl_Tab, Umfang_Tab, Bemerkung_Tab und diese
    dann per ID verbinden?

    Oder würdet ihr alles in eine Tabelle packen?

    Ich denke das Sinnvollste wäre es in drei Tabellen zu gliedern, bin mir da aber eben unschlüssig.
    Kommt auf die Abhängigkeiten an und wie es weiter genutzt werden soll.
    Aber ich würde schon 3 Tabellen nutzen und dann via ID verbinden.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    Ein Datensatz besteht aus:
    1 x Anzahl Eingabefeld
    1 x Umfang Eingabefeld
    1 x Bemerkung Eingabefeld
    ?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @Akanel
    @EaranMaleasi
    @mrMo
    Anzahl, Umfang und Bemerkung sind Eingabefelder.
    Davon gibt es je 22, da Anzal_xy + Umfang_xy + Bemerkung_xy jeweils zusammen gehören.
    Meine Frage ist also, erstelle ich jetzt eine Tabelle mit 66 Spalten die dann so aussehen: Anzahl 1 | Umfang 1 | Bemerkung 1 | Anzah... usw.,
    oder erstelle ich drei Tabellen die dann eben jeweils die Eingabe Möglichkeit enthalten, also: Tab1 = Anzahl1-22, Tab2 = Umfang1-22.... usw.

    Wahrscheinlich ist eine Tabelle sinnvoller, da die Daten schließlich alle zusammengehören und keine eigenständigen Datensätze in diesem sinne sind.

    Kurzum: Alle 66 Felder ergeben einen Datensatz!
    @mrMo Naja es sind Zusatzdaten zum eigentlichen Datensatz welcher in einer eigenen Tabelle steht.
    Diese hat 40 Spalten und ich möchte ungern nochmal 66 hinzufügen dafür, vor allem weil es eben andere Daten sind,
    die zum Gesamtbild dazu gehören aber nicht zu den Daten der Haupttabelle.
    Der Nutzer kann diese hinzufügen, muss aber nicht.


    @petaod
    Für die Umfänge gibt es eine definierte List, diese erhält der Nutzer in einer der Umfangs Comboboxen.
    Somit gibt es für die Umfänge unter sich keine direkte Verbindung, es sind die immer gleichen Daten in
    all den 22 Umfangs Comboboxen.
    Es ind zusätzliche Daten, es muss Sie nicht geben, aber es kann sie geben.

    Tut mir leid wenn ich das ganze unverständlich schildere.
    Ich habe noch nicht viel mit Datenbanken gearbeitet und habe geringes Wissen
    welches ich erweiten möchte.

    Petersilie schrieb:

    @mrMo Naja es sind Zusatzdaten zum eigentlichen Datensatz welcher in einer eigenen Tabelle steht.
    Diese hat 40 Spalten und ich möchte ungern nochmal 66 hinzufügen dafür, vor allem weil es eben andere Daten sind,
    die zum Gesamtbild dazu gehören aber nicht zu den Daten der Haupttabelle.
    Der Nutzer kann diese hinzufügen, muss aber nicht.
    Mir scheint, du musst relationale Datenmodellierung erst noch kennenlernen.
    Meine Lieblings-Vorgehensweise ist, das Datenmodell für eine Anwendung im Dataset-Designer zu entwerfen.
    Und wenn du jetzt nicht weisst, wovon ich rede, hast du ein Problem, und einiges zu lernen vor dir.

    Probier mal dieses:
    codeproject.com/Articles/10309…l-Datamodel-for-Beginners

    Ich verstehe auch MrMos Vorschlag so, dass du statt weitere 66 Spalten an die eine Tabelle dranzumachen, eine weitere, untergeordnete Tabelle entwerfen sollst, mit eben nur den genannten 3 Spalten (vlt. auch paar mehr, insbes. Schlüsselspalten).
    Aber auch das verstehst du erst, wenn du mit dem Grundprinzip relationaler Datenmodellierung bischen vertraut bist.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    mrMo schrieb:

    Was ist denn dieser Datensatz in echt?

    Ich hab das nicht aus spaß gefragt. Mir scheint als wenn du nen schlechtes Datenmodell hast. Daher täte ich das gerne wissen, denn man versucht ja immer die Realität abzubilden. Also, was ist der Hauptdatensatz und was diese Zusatzinfos? Adressen, Artikel, Obst, Musiktitel...?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @mrMo
    Parent Dataset = Fruit-Type | Fruit-Name | Fruit-Color | Fruit-From-Country | ...etc.
    Child Dataset = Amount| Extent| Comment
    = 3 | brown spots | on upper left side

    So könnte man das denke ich am besten beschreiben.

    Ok dann wäre es also am sinnvollsten, ich erstelle eine Tabelle mit drei spalten.
    Dem Child-Dataset gebe ich dann einfach als Foreign-Key den Parent-Key und kann mir dann
    später, alle Datensätze holen, welche als Foreign-Key den gewünschten Parent-Key enthalten.

    Petersilie schrieb:

    Ok dann wäre es also am sinnvollsten...
    ...Datenmodellierung richtig zu erlernen.
    Tut hab ich dir ja gegeben.
    Wenn du dann wirklich weisst, was ein Dataset ist (dem Ausdruck "Child-Dataset" entnehme ich, dass dem nicht so ist) - dann kannste hier Bildle posten von deim Datenmodell, und dann kann man konkrete, stichhaltige, einleuchtende Hilfestellung geben, die das Verständnis dann sehr schnell gründlich zu vertiefen imstande ist.

    ...ich erstelle eine Tabelle mit drei spalten.
    Dem Child-Dataset gebe ich dann einfach als Foreign-Key den Parent-Key und kann mir dann später, alle Datensätze holen, welche als Foreign-Key den gewünschten Parent-Key enthalten.
    Da sind schon die richtigen Ideen drin enthalten, aber wie gesagt: reim dir das nicht alles selbst zusammen, sondern eigne es dir an in der Form, die bereits seit Jahrzehnten Stand der Technik ist.
    Das ist vollständiger als "selbst-gereimtes", und dann hast du auch die standardisierten Begrifflichkeiten, und damit eine Vorraussetzung erfolgreicher Kommunikation.

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Du hast eine "allgemeine" Tabelle mit der Frucht als solches, in der sie Beschrieben ist wie z.B. N einem Lexikon. In der anderen Tabelle steht in welchem Zustand sich die Frucht, die du z.B. Im Lager/Warenkorb/etc. hast, befindet. Korrekt?

    Falls meine obige Annahme richtig ist, wie kommst du auf diese 22?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen