Nous concevons une base de données (SQLServer 2005) pour stocker les données de mesure de nos instruments. Chaque seconde, chaque instrument renvoie 5 valeurs différentes (tous les flottants) - tels que max, min, avg etc. Lors de la conception d'une base de données, est-il préférable de stocker toutes ces valeurs dans une seule table (chaque ligne contenant un horodatage, type et valeur), ou pour les stocker dans des tables individuelles (par exemple: avgtable, maxtable, mintable) avec chaque ligne contenant un horodatage et une valeur? Nous stockerons des données provenant de 100 instruments maximum, et ils fonctionneront pendant des mois à la fois, de sorte que les données deviendront assez volumineuses.Table unique pour toutes les valeurs ou tables séparées pour chaque valeur?
Un design offre-t-il une performance améliorée par rapport à l'autre?
Merci
Si je stocke tout dans une seule table, j'aurais besoin de 5 lignes pour chaque mesure, et chaque ligne nécessiterait toujours un horodatage ET un identificateur de type. En raison de la nature des données recueillies, tous les instruments ne renverront pas tous les 5 types de données, donc nous ne voulons pas qu'une entrée contienne 5 champs, mais plutôt une entrée pour le point de données. Est-il toujours logique de tout stocker ensemble? – Curtis
Cela dépend de la façon dont vous allez le lire. Si vous accédez simplement à une information en même temps, utilisez une table par type de mesure, le nom de la table vous indique également le type de mesure. Si vous voulez lire toutes les 5 mesures en même temps pour l'affichage ou la recherche, alors 1 table avec un horodatage et 5 colonnes nommées de manière appropriée pour les 5 types de mesure et tout permettant d'être nul fera l'affaire. –