je les tableaux suivants: - messages - fichiers - événements - documentsUne table vs plusieurs tables
Chaque poste, fichier, événement, document peut avoir des commentaires.
Quel est le meilleur schéma de base de données pour cela, et pourquoi?
Première solution
- table commentaires (comment_id, author_id, commentaire)
- 4 tables pour créer des relations (posts_comments (post_id, comment_id), files_comments (file_id, comment_id), events_comments (event_id, comment_id), documents_comments (document_id, comment_id))
Deuxième solution
- commentaires Table (comment_id, author_id, commentaire)
- items_comments (comment_id, PARENT_TYPE (ENUM [ 'post', 'fichier', 'événement', 'document']), id_parent)
Quelle est la meilleure solution pour cela, ou laquelle de deux devrais-je utiliser?
Je préfère la première solution, être flexible, donc vous devez modifier le fichier de nom des fichiers en éditant 1 nom (si vous voulez), pas tous dans le La table items_comments que vous avez dans la deuxième solution. Als essayer de comprendre la normalisation de la base de données http://en.wikipedia.org/wiki/Database_normalization –