1:M 관계
Programming/데이터베이스

1:M 관계

1:M 관계

  1:M 관계는 한쪽이 관계를 맺은 쪽의 여러 객체를 갖는 것을 의미한다. 1:M 관계는 가장 흔하게 나타나는 매우 일반적인 형태이다. 대표적인 예로 부모와 자식 관계, 컴퓨터 Directory 구조가 있다. 테이블은 서로 선천적으로 관계를 갖고 있다.(RDBMS)

1:M 관계

  1:M 관계는 부모와 자식 관계와 같다. 부모는 자식이 없어도 되고, 자식이 1명 또는 여러명일 수도 있다. 그러나 자식은 부모가 단 한명이어야 하며, 부모없는 자식은 존재하지 않는다. 데이터베이스에서 1:M 관계를 설정하면 부모없는 자식이 생기는 것을 막아준다.

1:M 관계 예시

  학년 테이블과 반 테이블을 예로 들어볼 수 있다. 여기서 학년 테이블이 부모, 반 테이블이 자식이 된다. 학년테이블의 PK인 학년번호가 반 테이블의 FK인 학년번호와 연결된다. 1:M 관계를 설정할 때 부모 자식 간의 PK와 FK의 명칭은 반드시 일치하도록 쓴다. 법칙은 아니지만 지키면 좋은 권고사항이다.

 

부모 없는 자식은 존재하지 않는다.

= 자식이 있는 부모 테이블을 없앨 수 없다.

= 부모가 없는 자식 테이블에는 insert 할 수 없다.