2011-04-16 3 views
0

J'utilise une table pour stocker diverses classifications de tous les mots du dictionnaire.quel stockage convient pour stocker de nombreux ensembles de tables du même schéma?

Il ressemble à ceci:

word  category origin-language 
------- --------- --------------- 
happy adjective English 
bonjour greeting French 
... 

d'un ensemble de classifications, je suis en mesure de produire un certain nombre. Je veux trouver un ensemble qui produit un minimum, donc je veux stocker de nombreux ensembles de telles classifications (chacune est une table) avec leurs numéros respectifs dans un stockage.

Quel type de stockage convient à cette tâche? Je ne pense pas que la base de données relationnelle est appropriée, car il n'y a pas de type de données pour les données tabulaires.

Répondre

1

Je suggère une seule table comme la vôtre, plus une colonne pour identifier l'ensemble de classification:

Classification (ClassificationSet, Word, Catégorie, OiginLanguage) KEY ???

Plusieurs SGBD ont un type pour les tables et certains (par exemple Oracle) autorisent les tables imbriquées. Je ne pense pas que ce soit pertinent pour votre problème. Il est généralement plus simple de trouver un modèle équivalent sans tables imbriquées.

+0

Je crains que fait la table énorme, j'ai 1million de mots dans le dictionnaire, et il y a environ 100 ensembles différents de classifications. – kakarukeys

+0

100 millions de lignes n'est pas énorme. N'importe lequel des SGBD SQL populaires pourra facilement gérer les données de cette taille. Le séparer en différents tableaux comme vous l'avez suggéré ne réduirait pas les données. – sqlvogel

0

ma pensée actuelle est que je stocke toutes ces tables sous un schéma de base de données, nom qui leur table_1, table_2, ..., et créer une nouvelle table:

database_obj  outcome 
---------------- --------- 
table_1   12.3 
table_2   -6.4 
..... 
+0

IMO c'est une idée terrible: vous devrez soit répéter la requête, la contrainte et toute autre logique ou la rendre beaucoup plus compliquée que nécessaire (parce qu'elle doit accéder à de nombreuses tables au lieu d'une seule). Les requêtes seront plus complexes et performantes. L'administration et la gestion du changement seront plus difficiles. Plus grand potentiel de données incohérentes. Je ne peux pas penser à une bonne raison de créer 100 tableaux identiques quand un seul fera l'affaire. – sqlvogel

Questions connexes