bonjour,
je dois concevoir une base de donnée permettant le stockage de points de mesure qui seront ensuite utilisés pour générer des graphiques de suivi de production.
A la sortie d'une ligne de production, un robot effectue des mesures pour vérifier la conformité des pièces produites.
Les mesures se font en 3, 10 ou 15 points différents suivant le modèle de la pièce fabriquée.
La production est d'environ 1000 pièces par jour, et donc :
- au minimum : 3000 points de mesure par jour,
- au maximum : 15 000 points de mesure par jour.
(=> c'est selon les plannings de production).
La consultation en base doit pouvoir se faire sur les 3 derniers mois (delete des mesures > 3 mois par batch toutes les nuits), donc :
- au minimum : 270 000 points (3000 x 30 x 3)
- au maximum : 1 350 000 points (15 000 x 30 x 3).
Quel est le meilleurs modèle pour cela ?
Une seule table :
MESURE (id_mesure, date, type_piece, pm1, pm2, pm3 ... pm14, pm15)
Ou deux tables :
MESURE (id_mesure, date, type_piece)
POINTS (id_point, id_mesure, position, valeur)
Je pense que c'est la seconde car elle correspond plus a une modélisation sous forme de relation, et de plus, si 1 mesure ne comporte que 3 points on ne stocke pas 12 valeurs 'null'.
Mais en terme de performance, quelle est la meilleurs solution ?
En terme d'espace de stockage disque ? (par ex : 1ere solution => 1 seul index, 2eme solutions => 2 index, voir 3 index)
La jointure a faire entre les deux tables ne risque t-elle pas de ralentir les perfs ? Ou peut être est-ce finallement la même chose ?
Pour info le SGBD n'est pas encore "choisi" :
- ORACLE,
- MS SQL server,
- ou MySQL.
(sachant que les deux 1er sont déjà utilisé dans la maison mais que le département pour qui je travaille préférerait la mise en place d'un serveur bdd qui lui serait dédié => MySQL ).
Merci de votre aide.
izioto
Partager