design-problem (meta-eigenschaften)
TobiasBuschi
- datenbank
0 Cheatah0 TobiasBuschi0 Cheatah
0 Tom
Hallo allerseits,
Ich will Eigenschaften von Dateien in einer Datenbank speichern.
Jetzt mein Problem:
Abhängig vom Mime-type gibt es zusätzliche Eigenschaften, die aber nur auf den Mime-type zutreffen z.B.
image/jpeg:
oder:
audio/mp3
Wie bilde ich das in einer Datenbank ab?
Soll ich zusätzliche Tabellen für jeden mimetype erstellen und den Fremdschlüssel der Datei dort speichern.
Oder alle Eigenschaften in der Tabelle der Datei, auch wenn dann viele Eigenschaften nicht benötigt werden.
Oder sonst irgendwie?
Gibt es da einen Standard?
mfg Tobias Buschor
Hi,
Wie bilde ich das in einer Datenbank ab?
dafür gibt es keine Standardlösung. Eine wäre diese:
Soll ich zusätzliche Tabellen für jeden mimetype erstellen und den Fremdschlüssel der Datei dort speichern.
Eine andere wäre _eine_ Zusatztabelle mit Name/Value-Pairs.
Oder alle Eigenschaften in der Tabelle der Datei, auch wenn dann viele Eigenschaften nicht benötigt werden.
Dies würde ich nicht empfehlen. Wenn, dann speichere eine Anzahl Referenzen auf Fremdtabellen; aber auch das bedeutet, bei einem weiteren MIME-Type das Layout dieser Tabelle anzupassen, was zu vermeiden vorteilhaft wäre.
Cheatah
dafür gibt es keine Standardlösung.
Wie machen das denn die "Grossen"?
Es ja Datenbanken-Systeme, die das Dateisystem abbilden/simulieren um schnell nach Dateien suchen zu können.
Hi,
dafür gibt es keine Standardlösung.
Wie machen das denn die "Grossen"?
individuell. Es gibt auch bei den "Großen" keine Standardlösung.
Cheatah
Hello,
Wie bilde ich das in einer Datenbank ab?
Eine Tabelle mit dem Objekt
Eine Tabelle mit der Eigenschaftsart
Eine Tabelle mit den Eigenschaften *)
Eine Tabelle mit den zulässigen/vorgeschriebenen Eigenschaften pro Eigenschaftsart
*) eigentlich stößt man hier auf ein Grundproblem der Datenbankdarstellung:
Variante Eigenschaftstypen
Die Eigenschaften können unteschiedliche Datentypen (Spaltentypen) haben und müssten daher
nach ihren Typen in einzelne Tabellen aufgelöst werden.
In der Tabelle 'zulässige Eigenschaften' steht dann daher auch der Verweis auf die
eigentliche Typen-Tabelle und in 'Eigenschaften' nur ein Verweis in diese Tabelle.
Mit MySQL habe ich ein solches Modell bisher noch nicht hinbekommen.
Da muss man dann ggf. ersatzweise mit Varianten Datentypen arbeiten und nach dem Holen der Daten eine Typzuweisung vornehmen, wie sie in Tabelle 'zulässige Eigenschaften' vermerkt ist.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom