Menu / Recipe Management라는 취미 프로젝트를 진행하고 있습니다.
이것이 나의 실체와 그들의 관계의 모습입니다.
A Nutrient
는 속성 Code
을 가지고Value
의 Ingredient
컬렉션이 있습니다Nutrients
A Recipe
의 컬렉션이 Ingredients
있고 때로는 다른 컬렉션을 가질 수 있음recipes
A Meal
의 컬렉션이 Recipes
있고Ingredients
A Menu
의 컬렉션이 있습니다Meals
관계는 다음과 같이 묘사 될 수있다
페이지 중 하나에서 선택한 메뉴에 대해 구성 요소 (식사, 레시피, 재료 및 해당 영양소)를 기반으로 계산 된 효과적인 영양소 정보를 표시해야합니다.
현재 SQL Server를 사용하여 데이터를 저장하고 있으며 메뉴의 각 식사부터 시작하여 영양소 값을 집계하는 C # 코드에서 체인을 탐색합니다.
페이지를 요청하고 구성 요소가 때때로 변경 될 때 마다이 계산이 수행되므로 효율적인 방법이 아니라고 생각합니다.
MenuNutrients ( {MenuId, NutrientId, Value}
) 라는 테이블을 유지 관리하는 백그라운드 서비스가 있고 구성 요소 (식사, 레시피, 재료)가 변경 될 때 효과적인 영양소 로이 테이블을 채우거나 업데이트합니다.
GraphDB 가이 요구 사항에 적합하다고 생각하지만 NoSQL에 대한 노출은 제한적입니다.
주어진 메뉴의 영양소를 표시하는이 요구 사항에 대한 대안 솔루션 / 접근법이 무엇인지 알고 싶습니다.
시나리오에 대한 나의 설명이 명확하기를 바랍니다.