Lana: Nachtrag: m:n bei mehreren Tabellen

Beitrag lesen

Hi ilja!

»» »» ich habe 3 Tabellen bei denen ich eine Spalte notiz hinzufügen möchte. Ein Datensatz soll mehrere Notizen haben können, also m:n.

»» »» Muss ich für jede der 3 Tabellen eine Tabelle notiz_tabelleN anlegen und dann die m:n Tabelle?

»» Eine Notiz soll auf ein Datensatz begrenzt sein, soll heißen, dass die selbe Notiz (Notiz-ID) nicht einen anderen Datensatz zugeordnet werden kann.
»» Das sollte doch per Trigger lösbar sein, oder?

es wäre sehr hilfreich, wenn du uns mehr über dein daten-design erzählen würdest, bzw. noch besser über deine fachlichkeit, die du abbilden willst.

ich habe z.B. folgende 3 Tabellen.

Ich möchte nun z.B. eine oder mehrere Notiz(en) für den Kunden, das Geschäft und den Raum ablegen können.

+------------+   +-------------+   +--------------+
| kunde      |   | geschaeft   |   | raum         |
+------------+   +-------------+   +--------------+
|            |   |             |   | id           |
+------------+   +-------------+   +--------------+
|            |   | id          |---| geschaeft_id |
+------------+   +-------------+   +--------------+
| id         |---| kunde_id    |   |              |
+------------+   +-------------+   +--------------+

kann/muss ich das wie folgt lösen?

+------------+   +-------------+   +--------------+
| k_notiz    |   | g_notiz     |   | r_notiz      |
+------------+   +-------------+   +--------------+
| id         |   | id          |   | id           |
+------------+   +-------------+   +--------------+
       |                |                  |
+------------+   +-------------+   +--------------+
| kunde      |   | geschaeft   |   | raum         |
+------------+   +-------------+   +--------------+
|            |   |             |   | id           |
+------------+   +-------------+   +--------------+
|            |   | id          |---| geschaeft_id |
+------------+   +-------------+   +--------------+
| id         |---| kunde_id    |   |              |
+------------+   +-------------+   +--------------+
| k_notiz_id |   | g_notiz_id  |   | r_notiz_id   |
+------------+   +-------------+   +--------------+

Ich hoffe, dass es jetzt etwas besser zu verstehen ist.

meine Frage ist, ob das auch mit nur einer notiz-Tabelle lösbar ist; falls ja, wie müssten dann die Beziehungen gesetzt werden?

Als Datenbank kommt MySQL 5.0.77 zum Einsatz und als Storage-Engine verwende ich InnoDB.

Lana