programing

MongoDB를 사용하여 관계형 데이터베이스를 만들 수 있습니까?

lastcode 2023. 7. 16. 13:35
반응형

MongoDB를 사용하여 관계형 데이터베이스를 만들 수 있습니까?

저는 MongoDB를 이용하여 학생 관리 시스템을 만들 것입니다.학생용 테이블 하나와 출석 기록용 테이블 하나로 하겠습니다.아래 그림과 같이 학생 테이블에 닿을 수 있는 출석 테이블의 키를 받을 수 있을까요? 어떻게?

diagram of a relational database

MongoDB의 아이디어는 관계형 데이터를 제거(또는 최소화)하는 것입니다.출석 데이터를 각 학생부에 직접 삽입하는 것을 고려해 보셨습니까?이는 실제로 MongoDB에서 선호하는 설계 패턴이며 성능과 확장성을 훨씬 향상시킬 수 있습니다.

고도의 관계형 및 정규화된 데이터가 정말로 필요한 경우 MongoDB 사용을 다시 고려해 보는 것이 좋습니다.

데이터를 사용하려는 방법에 따라 답이 달라집니다.출석표를 삽입하거나 연결하는 두 가지 옵션이 있습니다.이러한 접근 방식에 대한 자세한 내용은 http://www.mongodb.org/display/DOCS/Schema+Design 에서 확인할 수 있습니다.

일반적인 사용 사례의 경우, 각 학생 기록에 "출석" 표가 포함되도록 이 특정 컬렉션을 포함시킬 수 있습니다.출석 기록이 학생 간에 공유될 가능성이 낮고 출석 데이터를 검색하려면 학생 정보도 필요할 수 있기 때문에 이 방법이 효과적입니다.출석 데이터 검색은 다음과 같이 간단합니다.

db.student.find( { login : "sean" } )
{
  login : "sean",
  first : "Sean", 
  last : "Hodges",
  attendance : [
    { class : "Maths", when : Date("2011-09-19T04:00:10.112Z") },
    { class : "Science", when : Date("2011-09-20T14:36:06.958Z") }
  ]
}

네. 엄격하고 빠른 규칙은 없습니다.당신은 데이터를 포함하거나 참조하는 것의 장단점을 살펴봐야 합니다. 동영상은 분명 도움이 될 것입니다(https://www.youtube.com/watch?v=-o_VGpJP-Q0&t=21s) .예에서 사용자의 전화 번호는 거의 변경되지 않으므로, 전화 번호 속성은 문서 데이터베이스의 동일한 테이블에 있어야 합니다.

언급URL : https://stackoverflow.com/questions/8129557/can-one-make-a-relational-database-using-mongodb

반응형