MongoDB를 사용하여 학생 관리 시스템을 만들 계획입니다. 나는 학생들을위한 테이블 하나와 출석 기록을위한 테이블 하나를 가질 것이다. 아래 그림과 같이 출석 테이블에 키가 생겨 학생 테이블에 도달 할 수 있습니까? 방법?MongoDB를 사용하여 관계형 데이터베이스를 만들 수 있습니까?
는답변
MongoDB를 뒤에 아이디어는 관계형 데이터를 제거 (또는 적어도 최소화)하는 것입니다. 출석 데이터를 각 학생 기록에 직접 삽입하는 것을 고려 했습니까? 이것은 실제로 MongoDB의 기본 디자인 패턴이며 성능과 확장 성이 훨씬 향상 될 수 있습니다.
관계형 데이터와 정규화 된 데이터가 정말로 필요하면 MongoDB를 사용하여 다시 생각해보십시오.
답변은 데이터 사용 방법에 따라 다릅니다. 당신은 정말로 2 가지 옵션이 있습니다. 출석 테이블을 임베드하거나 링크하십시오. 이러한 접근 방식에 대한 자세한 내용은 여기에서 자세히 설명합니다. 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") }
]
}
감사합니다. 저는 Schema Design을 읽기 시작했습니다. –
예. 어렵고 빠른 규칙이 없습니다. 데이터를 포함하거나 참조하는 장단점을 살펴 봐야합니다. 이 비디오는 확실히 도움이 될 것입니다 (https://www.youtube.com/watch?v=-o_VGpJP-Q0&t=21s). 예를 들어, 전화 번호 속성은 거의 변경되지 않으므로 동일한 테이블 (문서 데이터베이스에 있음)에 있어야합니다.
- 1. PHP에서 PDO를 사용하여 데이터베이스를 만들 수 있습니까?
- 2. MongoDB를 백엔드로 사용하여 단일 페이지 응용 프로그램을 만들 수 있습니까?
- 3. DBCA를 사용하여 데이터베이스를 만들 수 없습니다.
- 4. 비 관계형 정확히 비 관계형 데이터베이스를 무엇
- 5. mySQLi를 사용하여 데이터베이스를 만들 수 없습니다.
- 6. 관계형 데이터베이스를 사용하여 실험 데이터의 진화를 추적하십시오
- 7. MySQL은 점으로 데이터베이스를 만들 수 있습니까?
- 8. 암호화 된 Sqlite 데이터베이스를 만들 수 있습니까?
- 9. PHP에서 자체 데이터베이스를 만들 수 있습니까?
- 10. MySQL 데이터베이스를 어떻게 만들 수 있습니까?
- 11. 관계형 데이터베이스를 탐색하기위한 웹형 DB 도구가 있습니까?
- 12. 다른 관계형 데이터베이스를 OpenDS에 플러깅
- 13. 구성 데이터베이스를 만들 수 없습니다 ...?
- 14. 서버에 데이터베이스를 만들 수 없습니다.
- 15. DBIx :: Class를 사용하여 테이블을 만들 수 있습니까?
- 16. 서버리스 모드에서 MongoDb를 사용할 수 있습니까?
- 17. 람다를 사용하여 SQLAlchemy에서 쿼리를 만들 수 있습니까?
- 18. linq2sql, 엔티티 프레임 워크, 아음속과 같은 관계형 데이터베이스와 함께 사용했던 ORM과 함께 MongoDB를 사용할 수 있습니까?
- 19. 모든 데이터베이스를 UNIONING하는 SQLite 뷰를 만들 수 있습니까?
- 20. Backing Store없이 Entity Framework에서 메모리 데이터베이스를 만들 수 있습니까?
- 21. Subsonic (역)에서 SQL 데이터베이스를 만들 수 있습니까?
- 22. 관계형 데이터베이스를 구성하는 방법은 무엇입니까? 데이터
- 23. EF를 사용하여 데이터베이스를 만들 수 없습니다 (액세스가 거부 됨)
- 24. geddy를 사용하여 mongodb를 쿼리하십시오.
- 25. Lucene.NET과 관계형 데이터베이스를 결합하는 모범 사례?
- 26. ssh를 사용하여 데이터베이스를 만들 수 없습니다. php mysql
- 27. 관계형 데이터베이스를 사용하여 시간과 공간에 따라 인벤토리 이동 추적
- 28. SSAS 2008을 사용하여 관계형 데이터베이스를 구축하기 위해 큐브를 리버스 엔지니어링하십시오.
- 29. 어떻게 효율적으로 MongoDB를 사용하여 피벗과 함께 실시간 분석을 만들 수 있습니까?
- 30. sqlite3을 사용하여 android에서 데이터베이스를 만들 때의 문제
답장을 보내 주셔서 감사합니다. 강사가 MongoDb와 함께이 프로젝트를 나에게주었습니다. 그래서 나는 어딘가/someones (당신 같은 사람 :)에서 몇 가지 정보를 검색하고 그것을하려고 할 것입니다. 다시 감사합니다. –
MongoDB를 처음 접한다면, 웹 사이트 : http://www.mongodb.org/ ("Try it"을 클릭하고 셸에서'tutorial'을 입력하십시오)에 아주 멋진 튜토리얼이 있습니다. –
@MikeChristensen 현재이 조언은 더 이상 유효하지 않습니다. 그들은 아마 그들의 웹 사이트를 바 꾸었습니다. – Kunok