본문 바로가기
DB/DB_Modeling

1:M 관계 (part 2)

by Mr.DonyStark 2023. 10. 12.

※ 이전 게시물 1:M 관계 (part 1)이어서 다른 예제진행

□ 주제 : 회사/부서 모델링

 세부내용

  ○ 회사 테이블 생성 (PK값에 자동증분설정 X)

  ○  부서 테이블 생성  (PK값에 자동증분설정 X)

  ○  회사와 부서 테이블간 관계 설정

※ PK 지정시 NOT NULL설정이 자동으로 되어도 확인은 꼭 해야함.

□ 쿼리문

--회사 및 부서 추가①
--PK 속성에 Auto-increment를 지정안했기 때문에 PK값을 직접 지정해야함
insert into company_tb values(1,'samsung','12341234')
insert into dept_tb values(1,1,'전략기획')
insert into dept_tb values(2,1,'해외마케팅')
insert into dept_tb values(3,1,'국내마케팅')
insert into dept_tb values(4,1,'R&D')

--회사 및 부서 추가②
--PK 속성에 Auto-increment를 지정안했기 때문에 PK값을 직접 지정해야함
insert into company_tb values(2, 'kakao','54321321')
insert into dept_tb(dept_ID, ID, dept_Name) values(1, 2,'카카오페이')
insert into dept_tb(dept_ID, ID, dept_Name) values(2, 2,'총무부')
insert into dept_tb(dept_ID, ID, dept_Name) values(3, 2,'마케팅부')
insert into dept_tb(dept_ID, ID, dept_Name) values(4, 2,'인사부')
insert into dept_tb(dept_ID, ID, dept_Name) values(5, 2,'영업부')

--결과조회 : 회사별 부서현황
select*from company_tb a
left join dept_tb b on a.ID = b.ID

--해당 쿼리를 실행시키면 오류발생
--오류사유 : 해당 부모키를 참조하는 자식테이블의 값들이 존재하기 때문.
--           삭제하고자할 시 자식테이블에서의 부모키를 참조하는 자식 데이터를 삭제해야함
delete company_tb where ID = 2

 

 

'DB > DB_Modeling' 카테고리의 다른 글

M:N 관계  (0) 2023.10.16
1:M 관계와 재귀적 관계 (part 3)  (0) 2023.10.13
1:M 관계 (part 1)  (1) 2023.10.11
PK(primary Key) 설계  (0) 2023.10.10
데이터 타입  (0) 2023.10.08