Problem Datenmodellierung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Problem Datenmodellierung

    Hallo,

    ich bin gerade dabei für die Schule eine AG-Verwaltungsliste zu programmieren. Dabei sollen Schüler einer oder mehreren AGs zugewiesen werden und es soll möglich sein die Teilnahme an einer AG für jeden Schüler zu bestätigen (der AG-Leiter setzt zum Halbjahres- bzw. Schuljahresende ein Häkchen und bestätigt so die regelmäßige Anwesenheit). Die Tabellenstruktur habe ich mir bisher folgendermaßen überlegt:

    Tabelle Schüler:
    SchülerID
    Vorname
    Nachname
    Klasse

    Tabelle AG:
    AgID
    AGName

    Tabelle Schüler_AG:
    SchülerID
    AgID
    AnwesenheitHalbjahr
    AnwesenheitSchuljahresende

    Soweit so einfach, allerdings würde ich den Datenzugriff gerne mit den Entity Framework machen welches ja m:m Beziehungen automatisch auflösen kann und damit einen recht komfortablen Umgang mit solchen Beziehungen bietet...aber leider nur wenn in der Zwischentabelle nur die zwei Fremdschlüssel vorhanden sind :( .
    Ich habe jetzt schon ein Weilchen rumüberlegt wie ich die Zwischentabelle auf die zwei Fremdschlüssel reduzieren könnte, komme aber leider zu keinem Ergebnis. Wenn also jemand eine Möglichkeit sieht das Tabellenmodell doch entsprechend ändern zu können wäre ich sehr dankbar.

    Gruß
    Taurec
    Danke, das Sample habe ich mir auch schonmal angeschaut, ist mir aber (noch?) mind. 2 Größenordnungen zu hoch. Ich werde mich jetzt einfach mal mit dem obigen Tabellenlayout ins EF-Abenteuer stürzen und notfalls halt wirklich mit typ. Datasets weitermachen. Damit bekomme ich es zwar problemlos hin, aber wie du schon sagtest, ist halt irgendwie uncool (egal, nachher weiß es außer mir eh keiner ... :P ).
    Datenschutz nicht vergessen :)
    ich habe ähnliches programmiert für eine Freundin die vorher ewige excel Listen gepflegt hat(zwar nicht ag aber praktikumsverwaltung Einrichtungen/schüler/Mentoren). Entweder musst du die Daten der Schüler sicher bei dir halten(aslso geschützter Rechner bei dem nur du Einblick hast) oder du brauchst eine Einverständniserklärung aller Schüler.edit: das würde dich für Typ ds mit xml als schnellste Variante sprechen!
    Gruß Hannes
    Wenn Dataset dann eh erstmal XML und die Datenbank dran flanschen wenn das Programm tut was es soll.
    Sowas sollte ja schnell umzusetzen sein mit bisl Geklicke.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Ja, mit typ. Dataset ist es kein Problem. Das ganze soll eine Webseite sein, also kommt mit asp.net sowieso schon etwas neues auf mich zu, da wollte ich bei der Gelegenheit halt mal mit der Zeit gehen und auf EF umsteigen.

    @hans im glück
    Die Webseite soll auf dem Schulserver laufen, da sind die Schülerdaten die ich verwende (Name und Klasse) eh schon (im AD und im SQL-Server) vorhanden. Sollte also kein Problem darstellen.
    Dann ist das Tag aber doch falsch und nicht VB.Net sondern ASP.Net.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    MemoAnMichSelbst schrieb:

    Dann ist das Tag aber doch falsch und nicht VB.Net sondern ASP.Net.

    Naja, ich verwende ja auch in asp.net VB.net. Wenn ich nur asp.net angeben würde (was sich übrigends gar nicht auswählen lässt), könnte das ja auch C# sein. Und imho ist die verwendete Programmiersprache für mein Problem der Datenmodellierung doch egal, oder?
    Mit Asp.Net kenn ich mich nicht aus, aber die Web-Anwendung wird vmtl. Multi-User-Schreibrechte haben? Dann ist DatasetOnly ungeeignet, allenfalls wäre typDataset mit hinterlegter Datenbank verwendbar.
    Ob das allerdings eine gute Idee ist, weiß ich nicht, evtl. gibts in WebAnwendungen gar kein Databinding in der Form wie in Desktop-Anwendungen.
    Es geht mir bei den Flags darum, dass ich mich mit den Einschränkungen welche ASP mitbringt nicht auskenne und mich dann direkt rausgehalten hätte, ebenso wie so manch anderer auch.
    Es ist ja nicht im Sinne des Erfinders wenn dir Ratschläge gegeben werden, welche nicht passen, aus mangelnder Information oder gar Fehlinformation.
    Aufm Rechner täte ich nämlich auch nen Dataset anne XML binden um zu testen wie es geht. Wenn dies bei ASP so nicht geht, wäre unschön.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    ErfinderDesRades schrieb:


    Ob das allerdings eine gute Idee ist, weiß ich nicht, evtl. gibts in WebAnwendungen gar kein Databinding in der Form wie in Desktop-Anwendungen.

    Geht im Prinzip genauso wie bei einer Desktop-Anwendung. DGV - Databinding (EF, Dataset, (SQL)Datasource...) - arbeiten damit. Es stehen halt weniger Events zur Verfügung und es geht alles langsamer...

    MemoAnMichSelbst schrieb:

    Es geht mir bei den Flags darum, dass ich mich mit den Einschränkungen welche ASP mitbringt nicht auskenne und mich dann direkt rausgehalten hätte, ebenso wie so manch anderer auch.
    Es ist ja nicht im Sinne des Erfinders wenn dir Ratschläge gegeben werden, welche nicht passen, aus mangelnder Information oder gar Fehlinformation.
    Aufm Rechner täte ich nämlich auch nen Dataset anne XML binden um zu testen wie es geht. Wenn dies bei ASP so nicht geht, wäre unschön.

    Ok, aber die ursprüngliche Frage war ja nur die nach der Datenmodellierung. Und die ist ja sprachunabhängig. Hätte ich es eher in den ASP.net Bereich posten sollen? Nach allem was ich bisher gelesen habe ist EF = EF, egal in welcher Umgebung.
    Die Idee mit dem Dataset an einer XML werde ich z.B. auch mal probieren. Wenns nicht geht habe ich immerhin was dazugelernt :).