2011-04-24 2 views
0

Je suis nouveau à la programmation de base de données et j'utilise sqlite et python. A titre d'exemple, disons que j'ai une base de données nommée Animals.db que j'ouvre avec et que j'obtiens le curseur en python. Maintenant, si je voulais séparer les animaux par espèce, j'aurais un tableau différent par espèce et comme il peut être encore plus précis, j'aurais probablement besoin de quelque chose de plus spécifique que juste un tableau d'espèces.Quelle est la manière la plus efficace de traiter beaucoup de tables dans une base de données?

Je suis un peu confus sur la façon dont on alloue les bonnes données à la bonne zone d'une base de données, comment est-elle séparée. Y a-t-il des tables de tables? Si je voulais dire avoir une table pour chaque animal terrestre et un autre pour chaque animal de la mer, mais chaque table aurait besoin de spécifications supplémentaires (homo sapiens, etc.), comment puis-je faire cela?

+1

Votre projet peut être un bon candidat pour une solution de base de données NoSQL. Dans une autre question récente, similaire sur StackOverflow, quelqu'un a recommandé un modèle Entity Attribute-Value. http://en.wikipedia.org/wiki/Entity-attribute-value_model – Marvo

Répondre

2

Maintenant, si je voulais séparer les animaux par espèce j'aurais une table différente par espèce

Peut-être. Peut être pas. Vous pourriez utiliser une table qui ressemble à ceci. Cela dépend entièrement de ce que vous entendez par «séparer les animaux par espèces». Voici une interprétation raisonnable.

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 

Pour trouver tous les dauphins Clymene, vous pouvez utiliser une requête le long de ces lignes.

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

Animal_name 
-- 
Ginger 
Mary Ann 
Susie 

Commencez par collecter des données. Votre objectif est de collecter un ensemble de données d'échantillons représentatives. Exemple de données, parce que la population complète est trop grande pour gérer. Représentant, car idéalement, il représente tous les problèmes que vous risquez de rencontrer dans toute la population. Si "nom d'animal" ne signifie pas "Jack" ou "Ginger", mais "ocelot" et "Clymene dolphin", des données d'échantillons représentatives le rendront clair.

Questions connexes