본문 바로가기
DB/DB_Modeling

1:M 관계 (part 1)

by Mr.DonyStark 2023. 10. 11.

□ 한쪽이 관계를 맺은 쪽의 여러객체를 갖는 것을 의미하며, 가장 흔하게 나타나는 매우 일반적인 형태임
□ 부모와 자식 관계가 대표적 예가될 수 있으며 컴퓨터 디렉터리 구조 역시 마찬가지임
□ 트리구조 형태를 가짐
□ 테이블은 서로 선천적으로 관계를 가지고 있음
□ 관계는 반드시 2개 테이블간의 관계만 있음

□ FK(외래키/Foreign Key)는 참조테이블에서의 PK(Primary Key)임

□ PK와 FK를 통하여 관계설정
□ 법칙은 아니지만 작명시 PK명과 FK명을 동일하게 설정하는 것을 권장함
□ 부모는 반드시 한개이대, 자식은 N개임. 부모, 즉 참조할 PK가 2개라면 오류발생 또는 자식테이블에는 있지만 부모테이블에 참조할 PK 값이 없다면 이 또한 오류 원인.

 

□ 예제 : 학년, 반 모델링

  ○ 학년 테이블의 학년번호 PK 지정

  ○ 반 테이블의 반번호 PK 지정 및 학년 테이블의 PK를 외래키로 지정

  ○ 1(학년 테이블) : M(반 테이블)

  ○ 사용쿼리

--데이터 삽입
insert into 학년 values(1, '1학년')
insert into 학년 values(2, '2학년')
insert into 학년 values(3, '3학년')
--데이터 조회
select * from 학년;

--데이터 삽입
insert into 반 values(1, 1, '1반')
insert into 반 values(2, 1, '1반')
insert into 반 values(3, 1, '1반')

--데이터 삭제
delete 반 where 학년번호 = 4 or 학년번호 = 5 or 학년번호 = 6

--조인을 활용하여 조회
select a.학년번호, a.학년이름, b.반이름 from 학년 a
inner join 반 b 
on a.학년번호 = b.학년번호;

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

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