Datenbankprogrammierung

  • VB.NET
  • .NET 4.5

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von VB2013.

    Datenbankprogrammierung

    Hallo Leute,

    ich arbeite gerade an einem Projekt und komme an einer Stelle nicht weiter.
    Undzwar habe ich mir eine Datenbank in MSSQL angelegt, diese erfast für mich die Dokumente welche vorher in einer Tablle definiert werden.

    Also eine Tabelle für die dateitypen und eine Tabelle für die jeweiligen Verzeichnisse, wo die dateitypen ausgelsen werden.
    - sieht so aus
    1.
    TYP
    ------------
    ID| typ
    1 | .jpg
    2 | .mp3

    2.
    Verzeichnis
    -------------------
    ID | Pfad
    1 | C:\User\Dokument
    2 | C:\User\Musik

    Zuerst schreibe ich die beiden Tabellen in eine Array, anschließend durchlauf ich meine Festplatte und überprüfe jede Datei mit dem Inhalt vom ArrayList.
    Ergebnis schreib ich in eine Dritte Tabelle die SO aussieht:

    3. Dateien
    ID| Name| Pfad|ID_Verz.|ID_TYP

    DIese wird auch gefüllt bis auf die beiden Fremdschlüssel "ID_Verz" und "ID_TYP" .

    Als result soll rauskommen als beispiel:

    3. Dateien
    ID| Name| Pfad|ID_Verz.|ID_TYP
    1 | x.jpg |C:\...| 1 |1
    1 | x.jpg |C:\...| 2 |1
    1 | x.mp3 |C:\..| 1 |2
    .
    .
    .
    .usw


    Hoffe ihr könnt mir da weiter helfen,

    Danke
    leg dein Datenmodell doch mal in einem typisierten Dataset an und poste Bildchen, da kann man genauere Aussagen zu machen.

    oder guggemol diesen Kurs zum Thema Datenmodellierung: codeproject.com/Articles/1030969/Relational-Datamodel

    Mir scheint nämlich eine m:n-relation zwischen DateiTyp und Verzeichnis vorzuliegen - dafür bräuchte man aber eine 3. Tabelle:
    hast du das Video nicht angeguckt in post#4?
    Da ist doch sowas wie ein Button in post#4 - da kann man drauf klicksen, dann sieht man mehr (nämlich ein Video).

    oder warum hängst du das bild nicht einfach an, sodass mans sehen kann?

    (Also ich hab jetzt nochmal eine Bildschirmfoto davon gemacht, weil der jpg mit >700kb trau ich nicht.)

    egal. jedenfalls sieht man, dass 3 Tabellen schon richtig da sind, Fremdschlüsselspalten auch schon angelegt, aber keine Relation definiert.
    gugge am besten nochmal das Tut, da ist das mit den Relationen doch auch erklärt, mit Bildle und alles.

    Ach - du hast das Modell im sqlserver gebastelt, und dir generieren lassen.
    Tja, da musste die Relationen natürlich zunächst auffm sqlserver richtig anlegen, mit Löschweitergabe, und dann das Dataset neu generieren.
    Übrigens die Doc-Entität sollte keine Dateipfad-Property haben, denn sie hat ja einen Verweis auf den Ordnerpfad.
    Der Dateipfad ergibt sich dann ja aus VerweisPfad + Dateiname, und ein redundantes Speichern derselben Information ist nur eine potentielle Fehlerquelle.




    (Edit: kann das sein, dass das Forum nur png-Bildle richtig anzeigt?)

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

    Das Basisverzeichnis wird als "Root " übergeben, und der Ließt dan alle unterordner ebenfalls aus.
    Daher dachte ich, wenn er eine Datei Findet, dann schreibe ich auch das Verzeichnis der Datei rein.

    Baue ja eine verbindung zum server auf, lese die tabelle basisiverzeichnis in ein Datatable und über eine Schleife durchlaufe ich die Verzeichnisse und unterordner wenn er eine Datei (lese dan Tablle Typ) findet die, die selbe endung hat schreib er die datei in die Tabelle DOC. Ich möchte jetzt aber auch, das er den entprechenden Fremdschlüssel einträgt.

    Ich glaub ich komme nicht weiter wenn ich die Relationen auf dem Sql-Server anlege.
    Hab den verdacht das es doch etwas komplizierter ist als nur die richtige relationen zu hinterlegen.
    also wenn ich mal mittm SqlServer rumgespielt hab, dann konnte ich Relationen anlegen, und wenn ich daraus ein Dataset generiert hab, dann waren im Dataset auch die DataRelations.
    Folglich machst du iwas... - ich will nicht sagen falsch - aber doch immerhin anders als ich ;)

    Ansonsten würd ich eh empfehlen, die Datenbank erstmal wegzulassen, und die Anwendung erstmal ohne Db zu entwickeln. Ist schon kompliziert genug, da muss man sich nicht auch noch alle möglichen DB-Problematiken gleich mit ans Bein hängen.

    Weil ohne DB kanns weitergehen, aber ohne DataRelations im Dataset eher nicht.