Je cherche un petit conseil sur la façon de configurer une base de données pour stocker des données numériques pour une application de modélisation. Mes utilisateurs disposent d'une feuille de calcul contenant des données à utiliser dans une application de modélisation. Les données sont structurées comme suit: Chaque onglet est un secteur d'activité, les colonnes sont des années et les lignes sont des éléments. Les cellules sont des nombres décimaux standards xx.xx etc.Modèle de base de données pour les données semi-structurées
2005 2006 2007 2008 2009 2010 2011 2012
data1 2.5 3.5
data2
data3
La deuxième application peut recevoir des données soit un lien ole à partir d'Excel ou d'une requête odbc. J'aimerais placer les données dans une base de données (serveur sql ou oracle) mais je ne sais pas comment structurer les tables en équilibrant la façon dont les données pénètrent dans la base de données, les interactions utilisateur et les requêtes en sortie vers la deuxième application. Le secteur d'activité, les éléments et les années ne sont pas tous fixes.
Je sais que c'est fondamentalement un tableau croisé dynamique de sorte que la réponse que je regarde est une table avec {ligne, élément, année, valeur}. Étant donné les problèmes liés à l'entrée et à la sortie de données avec ce format, serais-je mieux avec une table de {line, element, year1..yearx} avec un nombre arbitraire de colonnes pour les années à venir? Ce n'est pas un cas classique de valeur d'attribut d'entité mais quelque peu similaire. Les éléments ne changent pas très souvent mais il y en a un grand nombre 300+. Je pourrais les regrouper dans des tables séparées et utiliser une structure comme {line, year, element1..elementX} Ce serait probablement le plus simple à développer, mais ne semble pas "juste".
Les requêtes de sortie sont généralement conservées dans un seul élément de données avec ligne, année et valeurs transmises à la deuxième application via odbc.
Ou utilisez un tableau pivotant. Ils ne sont pas difficiles à faire dans le serveur SQL. –