2016-10-23 5 views
0

나는이 다음 표와의 관계 : 나는 User 만들SQL - 하나 개의 테이블에 여러 외래 키를 가지고 세 개의 테이블에서 데이터를 선택 같은 기본 키

enter image description here

, 즉 사용자가 CurrentWeek를 가져옵니다 현재 주 행의 행은 CurrentWeekStatus 행이됩니다. 사용자는 Food 테이블에 식품 품목을 추가 한 다음이 식품 품목을 선택하고 CurrentWeek에 삽입 할 품목을 선택할 수 있습니다.

클라이언트에서 CurrentWeek 개체를 Food 개체 목록과 해당 상태 목록이있는 개체로 잡고 싶습니다.

어떻게 이런 일이 발생하는지 고심하고 있습니다. 데이터베이스에 여러 개의 쿼리를 작성하여 CurrentWeek을 가져온 다음이 모든 데이터를 FoodId의 데이터를 추출하고 각각 Food을 가져 오는 별도의 쿼리를 만들어서 수행 할 수 있다고 생각합니다. 그러나 이것은 매우 나쁜 해결책처럼 보입니다.

내가 생각할 수있는 다른 해결책은 필요한 모든 데이터가 포함 된보기를 만드는 것입니다. 그러나 나는이 견해를 만드는 방법을 알지 못한다. 그리고 비록 내가보기를 만들었다 할지라도 나는 각기 다른 대상으로 각각의 Food을 분리하는 방법을 모른다.

누구든지이 작업을 수행하는 좋은 방법을 알고 있습니까?

저는 NodeJ를 REST API로 사용하고 Android Studio를 REST 호출을 보내기 위해 개장했습니다.

enter image description here

이 내가 처음하지 나는 CurrentWeek 테이블에 한 행을 추가하는 생각으로 함께 이동하기로 디자인했다 :

+2

분명하지 않다. 관계가있는 테이블 스키마를 우리에게 제공 할 수 있습니까? – Mhand7

+0

적절한 데이터 샘플 및 예상 결과를 추가하십시오. – scaisEdge

+0

대학 프로젝트 (내게 좋음)처럼 들리고 테이블을 다시 디자인해야합니다. 그들은 정규화되지 않았고 "Week"테이블의 존재는 의심스러워 보입니다. –

답변

0

StackOverflow에 몇 동료 상담 후 나는에 초기 데이터베이스 스키마 변경 각 사용자는 PlannedFood 테이블에 각 사용자에 대해 많은 행을 추가하는 것보다 낫습니다. 그러나 지금은이 디자인이 다른 디자인에 비해 몇 가지 장점이 있다는 것을 알게되었습니다. 이런 식으로 설계

는 지금 클라이언트 측에 Food 객체로 Food 데이터를 매핑 할 FoodId에 합류, 특정 사용자에 대한 PlannedFood의 모든 행을 잡고 수있는 내 최초의 질문을 해결합니다.

+0

@DuduMarkovitz가 마음에있는 것보다 더 비슷합니까? – Aidin

관련 문제