【问题标题】:What is the most effective way to handle lots of tables in a database?处理数据库中大量表的最有效方法是什么?
【发布时间】:2011-04-25 08:54:25
【问题描述】:
我是数据库编程的新手,正在使用 sqlite 和 python。例如,假设我有一个名为 Animals.db 的数据库,我用它打开并在 python 中获取光标。现在,如果我想按物种来区分动物,我会为每个物种准备一张不同的表格,因为它可以变得更加具体,我可能需要一些更具体的东西,而不仅仅是一张物种表格。
我有点困惑如何将正确的数据分配到数据库的正确区域,它是如何分离的。有表吗?
如果我想说为每种陆地动物准备一张桌子,为每种海洋动物准备一张桌子,但每张桌子都需要进一步规范(智人等),我该怎么做?
【问题讨论】:
标签:
database
database-design
【解决方案1】:
现在如果我想分开
按物种划分的动物我会有一个
每个物种不同的表
也许吧。也许不吧。您可以使用如下所示的表格。这完全取决于您所说的“按物种分开动物”的意思。这是一种合理的解释。
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
要查找所有克莱门海豚,您可以使用以下查询。
select Animal_name
from animals
where species = 'Stenella clymene'
order by Animal_name
Animal_name
--
Ginger
Mary Ann
Susie
从收集数据开始。您的目标是收集一组具有代表性的样本数据。 样本数据,因为整个人口太大而无法处理。 代表,因为理想情况下,它代表了您在整个人群中可能遇到的所有问题。如果“动物名称”对您来说不是指“杰克”或“金杰”,而是“豹猫”和“克莱门海豚”,那么有代表性的样本数据就会清楚地说明这一点。