두 가지 가능성이 있습니다 : sqlite 및 BerkeleyDB. 내 사용 사례는 명확히 관계형이 아니기 때문에 BerkeleyDB와 함께 사용하려면 이 유혹 받고 있습니다. 그러나 은 키를 사용하지 않고 키/값 쌍만 저장하므로 에 내 레코드를 저장하는 방법을 알고 있어야합니다.
당신이 묘사 한 것은 정확히 하나의 테이블 만 필요하다 할지라도 관계형에 관한 것입니다. SQLite을 사용하면 쉽게 처리 할 수 있습니다.
편집 : 관계형 모델은 테이블 간의 관계와 관련이 없습니다. 릴레이션은 다른 세트의 데카르트 곱의 부분 집합입니다. 예를 들어, 실수, 실수 및 실수의 데카르트 곱 (예, 모두 같은 3 가지)은 3 차원 좌표 공간을 생성하며이 공간에 관계식을 수식 (예 : x*y = z
)으로 정의 할 수 있습니다. 각각의 가능한 좌표 집합 (x0,y0,z0)
은 주어진 수식을 만족하면 관계에 있거나 그렇지 않은 경우 관계에 있습니다.
관계형 데이터베이스는이 개념을 몇 가지 추가 요구 사항과 함께 사용합니다. 첫째, 그리고 가장 중요한 것은 관계의 크기가 유한해야합니다. 공식을 만족시키는 무한히 많은 3 튜플이 있기 때문에 위에 주어진 제품 관계는 해당 요구 사항을 충족하지 못합니다.실제 문제를 해결하는 실제 컴퓨터에서 유용하거나 유용한 것에 더 많은 고려 사항이 있습니다.
문제에 대한 더 나은 생각은 각 유형의 지속성 메커니즘이 다른 것보다 더 잘 작동하는 지점을 생각하는 것입니다. 키 - 값 저장소로 시행하기가 거의 불가능한 관계형 데이터베이스 (외래 키 제약 조건) 간의 관계를 지원해야하는 별도의 데이터 집합 (테이블)이있는 경우 관계형 솔루션이 합리적이라는 것을 이미 알고 있습니다. 관계형의 또 다른 장점은 올바른 색인을 사용하여 풍부한 질의 임의 질의를 가능하게하는 것입니다. 이것은 데이터베이스 계층이 실제로 나타내는 데이터를 이해 한 결과입니다.
키 - 값 저장소에는 고유 한 장점이 있습니다. 중요한 점 중 하나는 키 - 값 저장소가 확장되는 방식입니다. memcached, couchdb, hadoop 모두 키 - 값 조회를 여러 서버에 배포하기가 쉽기 때문에 키 - 값 저장소를 사용하는 것은 아무런 결과가 아닙니다. 키 - 값 저장소가 잘 작동하는 또 다른 영역은 저장된 항목이 암호화 된 경우와 같이 키 또는 값이 불투명 한 경우에만 소유자가 읽을 수 있도록하는 경우입니다.
는 관계형 데이터베이스가 방금
이
SELECT t1.actor1
FROM workswith AS t1,
workswith AS t2,
workswith AS t3,
workswith AS t4,
workswith AS t5,
workswith AS t6
WHERE t1.actor2 = t2.actor1 AND
t2.actor2 = t3.actor1 AND
t3.actor2 = t4.actor1 AND
t4.actor2 = t5.actor1 AND
t5.actor2 = t6.actor1 AND
t6.actor2 = "Kevin Bacon";
어느 분명히 사용하는 다음 (원본이 아님)을 고려, 둘 이상의 테이블을 필요로하지 않는 경우에도 잘 작동하는지,이 시점 집에 드라이브 하나의 테이블 : workswith
베이컨 수가 6 인 모든 액터를 계산하려면
매우 도움이되는 답변을 보내 주신 모든 분들께 감사드립니다. 가장 좋은 것을 선택하는 것은 정말로 어려웠습니다. -/ –