Ce n'est pas l'objet principal de cette discussion mais...
C'est à dire commencer le schéma de données et commencer à développer avec puis compléter ce schéma au fur et à mesure de l'avancement.Non pour deux raisons, on peut faire une modélisation partielle, tester la validité du modèle ( méthode agile ) et murir sa réflexion.
Et il y a là intérêt à ce que le modèle de données soit béton dès le début sinon une modification de ce qui a déjà été modélisé peut entraîner une modification de ce qui a déjà été développé.
La lecture de nombreux messages de fsmrel qui a une grande et longue expérience professionnelle dans les grosses bases de données de grands comptes, ainsi que ceux, parfois plus violents, de SQLPro, m'ont convaincu du contraire pour les données de production.Pour la montée en charge c'est faux, une contrainte rajoute du temps de traitement (index, clef, ...), avoir un beau schéma garantie la cohérence des données et non la performance. Je suis en décisionnel et on dénormalise quand le besoin s'en fait sentir. Ce sont des choix d'optimisation.
Ma maigre expérience m'a conforté dans l'importance de la modélisation rigoureuse des données, y compris pour les performances.
Je ne connais pas bien le domaine du décisionnel mais j'ai cru comprendre qu'en fait en décisionnel on travaille sur des données mortes qui sont une réplication à un instant t des données de production. Dans ce cas, oui, il peu être utile de construire en quelque sorte des vues matérialisées pour interroger plus rapidement une grande masse de données. Mais la cohérence des données vient de la construction du package que l'on veut interroger. Ensuite on peut mettre à la poubelle ces données qui n'ont pas vocation à être modifiées.
Ceci dit, évitons de polluer cette discussion avec un débat qui dépasse notre débutant valeureux qui veut apprendre à bien faire les choses !
Partager