MongoDB를 사용하여 관계형 데이터베이스를 만들 수 있습니까?
저는 MongoDB를 이용하여 학생 관리 시스템을 만들 것입니다.학생용 테이블 하나와 출석 기록용 테이블 하나로 하겠습니다.아래 그림과 같이 학생 테이블에 닿을 수 있는 출석 테이블의 키를 받을 수 있을까요? 어떻게?
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
'programing' 카테고리의 다른 글
예외에서 루프를 계속할 수 있습니까? (0) | 2023.07.16 |
---|---|
메모리를 2의 거듭제곱으로 할당하는 것이 더 나을까요? (0) | 2023.07.16 |
펠리컨 3.3 펠리컨-퀵 스타트 오류 "값 오류: 알 수 없는 로케일: UTF-8" (0) | 2023.07.16 |
어떻게 RGB 이미지를 numpy 배열로 변환합니까? (0) | 2023.07.16 |
총 행 수와 고유 행 수 간의 차이를 가져오기 위한 쿼리 (0) | 2023.07.16 |