Datensätzen Kategorien zuweisen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    Datensätzen Kategorien zuweisen

    Hallo zusammen,

    ich bin neu hier im Forum und bräuchte mal eure Hilfe / euren Rat.

    Beschreibung meines Projektes:

    Ich programmiere eine Dateiverwaltung. Dazu habe ich eine SQL Datenbank mit der Tabelle "Daten". In dieser speichere ich die automatisch vergebene ID, den Dateiname, den Dateipfad, die Dateigröße und noch einige weitere Werte.
    Die Daten lese ich aus Verzeichnissen aus und lasse diese in die Datenbank speichern. Die Daten werden in einem DataGridView angezeigt. Auch eine "Bearbeiten Form" habe ich schon fertig welche auch problemlos funktioniert.
    Also bis hierher funktioniert alles top und so wie es sein soll.
    Auch kann ich nach Dateinamen suchen sodass nur diese angezeigt werden, alles kein Problem. ABER:......

    Nun zum Problem an welchem ich hänge und keinen Plan habe wie ich es machen soll:

    Ich will diesen Dateien auch Kategorien zuweisen. Sprich ich will in meiner bearbeiten-Form Hacken setzten und somit diesen Datenbankeintrag bestimmte Kategorien zuweisen. Dabei kann es vorkommen das einmal nur eine Kategorie ist, manchmal aber auch 2 oder 5 oder 7 sein können.

    Über eine Suchform will ich später dann Hacken setzten können und dann sollen nur die Einträge im DGV angezeigt werden welche alle gewählten Kategorien haben.


    Nun zu meinen Gedankenspielen:

    Vorschlag 1: Ich lege noch eine Spalte in der Datenbank an die ich Kategorien nenne und dann alle Kategorien reinschreibe. Ich denke das ich das auch einfach hinbekomme die Daten abhängig von den gewählten Checkboxen in die Datenbank zu bekommen. Aber wie kann ich dann danach suchen?

    Vorschlag 2: Ich lege eine weitere Tabelle an in der die ausgewählten Kategorien und die DateiID reingespeichert werden. Aber wie kann ich dann hier danach suchen ?

    Ich stehe etwas auf dem Schlauch und hoffe das hier jemand eine gute Idee dazu hat welche auch nicht allzu kompliziert ist :D

    Beste Grüße

    *Topic verschoben*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @TE: Das alllerwichtigste für dich: Lass die Datenbank erstmal weg.
    Lerne erstmal datenmodellierung, und zwar mit einem typisierten Dataset - keine Datenbank.
    Da hast du noch viel vor, das merkt man zb Daran, dass du in der Datenbank eine Spalte zufügen willst.
    In einer Datenbank kann man keine spalten zufügen, Spalten fügt man Tabellen hinzu.
    Und Tabellen kann man einer Datenbank zufügen.
    Aber wie gesagt: Bleib erstmal beim typDataset, da kannst du viel einfacher Tabellen zufügen, und den Tabellen Spalten zufügen, und Relationen zwischen den tabellen anlegen.
    Eben Datenmodellierung betreiben, weil das ist, wonach du fragst.
    Guck dir im Datenbank-Tutorial-Bereich das Tut "Grundlagen: Datenmodellierung an".

    Dein Kategorisierungs-Problem ist ein klassischer Anwendungsfall für eine m:n-Relation - und was das ist, dassis halt, was du lernen musst.
    Schriftfarbe und Titel ist geändert. Sorry dafür :(

    @ErfinderDesRades vielen Dank für deine Antwort :)
    Ich habe schneller geschrieben als gedacht. Mit Datenbanken an sich komme ich super klar. Mir ist klar dass ich eine Spalte zu einer Tabelle hinzufügen muss.
    Nur ist mein Problem das ich so überhaupt nicht weiter komme.
    Ich schaue mir jetzt mal das von dir empfohlene Tutorial an und hoffe das ich irgendwie weiter komme.
    Aber wäre mein Vorschlag Nr.1 grundsätzlich möglich? Also natürlich mit einer weiteren Spalte in meiner bestehenden Tabelle ;)

    Beste Grüße und vielen Dank schonmal.
    Für mich hätte jede Datei genau eine Kategorie, bedeutet ich hätte eine Kategorie-Tabelle mit vordefinierten Kategorien und jede Datei hat dann eine Kategorie.
    Entsprechend hätte meine Tabelle Daten ein Feld/eine Spalte namens KategorieID
    Bei dir ist's wohl anders:



    Damit kannst du jedem Datensatz aus Daten eine oder mehrere Kategorie verpassen.
    Deine Tabelle zur Anzeige wäre dann DatenKategorie
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    Vielen Dank für diesen guten Tipp. Das müsste die Lösung sein denke ich. Somit kann ich jeder Datei mehrere Kategorien zuweisen.
    Aber wenn meine Tabelle zur Anzeige dann die "DatenKategorie" ist und ich z.B. einer Datei 2 Kategorien zuweise, müsste doch auch die DatenID 2 mal in der Tabelle stehen oder?
    Und somit würde ja im Datagridview diese Datei 2 mal auftauchen oder habe ich einen Denkfehler?
    Jo, die Datei wird mehrfach auftauchen. Oder musst dir selbst was basteln.
    Als Datenquelle im DGV dann Daten nehmen und die über Code eine neue Spalte im DataGridView erzeugen, die
    eben jede Kategorie der Datei anzeigt...
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup: