2011-01-25 4 views
0

나는 하나의 보석 제품이 여러 스타일을 가질 수 있고 같은 스타일의 제품이 더 많으므로 두 테이블이 jewelry(j_id,j_name,Description)style(style_id,style_name,image)인데, 각 테이블은 다른 테이블과 다 대다 관계를 가지고 있으므로 관계가 많은 것을.많은 관계 많은 문제

제 질문은 이러한 테이블을 관련 짓고 싶습니다. 예를 들어 보석 테이블에 단일 레코드를 삽입하고 하나의 보석 제품에 여러 스타일이 있어야합니다.

쥬얼리 html 페이지에서 스타일 테이블에서 동적으로 채워진 여러 선택 드롭 다운 목록에 스타일을 넣고 싶습니다. 사용자가 동일한 제품에 대해 두 가지 스타일을 선택하려는 경우 가능합니다.

+0

아래의 설명을 반영하여 질문을 수정해야합니다. "그러면 어떻게 세 번째 테이블에 데이터를 삽입 할 수 있습니까?" –

+0

당신을 위해 작동하면 대답을 수락합니다 –

답변

0

4 개의 테이블을 추천합니다. 보석 및 스타일은 3 개를, 주문은 4 개를 추천합니다.

보석 : JID (PKEY), jname, 설명

스타일 : SID (PKEY), SNAME, 설명

제품 : PID (PKEY), SID (FKEY) JID (FKEY) - 하나 제품의 스타일과 kewellery

주문의 고유 한 조합 정의 : 제품 테이블을 사용하여 관련 스타일을 복구, OID (PKEY), PID (FKEY), 기타 세부 사항 (이름, 주소 등) 각 보석에 대한

및 html 페이지의 필드를 채 웁니다. 각 주문마다 쥬얼리와 스타일을 고유하게 식별하는 제품 ID를 저장하십시오.

+0

내가 위의 세 테이블을 가지고 있다면 어떻게하면 세 번째 테이블에 데이터를 삽입 할 수 있습니까? 페이지에 스타일 드롭 다운 목록이 있고 드롭 다운에서 스타일을 선택하거나 새로운 스타일을 삽입하려는 경우 새 버튼을 추가하고 새로운 스타일을 추가 할 수있는 새 페이지로 이동하는 경우 새 (스타일) 버튼을 추가하십시오. 보석 페이지로 돌아가서 다른 필요한 필드와 함께 필자의 스타일을 채우고 추가하십시오. 내가 알지 못하는 점은 데이터가 두 테이블에 모두 삽입된다는 것인데, 관련 키가 세 번째 테이블에 삽입되는 방식을 saperatly – hunter

0

이것이 데이터베이스 디자인 질문인지 확실하지 않습니다. 나에게 그것은 프로그래밍 질문과 비슷해 보이며 그 경우에 당신이 사용하고있는 프로그래밍 언어와 데이터베이스를 아는 것이 도움이 될 것이다.

어쨌든 여기에 당신이 묻고있는 생각을하는 의사 코드가 있습니다.

Add one row in table jewelry 
Store the new jewelry.j_id to a variable @jid 

for each @StyleID in SelectedStyleList 
begin 
    Add one row to table jewelry_style 
    set [email protected], jewelry_style.style_id = @StyleID 
end 
0

귀하의 질문은이 다 - 대 - 다 관계에 대한 데이터베이스를 설계하는 것이 아니라 새 보석/스타일 객체와 관계를 만들 때 삽입 전략에 관한 것입니다.

그런 경우 전략은 주요 데이터를 삽입 한 후 서로 관련이있는 트랜잭션이어야합니다. 낙태의 경우 당신은 단지 트랜잭션을 롤백 할 수 있으며, 생성 한 모든 것은 제거됩니다. 트랜잭션이 있고 격리 수준이 맞으면 아무도 임시로 생성 된 데이터를 볼 수 없습니다.

+0

이것은 대답이 아닙니다. 이것은 주석이어야합니다. –

+0

vvursT. 그것은 한 가지를 제외하고는 정확합니다. 내 ** NON ** SQL은 트랜잭션이 없습니다. 그들은 심지어 배열을 가지고 있지 않습니다. 각 jewellery_style 행을 단계별로 따라야합니다. – PerformanceDBA