这是我的实际表模式(我使用的是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
如何优化这两个部分:sample_n_id和rna_n_id(都是bigint(20)并且允许null=true)?
关于价值观:我们可以有:例如:
样本_1_id=2,
样本_2_id=5。。。
注意:可以更新值。
思想?
谢谢。
编辑:
我有三张桌子:
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
所以,Rna和样本表之间有一定的关系。
例子:
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
所以,sample_id=2=>在表sample:id=2=>sample_id=Sample1中
最佳答案
我不确定你在寻找什么样的优化,但这绝对应该被标准化为一个定义实验样本和实验rna关系的表,例如:
experiments_to_samples
id | experiment_id | sample_id |
experiments_to_rnas
id | experiment_id | rna_id |
这样,每个
experiment
都可以有无限数量的sample
和rna
引用。这是假设有一个表
samples
和一个表rna
。