2011-04-24 5 views
0

저는 데이터베이스 프로그래밍에 익숙하지 않고 sqlite와 python을 사용하고 있습니다. 예를 들어, 내가 열어서 Python에서 커서를 얻는 Animals.db라는 데이터베이스가 있다고 가정 해 보겠습니다. 이제 종별 동물을 분리하고 싶다면 종마다 다른 표를 가지게 될 것이고 더욱 구체화 될 수 있기 때문에 종의 표보다 더 구체적인 것이 필요할 것입니다.데이터베이스에서 많은 테이블을 처리하는 가장 효과적인 방법은 무엇입니까?

데이터베이스의 올바른 영역에 올바른 데이터를 할당하는 방법에 대해 약간 혼란 스럽습니다. 어떻게 분리되어 있습니까? 테이블 테이블이 있습니까?

내가 모든 육지 동물을위한 테이블과 바다의 모든 동물을위한 테이블을 갖도록하고 싶다면 각 테이블에는 추가 사양 (호모 사피엔스 등)이 필요 하겠지만 어떻게해야합니까? 내가 종으로 동물을 분리하기를 원한다면

+1

프로젝트가 NoSQL 데이터베이스 솔루션에 적합한 후보가 될 수 있습니다. 다른 최근 StackOverflow에 대한 비슷한 질문에서, 누군가 Entity Attribute-Value 모델을 추천했습니다. http://en.wikipedia.org/wiki/Entity-attribute-value_model – Marvo

답변

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 

모든 클라이 민 돌고래를 찾으려면이 줄을 따라 검색어를 사용할 수 있습니다.

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

Animal_name 
-- 
Ginger 
Mary Ann 
Susie 

데이터 수집으로 시작하십시오. 귀하의 목표는 일련의 대표 샘플 데이터를 수집하는 것입니다. 샘플 데이터. 전체 채우기가 너무 커서 처리 할 수 ​​없습니다. 대표은 이상적으로 전체 인구와 관련된 모든 문제를 나타 내기 때문에. "동물 이름"이 "잭"또는 "진저"가 아니라 "오셀롯"및 "클라이 민 돌고래"를 대표하는 경우 대표 샘플 데이터를 통해 알 수 있습니다.

관련 문제