phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Rekursionen_in_Datens=E4tzen?=

[php] Rekursionen in Datensätzen

Martin Heller php_(at)_phpcenter.de
Tue, 26 Jun 2001 21:37:56 +0200


Hi Liste,

ich habe folgendes kleines Problem, was zwar nicht mit php zu tun hat, aber
villecht haben einige
von euch schon mit ähnliche Problemen zu tun gehabt:
Ich habe einen Datensatz MMC. Dieser Datensatz repräsentiert
alle Multimediakomponenten die es gibt. AVI, WAV, Projektfiles, Tapes usw...
Ein MMC kann aus mehreren MMC Komponenten bestehen, die wiederum aus MMC
komponenten bestehen können (rekursiv). dazu habe ich eine 2. Tabelle
angelegt, die RAW_material heißt.
folgender Konstukt: ich habe z.B. ein Tape auf dem 3 Filme sind,
die jeweils aus WAV und AVI Dateien bestehen. (Bis jetzt mit php und mysql
schon gelöst)
Diese WAV und AVI Dateien sind nun aber wiederrum aus Bändern  entstanden,
die ebenfalls wieder aus einzelnen Komponenten bestehen usw....
Nun möchte ich alle Komponenten, die mit diesem Tape zu tun haben
ausgeworfen haben. Eine einzelne Rekursion ist ja noch tragbar,
vielleicht auch 2 oder 3, dann wird es aber schon ziemlich aufwendig.
Wie löst man das am Besten, sollte man vielleicht eine Art index-Tabelle
schaffen, in der
gesucht wird, oder muss ich nun alle Rekursionen durchgehen (ziemlich
aufwendig).
Oder ist vielleicht mein Ansatz schon für relationale Datenbanken zu komplex
??
Für Anregungen und mögliche Lösungsvorschläge währe ich echt dankbar,
da ich zur Zeit echt nicht mehr viel weiter komme.


Gruss Martin

CREATE TABLE mmc (
   mmc_id int(10) unsigned NOT NULL auto_increment,
   mmc_name varchar(100) NOT NULL,
   mmc_location varchar(255) NOT NULL,
   mmc_format_id varchar(255) NOT NULL,
PRIMARY KEY (mmc_id)
);

CREATE TABLE raw_material (
   raw_material_id int(10) unsigned NOT NULL auto_increment,
   mmc_source int(10) unsigned DEFAULT '0' NOT NULL, (mmc_id)
   mmc_id int(10) unsigned DEFAULT '0' NOT NULL,
   soure_in varchar(11),
   comments varchar(255),
   PRIMARY KEY (raw_material_id)
);




php::bar PHP Wiki   -   Listenarchive