1

나는 다음과 같은 설정 모델을 가지고 :선택 어린이 애플 리케이션 엔진 데이터 스토어에서 가지 - 장점과 단점

class Day(db.Model): 
    date = db.DateProperty() 
    total = db.FloatProperty() 

class Event(db.Model): 
    desc = db.StringProperty() 
    amount = db.FloatProperty() 

계층 구조는 같다 : 사용자가 사용자> 일> 이벤트 (일 일 이벤트가 있습니다..)

사용자가 로그인하면 날짜별로 범위를 선택하고 각 날짜별로 이벤트를 가져오고 싶습니다. 이제 이들이 목록에 표시된다고합시다.

명시 적 엔티티 그룹을 만들려면 parent 속성을 사용해야합니까? 또는 사용자에 대해 일별 참조 속성을 추가하고 하루 동안 이벤트에 참조 속성을 추가해야합니까?

각 방법의 장단점은 무엇입니까? 성능 고려 사항? 확장 성 고려 사항? 또한 가장 좋은 방법으로 어떻게 쿼리 할 것인가?

감사합니다.

답변

1

일별 및 이벤트 모델을 함께 트랜잭션 방식으로 업데이트해야하는 경우 (예 : '총'필드는 각 이벤트별로 업데이트해야 함) 엔티티 그룹을 사용하십시오. 그렇지 않으면 참조 등록 정보를 사용하십시오.

날짜 범위의 모든 이벤트를 가장 효율적으로 선택하려면 가장 비정상적으로 비정규 화하고 이벤트에 '날짜'속성을 추가하는 것이 가장 좋습니다. 그런 다음 주어진 범위 내에서 주어진 사용자에 대한 모든 이벤트에 대한 쿼리를 수행하고 필요할 경우 요일 엔터티를 가져올 수 있습니다.