2010-02-05 2 views
0

분류 된 웹 있습니다.작은 mysql 여기에 도움을주세요

사용자는 구인 광고를 넣을 수 있으며 각 카테고리에는 하위 옵션이 있습니다.

예 : 사용자가 자동차를 선택합니다, 및 기어 박스 등 색상, 주행 거리, 연료 등의 옵션을 작성하는

여기

내 테이블이위한 것입니다 :

Category table: 
cat_id (PK) 
cat_name // "Cars" for example 

Category Options table: 
option_id (PK) 
cat_id (FK) 
option_name // "Color" for example 

Option Values table: 
value_id (PK) 
option_id (FK) 
value // "red" for example 

내 Q가에서, 마지막 테이블 (옵션 값)은 "이 테이블을 증가 시키거나이 테이블을 분류 된 것으로 참조하려면 어떻게해야합니까?"

예를 들어,이 테이블에 두 개의 레코드를 살펴 보자 :

Cat_id   Cat_name 
    1   cars 
    2   trucks 

은 그런 범주 옵션 테이블이 : 먼저 분류 테이블 그리고 옵션 값 테이블

option_id  Cat_id(FK)  option_name 
    1    1    color 
    2    1    mileage 

, 여기에 문제가 있습니다, 나는 어떻게해야할지 모르겠다. :

Value_id  option_id(FK) value 
    1    1   red 
    2    2   11000 miles 

그런 다음 w 다른 차에 다른 분류를 삽입하기로 결정하면 모자가 생깁니 까? 마지막 테이블에 다른 참조가 없어야합니까?

나는 또한 ... 제목, 텍스트, 가격 등을 포함하는

감사

답변

1

이미 대답 자신을 준를 "분류"와 같은 다른 테이블이있다.

마지막 표에 다른 참조 이 없어야합니까?

나는 또한 있도록

테이블 옵션에서 다른 키로 테이블 classified의 ID를 넣어 ... 제목, 텍스트, 가격 등을 포함하는 "분류"와 같은 다른 테이블이

SELECT c.option_name, o.value 
FROM option_Values o 
LEFT JOIN category_options c ON (o.option_id=c.option_id) 
WHERE o.classified_id = 15; -- as an example 
: 그런 다음 지정된 분류에 대한 모든 옵션에 대해 모든 값을 얻을 수 있습니다
Option Values table: 
value_id (PK) 
option_id (FK) 
classified_id (FK) 
value // "red" for example 

를 얻을 수
관련 문제