2010-04-23 7 views
1

Voici mon schéma de la table réelle (j'utilise Mysql):Optimiser la table mysql?

Table experiment : 
code(int) 
sample_1_id 
sample_2_id 
... until ... sample_12_id 
rna_1_id 
rna_2_id 
... until ... rna_12_id 
experiment_start 

Comment puis-je optimiser à la fois partie: sample_n_id et rna_n_id (tous sont bigint (20) et laisser null = true)?

A propos des valeurs: nous pouvons avoir: ex: sample_1_id = 2, Sample_2_id = 5, ...

Note: Les valeurs peuvent être mises à jour.

Des idées? Merci.


Edit:

J'ai 3 tables:

Table experiment : 
sample_1_id .. sample_12_id (not useful with normalization) 
rna_1_id .. rna_12_id (not useful with normalization) 


With normalization I should have : 

Table Rna : 
id 
experiment_id 
rna_id 
rna_name 
sample_id (link to a sample in Table sample) 

Table Sample : 
id 
experiment_id 
sample_id 
sample_name 

Donc, il y a une relation entre arn et une table échantillon.

Exemple:

Table rna : 
    id =1 
    experiment_id = 1 
    rna_id = rna1 
    rna_name = name1 
    sample_id = 2 

    Table Sample : 
    id = 2 
    experiment_id = 1 
    sample_id = Sample1 
    sample_name = SampName 

Ainsi, sample_id = 2 => Dans l'échantillon de table: id = 2 => sample_id = Échantillon1

Répondre

3

Je ne sais pas quel genre d'optimisation que vous recherchez, mais cela devrait certainement être normalisée dans une table de définition de l'échantillon d'expérience et de relations arn expérience, par exemple comme ceci:

experiments_to_samples 
id | experiment_id | sample_id | 


experiments_to_rnas 
id | experiment_id | rna_id | 

de cette façon, chaque experiment peut avoir un nombre illimité de références sample et rna.

Ceci suppose qu'il existe un tableau samples et un tableau rna.

+0

Je voudrais ajouter une relation entre arn et le tableau de l'échantillon (voir mon edit)? –

+0

@fabien pouvez-vous ajouter plus de détails à la façon dont un ARN est lié à un échantillon? –

+0

J'ajoute un exemple dans mon post précédent. –

0

normalisent vos tables comme ceci:

Table experiment : 
code(int) 
experiment_start 

Table sample: 
sample_id 
code fk to experiment.code 


table rna: 
rna_id 
code fk to experiment.code