새 응용 프로그램을 시작했는데 이제는 두 가지 경로를보고 있으며 계속 진행하는 것이 좋은 방법인지 모릅니다.
저는 전자 상거래 사이트를 만들고 있습니다. 나는 카테고리 및 하위 범주 있습니다.
문제는 제품에 제품이 있고 각각 속성이입니다. 해당 사이트의 사이트는 이어야하며이어야합니다.
이 내 초기 데이터베이스 디자인 : EAV 데이터베이스 디자인 모델이나 많은 테이블을 사용해야합니까?
Products{ProductId, Name, ProductCategoryId}
ProductCategories{ProductCategoryId, Name, ParentId}
CategoryProperties{CategoryPropertyId, ProductCategoryId, Name}
ProductPropertyValues{ProductId, CategoryPropertyId, Value}
지금은이 디자인이 실제로
EAV 모델이며, 나는 사람들이 일반적으로
이 디자인을하지 않는 것이 좋습니다 읽어보고 몇 가지 분석 후.
동적 SQL 쿼리가 모든 작업에 필요합니다.
그건 한 가지 방법이며 지금 당장보고 있습니다.
내가 보는 또 다른 방법은 아마도 로터스 워크웨이이라고 이름이 지어졌지만 더 좋으면 거기에 가고 싶습니다. 는
Product{ProductId, CategoryId, Name, ManufacturerId}
테이블을 만들려면 및 데이터베이스 느릅 나무 테이블 상속이 나는 이것이 매우 큰 데이터베이스와 매우 큰 응용 프로그램 도메인이 될 것이라는 점을 이해
Cpus{ProductId ....}
HardDisks{ProductId ....}
MotherBoards{ProductId ....}
erc. for each product (1 to 1 relation).
같은 테이블을 의미하지만 되어 있는지 확인하기 EAV 디자인의 옵션 1보다 더 좋고, 더 쉽고, 성능이 우수합니다.
초기 디자인이 EAV라는 것에 동의하지 않습니다. –
해당 ProductPropertyValues 테이블은 EAV가 아닙니까? 가자. –
왜 그렇지 않다고 생각하십니까? – 1110