WRInaute passionné
Bonjour, c'est la première fois que j'essaye de faire une chose comme ça, donc je me demande quelle est la façon de faire que les pros utilisent déjà.
Ce que je veux faire c'est suivre l'évolution des propriétés d'une entitée quelconque au fil du temps.
Prenons un exemple concret :
On a un catalogue produits, chaque produit a un nom, une description, un prix, et d'autres propriétés.
J'aimerai donc faire un programme qui suive l'évolution des propriétés de chaque produit. Sans jamais toucher au catalogue bien sûr. Simplement en vérifiant chaque jour chaque produit pour voir si une des propriétés à changé, et si oui, en garder une trace. C'est à dire ne rien perdre des modifications. Exemple :
Un jour, un produit change de prix, un autre a son nom modifié :
- je veux garder en mémoire dans une base mysql, l'ancien prix, et le nouveau prix, avec la date du changement du prix. Pareil pour le nom de l'autre produit.
Donc, en ayant des milliers de produits, comment faire pour ne pas avoir une base de données qui grossissent trop vite?
Si à chaque fois qu'il y a un changement, j'enregistre une nouvelle entrée avec toutes les propriétés du produit, la taille de la base de données risque de vite grimper...
Comment est-ce que les pros gèrent ce problème? Est-ce qu'il font une table par propriété par exemple, avec une table produit réduite au minimum (id produit) au lieu d'une table pour les produits avec chaque propriété dans des champs?
J'espère vraiment m'être fait comprendre et que vous pourrez m'aider, m'indiquer des resources ou me donner des pistes, car je sais que ce n'est pas facile d'aider avec seulement de la théorie, sans exemple réel.
Merci.
Ce que je veux faire c'est suivre l'évolution des propriétés d'une entitée quelconque au fil du temps.
Prenons un exemple concret :
On a un catalogue produits, chaque produit a un nom, une description, un prix, et d'autres propriétés.
J'aimerai donc faire un programme qui suive l'évolution des propriétés de chaque produit. Sans jamais toucher au catalogue bien sûr. Simplement en vérifiant chaque jour chaque produit pour voir si une des propriétés à changé, et si oui, en garder une trace. C'est à dire ne rien perdre des modifications. Exemple :
Un jour, un produit change de prix, un autre a son nom modifié :
- je veux garder en mémoire dans une base mysql, l'ancien prix, et le nouveau prix, avec la date du changement du prix. Pareil pour le nom de l'autre produit.
Donc, en ayant des milliers de produits, comment faire pour ne pas avoir une base de données qui grossissent trop vite?
Si à chaque fois qu'il y a un changement, j'enregistre une nouvelle entrée avec toutes les propriétés du produit, la taille de la base de données risque de vite grimper...
Comment est-ce que les pros gèrent ce problème? Est-ce qu'il font une table par propriété par exemple, avec une table produit réduite au minimum (id produit) au lieu d'une table pour les produits avec chaque propriété dans des champs?
J'espère vraiment m'être fait comprendre et que vous pourrez m'aider, m'indiquer des resources ou me donner des pistes, car je sais que ce n'est pas facile d'aider avec seulement de la théorie, sans exemple réel.
Merci.