Was ist das beste SQL-Schema für dieses Projekt?

8

Ich möchte eine PHP-App erstellen, mit der Nutzer Fotos / Videos / Sounds einreichen können

Nun wird alles, was einen Datensatz hochgeladen hat, der SQL-Datenbank mit Dateiinformationen auf diese Weise hinzugefügt:

%Vor%

Die App zeigt alle aktuellen Gegenstände aller Art an. Ist es gut, wie das vorherige Schema zu machen oder alle Infos in EINER Tabelle so zu machen:

%Vor%

Ich meine, was ist der schnellste Weg, um die Infos zu sammeln, ich denke nur, dass das erste Schema besser organisiert ist als das letzte.

Danke

    
Ryan 05.03.2010, 20:49
quelle

4 Antworten

10

Definitiv nicht alles in einem. Wenn Sie Medien hochladen, würde ich eine Tabelle aller Medien erstellen:

  

Medien_Tabelle: ID | Medienpfad | ETC

     

Fotos_Tabelle: MediaID | Bild_Typ   | Bildbreite | Bildhöhe

     

Videos_Tabelle: MediaID | Dauer |   Codec

     

Sounds_table: MediaID | Bitrate |   Dauer | Codec

Sehen Sie sich die Datenbanknormalisierung an.

    
Dustin Laine 05.03.2010, 20:55
quelle
3

Es wird keinen großen Leistungsunterschied geben. Wenn Sie jedoch Ihre zweite Methode verwenden, denormalisieren Sie Ihre Datenbank ein wenig, was als schlechte Praxis angesehen wird.

    
Ben Hoffman 05.03.2010 20:55
quelle
1

Verwenden Sie das erste Schema - da jede Tabelle einen anderen Typ mit anderen Informationen darstellt.

Wenn Sie das zweite Schema hätten, würden Sie viele Nullen in Ihrer Tabelle haben.

Die meisten DB-Profis würden mit dem ersten gehen, da es mehr normalisiert ist.

    
Oded 05.03.2010 20:54
quelle
0

Obwohl die Antwort von durilai die beste ist, wenn Sie nicht damit einverstanden sind, können Sie auch die drei separaten Tabellen behalten und ihre Ergebnisse auf eine von zwei Arten kombinieren:

  • 1 Abfrage mit einer UNION.
  • 3 Abfragen, anschließend mit PHP kombiniert.
Bart van Heukelom 05.03.2010 21:02
quelle

Tags und Links