moin,
erst mal noch ein kleiner hinweis für dich. tabellennamen sollte man einheitlich im singular halten, hat sich so "eingebürgert" und ich halte es auch für sinnvoll.
Jetzt stehe ich aber vor der Situation: Wenn der Content ein Video ist, soll zusätzlich noch die Länge des Videos gespeichert werden. Wenn der Content dagegen ein Bild ist, soll das Bild einer der verfügbaren Bilder-Gallerien zugeordnet werden.
das problem geht ein wenig in das thema objektorientierung hinein. nur lassen sich relationale dbms und objektorientierte ansätze schwer miteineinander verheiraten. man hat quasi gemeinsame attribute, die immer vorkommen aber auch wieder spezifische, die je nach typ sich unterscheiden. die hersteller versuchen schon lange dieses problem bei rdbms zu lösen, meiner meinung nach ohne erfolg. mein tip an dich wäre, trenne die verschiedenen entittypen voneinander, wenn sie sich in den attributen unterscheiden. es gibt fälle, da ist das nicht möglich, zum beispiel weil die attribute und somit das daten-design sehr dynamisch ist. aber das scheint mir hier nicht der fall zu sein.
Es sind also zusätzliche Tabellen nötig, die aber nicht immer gebraucht werden. Ist das ein Problem? Oder kann ich zb einfach eine Tabelle "video_length" erstellen und eine 1:1 Beziehung zur Tabelle "content" herstellen? In die Tabelle "video_length" wird dann natürlich nur etwas eingetragen, wenn es sich um ein Video handelt.
das problem bei dieser lösung ist, dass du abhängig von den typen unterschiedliche JOINs bilden müsstest, was alles komplizierter macht. ich würde davon abraten.
Ilja