아무 것도이 작업을 방해하지 않습니다. brand_name
필드를 "세 번째 테이블"에 추가하면됩니다. 묻는 질문은 다음과 같습니다. 왜이 작업을 원하십니까?
brands
_________________________
| brand_id | brand_name |
| 1 | brand1 |
| 2 | brand2 |
| 3 | brand3 |
| 4 | brand4 |
| 5 | brand5 |
-------------------------
lines
_________________________
| line_id | line_name |
| 1 | line1 |
| 2 | line2 |
| 3 | line3 |
| 4 | line4 |
| 5 | line5 |
-------------------------
linked
_________________________________________________
| id | line_id | brand_id | brand_name |
| 1 | 5 | 1 | brand1 |
| 2 | 5 | 2 | brand2 |
| 3 | 4 | 2 | brand2 |
| 4 | 4 | 3 | brand3 |
| 5 | 4 | 3 | brand3 |
| 6 | 3 | 4 | brand4 |
| 7 | 3 | 4 | brand4 |
| 8 | 2 | 4 | brand4 |
| 9 | 2 | 5 | brand5 |
| 10 | 1 | 5 | brand5 |
------------------------------------------------
제안 된 설정입니다. 이제 우리는 경우 :
_________________________
| brand_id | brand_name |
| 2 | brand2 |
| 3 | brand3 |
| 3 | brand3 |
-------------------------
을하지만 같은 중복 데이터없이 달성 될 수있다 (큰 데이터베이스에서이 같은 중복 데이터가 꽤 무리입니다), 그리고 않고 :
SELECT brand_id, brand_name FROM linked WHERE line_id = 4;
우리는 얻을 것
SELECT linked.brand_id, brands.brand_name
FROM brands, linked
WHERE linked.line_id = 4 AND brands.brand_id = linked.brand_id;
_________________________
| brand_id | brand_name |
| 2 | brand2 |
| 3 | brand3 |
| 3 | brand3 |
-------------------------
다음과 같이 사용하면 브랜드 이름이 바뀔 때마다 링크 된 테이블과 브랜드 테이블을 업데이트해야합니다. 그렇게 오래. 나는 테이블 만드는 재미를보고 있었다.