J'ai une table existante qui est trop grande pour être traitée. J'ai essayé de le diviser en deux tables, et toujours pas satisfait.comment diviser cette table de base de données existante pour réduire la redondance
Voici le look de table comme, (package_id est une clé étrangère à la table d'emballage),
child_company title_category title_level revision start_date package_id
---------------------------------------------------------------------------
c1 manager senior 0 2015/1/1 120
c1 manager senior 1 2014/7/1 119
c1 architect senior 0 2014/7/1 70
c2 architect junior 0 2015/3/1 70
c3 manager senior 0 2015/1/1 120
c3 manager senior 1 2014/7/1 119
c4 manager senior 0 2015/2/1 122
c4 manager senior 1 2014/2/1 102
c4 manager senior 2 2013/7/1 101
c5 manager senior 0 2015/1/1 120
c5 manager senior 1 2014/7/1 119
Le problème avec ce tableau est que, de nombreuses entreprises d'enfants ont des informations de salaire similaires et leur histoire. (L'historique est indiqué par revision
, revision = 0
indique l'information salariale actuelle.). Par exemple, c1
, c3
, et c5
ont tous deux la même rémunération pour les cadres supérieurs.
Quelle est la meilleure façon de fractionner ce tableau pour réduire la redondance?
J'ai essayé de le diviser comme ce
child_company title_category title_level group_id
--------------------------------------------------------
c1 manager senior 0
c1 architect senior 1
c2 architect junior 2
c3 manager senior 0
c4 manager senior 3
c5 manager senior 0
Et
id group_id start_date package_id
1 0 2015/1/1 120
2 0 2014/7/1 119
3 1 2014/7/1 70
4 2 2015/3/1 70
5 3 2015/2/1 122
6 3 2014/2/1 102
7 3 2013/7/1 101
meilleures solutions? Merci
Quelle est la taille de cette table? Quels sont les goulots d'étranglement que vous rencontrez? Il est difficile d'imaginer qu'une telle table soit si grande que la décomposer en différentes tables soit la bonne solution. Généralement, les bases de données relationnelles offrent d'autres méthodes pour gérer des tables plus grandes. –
Quelles sont les relations de chaque colonne? Il semble que vous puissiez déplacer Title (title_category et title_level) dans sa propre table, mais je ne connais pas assez la structure pour vous aider. – druidicwyrm
Eh bien, c'est juste un exemple, la vraie table a environ un demi-milliard d'enregistrements et plus de colonnes. –