2011-04-24 235 views
0

我是新来的数据库编程,并使用sqlite和python。作为一个例子,可以说我有一个名为Animals.db的数据库,我打开它并在python中获取光标。现在,如果我想按物种分离动物,我会为每个物种提供不同的表格,因为它可以变得更具体,我可能需要比物种表格更具体的东西。什么是处理数据库中大量表的最有效方法?

我对如何将正确的数据分配到正确的数据库区域有困惑,它是如何分离的。有桌子的桌子吗?

如果我想让每个陆地动物都有一张桌子,每个海洋动物都有另一张桌子,但每张桌子都需要进一步的说明(人类智能等),我该怎么做?

+1

您的项目可能是NoSQL数据库解决方案的理想选择。在另一个近期,类似的问题在StackOverflow上,有人推荐了一个Entity Attribute-Value模型。 http://en.wikipedia.org/wiki/Entity-attribute-value_model – Marvo 2011-04-24 20:57:51

回答

2

现在,如果我想通过物种的动物 分开我会每个物种 不同的表

可能。也许不会。你可以用一张看起来像这样的表格。这完全取决于你的意思是“按物种分开动物”。这是一个合理的解释。

Animal_name  Sex Species 
------ 
Jack    M Leopardus pardalis 
Susie   F Leopardus pardalis 
Kimmie   M Leopardus pardalis 
Susie   F Stenella clymene 
Ginger   F Stenella clymene 
Mary Ann   F Stenella clymene 

要找到所有的Clymene海豚,您可以使用沿着这些路线的查询。

select Animal_name 
from animals 
where species = 'Stenella clymene' 
order by Animal_name 

Animal_name 
-- 
Ginger 
Mary Ann 
Susie 

从收集数据开始。您的目标是收集一组具有代表性的样本数据。 样本数据,因为整个人口太大而无法处理。 代表,因为理想情况下它代表了您可能遇到的所有问题。如果您的“动物名称”不是“杰克”或“姜”,而是“豹猫”和“克莱门海豚”,代表性的样本数据将会明确说明。

相关问题