Je veux faire une application PHP qui permet aux gens de soumettre des photos / vidéos / sons
Maintenant, tout téléchargé a été ajouté à la base de données SQL avec des infos de fichier de cette manière: P>
File_Name | Picture_Type | Picture_Width | Picture_height | Duration | Codec | Bitrate
4 Réponses :
Utilisez le premier schéma - comme chaque tableau représente un type différent avec des informations différentes. P>
Si vous aviez le deuxième schéma, vous vous retrouveriez avec beaucoup de NULLS dans votre table. P>
La plupart des professionnels de la DB iraient avec le premier, car il est plus normalisé . p>
Certainement pas tout en un. Si vous téléchargez des médias, je créerais une table de tous les médias: p>
media_table: id | MediaPath | Etc p>
Photos_Table: Mediaid | Image_type | Image_width | Image_height p>
Vidéos_table: Mediaid | Durée | Codec p>
Sounds_Table: MediaID | Bitter | Durée | Codec p> blockQuote>
regarder dans Normalisation de la base de données . P>
C'est définitivement le meilleur moyen. Il est également aussi proche que les RDBMS arrivent à des objets avec héritage.
Merci Durilai, toute idée de la requête MySQL aura pour obtenir les infos tous les médias récents si j'utilise ce système? & Merci beaucoup
@Tom: rejoindre la table appropriée
@Tom, regarde dans rejoindre l'extérieur gauche code>
Il n'y aura pas de grande différence de performance. Cependant, l'utilisation de votre deuxième méthode désigne votre base de données un peu considérée comme une mauvaise pratique. P>
Bien que la réponse de Durilai soit la meilleure, si vous n'êtes pas d'accord avec cela, vous pouvez également conserver les trois tables distinctes et combiner leurs résultats de deux manières: P>