RDMS 배경에서이 문제가 발생하므로 문서 데이터베이스의 모범 사례 중 일부는 새로운 것입니다. 공유 데이터를 저장하고 해당 데이터에 대한 액세스 권한을 얻는 가장 좋은 방법을 이해하려고합니다. SQL Server의 스키마는 다음과 같습니다문서 데이터베이스에서 공유 데이터 및 액세스 권한을 구성하는 가장 좋은 방법은 무엇입니까
프로젝트 표
projectId PK
ownerId FK User.userId
title
...
사용자 표
userId PK
name
...
ProjectShare 표
sharedById FK User.userId
sharedWithId FK User.userId
state
...
을
위의 표에서 사용자가 액세스 할 수있는 모든 프로젝트를 쿼리 할 수 있습니다. 그런 다음 각 프로젝트와 관련된 모든 데이터를 쿼리 할 수 있습니다. 각 프로젝트에는 많은 관련 테이블이 있습니다. 데이터의 계층 적 특성은 문서 데이터베이스에 적합합니다.
MongoDB, CouchDB 또는 DocumentDB와 같은 문서 데이터베이스에서 어떻게 구성하면 좋을까요?
정직하게 말하면, 이에 대한 정답은 없습니다. 비슷한 접근법으로 끝날 수도 있습니다. 결국 공유 프로젝트를 하위 문서로 포함하게 될 수도 있습니다 (단, 무한 배열 * 조건이 생성됩니다). 모든 컨텐츠를 단일 콜렉션에 보존하거나 (트랜잭션 용도로) 선택하거나 여러 콜렉션을 작성할 수 있습니다. 또한 이것은 실제로 DocumentDB 질문이 아닙니다. 이것은 문서 데이터베이스 모델링 질문입니다 (컬렉션 수를 제외하고 다른 문서 데이터베이스에도 동일한 기본 고려 사항이 적용될 예정이므로). –