2011-04-24 85 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 

從收集數據開始。您的目標是收集一組具有代表性的樣本數據。 樣本數據,因爲整個人口太大而無法處理。 代表,因爲理想情況下它代表了您可能遇到的所有問題。如果您的「動物名稱」不是「傑克」或「姜」,而是「豹貓」和「克萊門海豚」,代表性的樣本數據將會明確說明。

相關問題