phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?RE:_Rel._Anf=E4nger_=28sorry_f=FCr_letztes_HTML=29?=

RE: Rel. Anfänger (sorry für letztes HTML)

Michael Donning mysql_(at)_lists.phpcenter.de
Tue, 29 May 2001 08:27:20 +0200


Hallo Bobby

> From: Bobby Eichholz [mailto:bob_(at)_mental-defact.de]
[...]
> ich will gerade meine erste größere DB erstellen.
> Dazu brauche ich ein paar infos in Bezug auf die Beziehungen zwischen
> einzelnen Tabellen.
> - Tabelle User: UserID,Name,E-Mail
> - Tabelle Equipment: PC,Monitor,Drucker
> - Tabelle Zeitpunkt: Datum
> Damit will ich jetzt erfassen, welcher User zu welcher Zeit welches
> Equipmant hat. Datum in extra Tabelle um Platz zu sparen
> (1Jahr+10000User=>365xDatum+10000Verknüpfungen sonst 10000xDatum) denke
> braucht.
>
> Brauche ich jetzt in der Tabelle Equipment eine Spalte UserID und Datum,
> oder kann man das auch anders verknüpfen? Welche Spalten muß ich
> als Index,
> Unique und oder Primärschlüssel deklarieren?
>

Ich weiß nicht, ob Du noch wissen willst, wer ein Equipment in der
Vergangenheit gehabt hat.
In dem Fall würde ich die Tabelle Datum durch eine Besitztabelle mit
folgenden Felder ersetzen.

UserID
EquipmentID
AbDatum
BisDatum

Solange BisDatum noch NULL ist (d.h. ohne Wert) befindet sich dann das
jeweilige Equipment in Besitz des Users. Das Handling gestaltet sich dann
natürlich etwas komplizierter. Z.B. muß bei einem Besitzübergang das
BisDatum in die Tabelle für den alten User eingetragen werden und dann ein
neuer Eintrag für den neuen User vorgenommen werden.

Dafür ist der Platzverbrauch wesentlich geringer.

Gruss, Michael Donning


---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive