Je me demandais si vous avez un site Web avec une douzaine de différents types d'annonces (boutiques, restaurants, clubs, hôtels, événements) qui nécessitent des champs différents, y at-il un avantage de créer une table avec des colonnes définies comme si
Exemple Shop:table fixe unique avec plusieurs colonnes vs tables abstraites flexibles
shop_id | name | X | Y | city | district | area | metro | station | address | phone | email | website | opening_hours
Ou une approche plus abstraite semblable à ceci:
object_id | name
---------------
1 | Messy Joe's
2 | Bate's Motel
type_id | name
---------------
1 | hotel
2 | restaurant
object_id | type_id
---------------
1 | 2
2 | 1
field_id | name | field_type
---------------
1 | address | text
2 | opening_hours | date
3 | speciality | text
type_id | field_id
---------------
1 | 1
1 | 2
2 | 1
2 | 3
object_id | field_id | value
1 | 1 | 1st street....
1 | 3 | English Cuisine
Bien sûr, il peut être plus abstraite si la valeur de sont prédéfinies (exemple: spécialités coul Si j'ai l'approche abstraite, cela peut être très flexible, mais les requêtes seront plus complexes avec beaucoup de jointures. Mais je ne sais pas si cela affecte la performance, en exécutant ces requêtes 'plus complexes'.
Je serais intéressé de savoir quels sont les avantages et les inconvénients des deux méthodes. Je peux juste imaginer pour moi-même, mais je n'ai pas l'expérience pour le confirmer.
Merci. Vous pouvez être intéressé par ** cette [question/réponse] (http://stackoverflow.com/questions/4304217/database-schema-which-can-support-specialized-properties/4359193#4359193) ** ainsi. – PerformanceDBA