데이터베이스 SQL 제약조건 질문입니다.
본문
부서 | 부서이름 | 담당 카테고리 | ||||
관리자 | 관리자ID | 관리자 이름 | 담당 부서 | |||
DB게시판 | 게시판 No. | 글제목 | 글내용 | 카테고리 | 회원ID | 관리자ID |
관리자는 담당 부서를 가지고 있고
담당 부서는 맡은 담당 카테고리가 있습니다.
DB게시판에서 해당 글에대한 카테고리를 설정 후 관리자ID를 외래키로 넣어주는데
만약, 게시판의 해당 카테고리가 관리자의 담당이 아닐경우 값을 넣지 못하게 되는데
이럴경우 SQL에서 제약조건을 어떻게 줘야하나요??
또한 DB게시판의 카테고리도 부서에 존재하는 담당 카테고리만 삽입이 되어야하는데 그냥 외래키로만 가능한가요??
답변 1
카테고리 담당자 엔터티가 필요합니다.
관리자ID와 카테고리ID 2개를 묶어서 PK로 구성(이런걸 복합키라고 합니다)후에, DB게시판에서 FK로 참조하면(복합 외래키로 세팅) 됩니다.
FOREIGN KEY(관리자ID, 카테고리ID) REFERENCES 카테고리_담당자(관리자ID,카테고리ID)
!-->
답변을 작성하시기 전에 로그인 해주세요.