Zum Inhalt springen

ER-Modell und Pflege der Daten (Meinung gefragt !)...


Flori

Empfohlene Beiträge

Hallo,

habe folgendes Problem gehabt, daß ich eine m:n-Beziehung zwischen meinen Daten gehabt hätte :

Kunden

=====

1 Meyer

2 Schmitt

3 Ludwig

Veranstaltungen

============

1 Biologie

2 Mathe

3 Deutsch

Nun können ja mehrere Kunden mehrere Veranstaltungen buchen - also m:n, soweit richtig - oder ?!

Hab mir gerade schon den Foliensatz, auf den der DB-Forums-Moderator verweist angeschaut (also hier ) und da findet sich dann auch mein Problem beschrieben auf Seite 9 (Folien 52 und 53).

Dementsprechend hab ich, um meine m:n-Beziehung zu lösen, eine eigene Tabelle für die Verbindung (Assoziationen) zwischen den Tabellen angelegt (Folie 52!) :

bucht

====

1 1

1 2

1 3

2 1

2 3

3 2

Soweit so gut, sieht auch wunderbar aus ! :)

Was bleibt ist doch aber das Problem der Datenpflege, oder ?!

Es kommen jetzt bei mir auf jeden Fall immer neue Kunden hinzu und es werden auch immer wieder hier und da neue Veranstaltungen hinzukommen.

Das hieße dann, ich müßte immer drei Tabellen pflegen, um die Verbindungen aktuell zu halten.

Die Frage, die sich mir da stellt : Wie sieht sowas in der echten Praxis aus ?!

Pflege ich wirklich erst die Tabelle "Kunden", dann "Veranstaltungen" und dann am Ende noch "bucht" oder läßt sich das irgendwie vereinfachen ?!

Zum Beispiel, daß man ein Formular hat, das "Kunden" und "Veranstaltungen" pflegt und dann einen Datensatz wie man ihn zusammengestellt hat ("Kunde 1 (Meyer) bucht Veranstaltung 1 (Biologie)") direkt in die Tabelle "bucht" ablegt ("1-->1") ???

Gibt es da Mittel und Wege zum Beispiel mit PHP oder so ?!

(Kenne mich in PHP noch nicht aus, aber wenn hier jemand nen Beispiel geben könnte, wüßte ich, daß es damit ginge und würde mich dementsprechend einarbeiten ;) )

Oder wie sähe sowas in MS-Access aus ?! Ginge das da vielleicht auch schon mit !?

Ups, ziemlich lange Sache geworden. Ich hoffe, es kann sich jemand was drunter vorstellen. Wäre super, wenn jemand ne Idee hätte, wie man diese Verbindungen mit einfachem Aufwand pflegen könnte !!!

Gruß und danke,

Flori

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Jaraz,

danke für die schnelle Antwort.

Hm, ich versuch das am besten noch mal nen bissel deutlicher zu erklären.

Zugegeben, mein Problem besteht wohl derzeit noch darin, daß ich in den Tabellen "kunden" und "Veranstaltungen" fortlaufende ID's verwende, um die Datensätze zu unterscheiden (1,2,3,....usw.).

Diese ID's ordne ich ja dann in der Tabelle "bucht" gegeneinander zu wie beschrieben.

Meine Sorge (und daher meine weiteren Erläuterungen :) ) besteht nun darin, daß ich mir denke, daß es ja bei einer großen Zahl von Datensätzen es sehr schwer und umständlich wird, sich diese ID's zu merken, wenn man die Tabelle "bucht" pflegen will :

1. Man sucht einen Kunden in "Kunden" oder muß ihn sogar neu anlegen. Die ID merkt man sich.

2. Man sucht in "Veranstaltungen" nach der Veranstaltung oder legt sie ggfs. neu an. Die ID merkt man sich.

3. Mit den gemerkten oder notierten ID's gehe ich dann auf die Tabelle "bucht" und trage diese ID's dort ein.

Kann ich mir nun diese ganze "ID-Merkerei" abnehmen lassen von ner Programmiersprache ?!

Wenn jemand wüßte, wo man da irgendwo nen schönes Beispiel für findet (Internet, Buch,etc..) wäre das toll.

Irgendwie hab ich mich durch die ganze Theorie wohl doch etwas festgerannt in meinen Gedanken, so daß ich vielleicht sogar den Wald vor lauter Bäumen jetzt nicht mehr erkenne ?! :(

Flori

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich nehme jetzt mal an, du arbeitest direkt mit den Access Tabellen, da du dir die IDs "merkst".

In Access kannst du dir Formulare zusammenklicken wo du dann Kunden oder Veranstaltungen anlegst und buchst. Wie, kann ich dir nicht sagen, da ich Access nicht mag und kann.

Das ganze geht auch in jeder beliebigen Programiersprache.

Welche du da nimmst, hängt von deiner Umgebung und vielleicht Vorlieben ab.

Mit der Sprache erstellst du dann ebenfalls Masken mit denen du deine Stammdaten pflegst. Über eine Auswahlbox kannst du dann z.B. einer Veranstaltung Kunden oder einem Kunden Veranstaltungen zuweisen. Das zuweisen der Ids geschieht dann voll automatisch.

Wenn es nur um diesen speziellen Fall geht, ist Access wahrscheinlich die einfachste Wahl.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke nochmal @Jaraz !

Jetzt sehe ich da schon mal etwas klarer ! :)

Das mit dem "Automatischen Zuweisen der IDs" meinte ich.

Mein "Zwiespalt" besteht nun darin, daß ich Access kenne und mir daher schon bekannt war, daß es dort recht einfach ist, sowas durchzuführen. Hab mir in den letzten Minuten auch mal diese Beispiel-DBs von Access angeschaut und werde mich da mal einarbeiten nebenbei.

Denn eigentlich entwickle ich die Datenbank derzeit mit Informix auf Unix-Ebene und diese "Forms", welche Informix einem zur Datenpflege anbieten, sind eben schon wieder nen Tick zu simpel und unterstützen einen nicht in dieser automatischen Zuweisung (oder ich hab noch nicht gefunden, WIE man das macht ?!!).

Also werde ich mir da wohl was per Shell oder C oder sonsteiner Sprache basteln, die dann meine Stammdaten-Eingaben in Variablen speichert und letztlich über die Variablen weiß, welche Datensätze mit welchen IDs in einer weiteren Tabelle zuzuordnen sind. :)

Mal sehen, wie ich da am besten reinfinde.... :-/

Flori

Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus!!

Die Sache ist prinzipiell schon so, dass Du drei Tabellen pflegen musst. Allerdings hört es sich erst mal schlimmer an, als es ist.

Gehen wir einmal davon aus, dass die Kurse sich seltener ändern als die Kunden.

Dann gibt es ein Formular, in dem der Kunde erfasst wird, und auch, welche Kurse er nimmt. Du merkst Dir aber keine IDs, sondern hast eine Combo-Box, aus der Du auswählst, welche Kurse der Kunde nimmt. Im Hintergrund wird die Beziehung in der m:n Tabelle automatisch (von Dir angestossen) erfasst und gespeichert. Da die Drop-Down-Liste von der Tabelle mit den Kursen gebildet wird, bleibst Du auch auf dem neuesten Stand, wenn ein Kurs dazukommt. Sollte ein Kurs nicht mehr angeboten werden, besteht das Problem, dass es in der Beziehungstabelle noch einen Datensatz geben kann, der auf diesen Kurs verweist. Diesen Fall muss man abfangen.

Wenn Du noch Fragen hast, einfach nochmal melden.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...