:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
22/12/17 12:35
저도 db 전문가는 아닌데 제 생각에는 반찬구성 테이블에 반찬구성코드가 유니크 하지 않으면 될 것 같습니다.
반찬구성테이블 컬럼 : 반찬구성코드, 반찬 코드 데이터 예 코드1, 김치 코드1, 나물 코드2, 소시지 코드2, 김치 코드2, 나믈 코드3, 나물 메뉴구성테이블 메뉴구성코드1(유니크), 밥1,국1, 반찬구성코드2 이렇게 해 두면 메뉴1을 불러오면 밥1, 국1, 소시지, 김치, 나물 이 조합된 메뉴가 되죠
22/12/17 12:43
그러면 지금 제가 올린 스크린샷 설계에서
'반찬구성테이블'의 반찬구성 테이블을(PK)로 하지 않고 PK가 아닌 일반 컬럼(not unique)으로 만든 다음 메뉴구성테이블에서 FK로 받아오면 된다는 건가요?? 하... 능지가 처참해서 죄송합니다 ㅠㅠㅠ
22/12/17 13:31
N대M 매핑 테이블 구성하는법을 찾아서 공부하시면 됩니다.
저는 밥이랑 국(1 대 N)도 결국 N 대 M의 subset이니 특별한 이유가 없다면 도시락 - 반찬 - 매핑테이블 3개로 구성 할거 같네요. [도시락] | id | 이름 | | --------------------| | 1 | 소불고기도시락1 | | 2 | 돼지불고기도시락1 | [반찬] | id | 이름 | 종류 | | -- | --------------- | ----- | | 1 | 백미밥 | 밥 | | 2 | 잡곡밥 | 밥 | | 3 | 미역국 | 국 | | 4 | 콩나물국 | 국 | | 5 | 소불고기 | 반찬 | | 6 | 돼지불고기 | 반찬 | | 7 | 김치 | 반찬 | [매핑테이블] | 도시락_id | 반찬_id | | --------------------- | | 1 | 1 | | 1 | 3 | | 1 | 5 | | 1 | 7 | | 2 | 2 | | 2 | 4 | | 2 | 6 | | 2 | 7 | SQL 에서는 컬럼 2개로 Composition Key를 구성해서 PK 설정 할 수 있으니 (장단이 있습니다) 알아 두시면 좋습니다.
22/12/17 14:57
도시락 테이블에서 도시락id를,
반찬테이블에서 반찬id를 매핑테이블에 FK로 가져온 다음 [도시락ID,반찬ID]를 묶어서 PK로 지정하면 된다는 말씀이시죠???
22/12/17 16:52
선생님 감사합니다.
답변 달아주신거 곰곰히 생각하다가 유레카를 외쳤습니다. 답변달아주신분들 다 같은 말 하시는것 같은데 테이블 예시까지 들어주셔서 이해가 가능했던거 같습니다 ㅠㅠ
22/12/17 13:35
정석적으로 가려면 테이블을 하나 더 만들어서 반찬구성코드, 반찬코드를 composite key로 묶어 PK로 가진 관계 테이블을 만들면 됩니다.
물론 그러면 당장 반찬구성테이블에는 반찬구성코드만 덜렁 있는 모습이 되어서 이상해보이겠지만, 실제로 만들때는 잡다한 메타정보(이름, 메모, 생성시간 등)가 들어갈 가능성이 높구요.
22/12/17 18:21
아 저는 오렌지님이 질문한 부분을 해결하기 위해 반찬과 반찬구성테이블만 연결하는 테이블을 제안한거고,
자발개보초님은 전반적으로 수정 제안해주신겁니다~
|