저는 yii에 응용 프로그램을 구축하고 있습니다. AR과 DAO 모두에 대한 경험이 있지만, 응용 프로그램의 데이터가 무거워서 모든 CRUD 작업에만 DAO를 사용하게 될 것입니다.Yii 및 데이터베이스 접근 방식
그러나 어떤 종류의 DB 스키마를 사용해야 할 지 잘 모르겠다. RDBMS에 익숙하지만 데이터 유효성 검사/뷰에 데이터를 표시 할 때 해당 모델의 개체를 만들어야한다. 내 응용 프로그램의 사용자가 채우기/채우지 않기로 선택할 수있는 다양한 필드가 있습니다. 필드는 다음과 같은 여러 유형의 별도의 엔티티로 구분
1) 주소 관련 분야()
2) 전화 번호()
3) 학교인가 (문자열 데이터)
4) 틈새 Specialiation (문자열 데이터)
드롭 다운에서 선택 5) 타이밍()
6) 시설 (문자열 데이터) 등
그리고,이 모든 분야의 약 30 % 참고.
RDBMS를 디자인하는 동안 자연스럽게 한 전화 번호를 다른 테이블에 넣거나 다른 주소로 붙여 넣는 것이 좋습니다. 단일 뷰를 표시하기 위해 약 10-20 개의 모델 객체를 만들려고합니다. 그러나 내가 말하는이 단일보기 페이지는 응용 프로그램의 핵심이며 여기서는 기능을 손상시킬 수 없습니다.
이러한 모든 고려 사항을 감안할 때 미래에 확장 성 및 성능을 고려해야 할 경우 RDBMS는 실제로 갈 방법입니다.
다른 데이터베이스 옵션에는 어떤 것이 있습니까?
많은 관계가있는 DB> 4'000'000 레코드에서 yii의 앱을 사용할 때 DAO 또는 AR 쿼리에 차이가 없습니다. 하지만 아칸소에서는 코드를 더 빠르게 작성하고 DB의 모든 멤버가 변경되지 않고 DAO를 사용하면 전체 프로젝트를 다시 작성하지 않습니다. – Sergey
좋은 소리는 있지만 Cmodel/Cactive 레코드의 typ 선언은 일반적으로 컨트롤러에서 보시겠습니까? 내 응용 프로그램을 다 끝내면 Cmodel 클래스의 20 개 객체를 내 견해에 전달할 것입니다. –
그것은 관계와 함께 실현하고, 나는 특별 선택하거나 발견하지 않습니다. 'Post'-> 'Author'-> 'Address.email'과 같습니다. 그냥 'one select' 쿼리와 관련하여'함께 '설정합니다. – Sergey