RSS DEV 커뮤니티

외래 키: SQL에서는 필수, 하지만 문서 데이터베이스에서는 그렇지 않다?

관계형 데이터베이스는 외래 키를 사용하여 참조 무결성을 적용하고 테이블 간의 관계를 관리합니다. 외래 키는 관련 데이터를 연결하여 조인 작업의 일관성과 정확성을 보장합니다. 반면 MongoDB는 애플리케이션 중심의 접근 방식을 사용하여 관계를 관리합니다. MongoDB에서는 공유 수명 주기가 있는 관련 데이터를 단일 문서에 포함할 수 있으므로 강력한 관계를 위한 외부 키가 필요하지 않습니다. MongoDB의 $lookup 연산은 왼쪽 우선 외부 조인과 유사한 조인 연산의 일관성을 보장합니다. 관계형 데이터베이스에서 마이그레이션할 때 'ON DELETE CASCADE'는 포함으로, 'ON DELETE SET NULL'은 확장 참조로 변환됩니다. 'ON DELETE RESTRICT'는 MongoDB의 삭제 관리를 위한 애플리케이션 로직이 필요합니다. 업데이트 작업은 참조에 변경할 수 없는 '_id'를 사용하여 피해야 합니다. 다대다 관계는 MongoDB에서 참조 배열로 변환됩니다. MongoDB의 데이터 임베딩 및 집계 파이프라인은 문서 관계와 일관성을 유지할 수 있는 유연한 방법을 제공합니다.
favicon
dev.to
Foreign Keys: A must in SQL, but not in a Document Database?