1:1 - Beziehung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: 1:1 - Beziehung

Beitrag von AndreasJBittner »

Hallo,

Du wirst eine "Zustands"variable (verliehen = {true, false}) mitführen müssen, das scheint mir einfacher zu sein, als immer wieder abzufragen, ob Ding x einer Person zugeordnet ist.

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: 1:1 - Beziehung

Beitrag von DPunch »

Normalerweise würde ich das mit einer Zwischentabelle lösen, allein schon, um zum Beispiel zusätzliche Informationen wie Verleihdatum etc. nicht in den Tabellen Gegenstand oder Person unterbringen zu müssen.

Tabelle "Leihinfos"

LeihID - PK
Personen-FK
Gegenstand-FK
Zusätzliche Infos

Dabei Gegenstand-FK auf Unique setzen (und wenn jede Person insgesamt auch nur einen Gegenstand ausgeliehen haben darf, dann eben auch noch Personen-FK auf Unique).
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: 1:1 - Beziehung

Beitrag von AndreasJBittner »

Hi,

ja, dann hast Du eine Übersicht über alle Ausleihvorgänge, aber das Attribut 'verliehen' gehört ja zum Gegenstand und das würde ich dann eben auf true setzen. Für weitere Ausleihvorgäne würde ich einen View machen, der eben alle verliehenen Sachen ausblendet - dann kommt beim Ausleihvorgang nur zur Auswahl, was noch da ist.
Bei der Rückgabe mußt Du das Attribut eben wieder zurücksetzen.

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
Antworten