11-02-2010, 10:15 PM
(11-02-2010, 09:02 PM)QuentinC a écrit : Par contre Séphi, je ne suis pas tout à fait d'accord sur la suite, je cite :
Citation :Ainsi, chaque ligne dans cette table de relation représente une instance.Dans ce cas ça signifie que si 1000 villageois habitent dans une ville, alors il y a 1000 lignes rigoureusement identiques dans la table de liaison. Étant donné que je n'ai pas d'informations additionnelles comme les pv, je ne vois pas ce que ça change avec un stockage unique villeId, type, nombre, donc avec un champ custom.
Bien entendu. Une relation 1, n n'est utile que si tu as besoin d'une gestion fine de chaque ressource.
(11-02-2010, 09:02 PM)QuentinC a écrit :Citation :Et concernant le stockage des coûts en dur, c'est horrible. Si on suit le raisonnement, il y a beaucoup de choses qu'on peut stocker en dur dans des variables... Et pourtant, la base de données est faîte pour ça... Séparer les sources de données (ah ça c'est en DB, ça c'est en fichier, ça c'est donné par un web service, etc.), c'est mélanger les torchons et les serviettes : c'est mal et dangereux.Tu peux développer ? Pourquoi est-ce mal ou dangereux ?
Mon argument contre est de dire qu'il s'agit de données constantes. Autrement dit une fois qu'elles ont été fixées, elles ne vont plus changer (sauf cas exceptionnel). Donc pourquoi sans cesse interroger la base de données sur des données constantes ? Je n'y vois là que des requêtes inutiles en plus, mais si tu me proposes cette possibilité, c'est qu'il y a sans doute un avantage que j'ignore encore.
Déjà, une précision que beaucoup des gen oublient souvent : Une base de données est faîte pour être interrogée. Arrêtez d'essayer de vous substituer à la base de données : c'est bancal et ça ne tourne pas plus rond. Vous n'y gagnez pas en performances et c'est la loose totale en maintenance. Les données propres aux modèles de bâtiment, tu seras de toute manière amené à les récupérer, rien que pour la sécurité : est-ce que le bâtiment que Robert cherche à contenir existe bien ?
De plus, si tu souhaites interroger ta base de données depuis une autre application (par exemple un site externe comme World of Warcraft et son armurerie) ? Comment tu fais ? Tu vas parser tes fichiers PHP ?
Bref, ça n'a aucun intérêt de stocker les informations ailleurs, à part à diminuer la qualité de l'application en ayant plusieurs sources de données fragmentées (un bout des infos dans la base, un bout dans des fichiers).
Sephi-Chan