Tom: strukturelle Frage

Beitrag lesen

Hello,

ich möchte eine Datenbank aufbauen (das DBMS ist noch offen) die Daten zu Wohnungen beinhaltet. Dabei habe ich nun die Frage wie man folgendes am besten abbildet:

Der Hund darf nur ins Wohnzimmer.
Die Katze darf ins Wohnzimmer und in die Küche.
Das Kind darf ins Wohnzimmer, ins Esszimmer, in das Bad, in das Kinderzimmer.
Der Vater darf ins Wohnzimmer, ins Esszimmer, ins Bad, ins Schlafzimmer und in die Küche.
Die Mutter darf ins Wohnzimmer, ins Esszimmer, ins Bad, ins Schlafzimmer und in die Küche
usw, usw

Die Liste kann theoretisch unbegrenzt fortgesetzt werden. Sowohl auf der Bewohnerseite als auch auf der Zimmerseite.

Wie bildet man das in einer DB ab?

  • Die Wohnung
      hat Eigenschaften
    -- welche Zimmer hat sie?
    -- welche Etage liegt sie?
    -- wo liegt sie?

  • das Zimmer
      hat Eigenschaften:
    -- welche Größe
    -- Zentralheizung?
    -- Anzahl Türen

  • Der Bewohnertyp
      hat Eigenschaften
    -- Geschlechtsliste
    -- Alter von
    -- Alter bis
    -- Größe von
    -- Größe bis

  • Die tatsächlichen Bewohner (leiten sich vom Bewohnertyp ab)
      haben Eigenschaften
    -- Geschlecht
    -- Alter
    -- Größe

Und nun gibt es auch noch Paarungen zwischen den einzelnen Entitäten

  • Wohnung <-> Bewohnertyp

und

  • Zimmer <-> Bewohner
    -- darf von Uhr
    -- bis Uhr
    -- immer (boolean)  (würde in diesem Beispiel die Zeit redundant überschreiben)
    -- nur in Begleitung

Dazu benötigst Du dann jeweils eine Zwischentabelle, die die m:n-Verknüfungen aufnimmt und die ggf. zusätzlichen Bedingungen dazu speichert.

Guckst Du auch hier
http://de.wikipedia.org/wiki/Entity-Relationship-Modell
http://sql.idv.edu/thema/dbgrundlagen/beziehungen.htm#5
http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap5.htm

usw.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de