ERD 식별관계와 비식별관계

이준엽·2023년 4월 5일
6

Database

목록 보기
2/2

ERD란?

  • ERD(Entity-Relationship Diagram)는 엔티티 관계도로 불리며, 데이터베이스의 구조를 표현하는데 사용되는 다이어그램. ERD는 데이터베이스 설계 과정에서 중요한 역할을 하며, 테이블 간의 관계와 엔티티 간의 관계를 시각적으로 표현해주는 도구이다.

기본키와 외래키

  • 기본키(Primary Key) : 기본키는 테이블에서 각 행을 고유하게 식별할 수 있는 속성(열). 기본키로 설정된 속성은 고유성과 무결성을 보장해야 하며, NULL 값이 허용되지 않는다. 데이터베이스에서 기본키는 하나의 테이블에 하나만 존재할 수 있으며 기본키는 테이블의 레코드를 고유하게 식별하고, 데이터의 무결성을 유지하는 데 도움을 준다.

  • 외래키(Foreign Key) : 외래키는 다른 테이블의 기본키를 참조하는 속성(열)으로, 두 테이블 간의 *관계를 설정하는 데 사용된다. 외래키는 참조하는 테이블의 기본키와 동일한 데이터 타입을 가져야하고 외래키를 사용하면 데이터의 일관성과 무결성을 보장할 수 있으며, 테이블 간의 관계를 효율적으로 관리할 수 있다.

*관계 : 엔티티 간의 연관성을 나타내는 구성 요소. 관계는 1:1, 1:N, M:N 등 다양한 종류가 있으며, 외래키(Foreign Key)를 활용해 구현된다.


식별관계와 비식별관계

  • 식별관계 : 식별 관계는 부모 테이블의 기본키가 자식 테이블의 외래키이자 기본키로 사용되는 관계. 즉, 자식 테이블의 기본키가 부모 테이블을 참조함으로써 자식 테이블의 레코드를 식별할 수 있다.(부모 데이터가 없다면 자식 데이터는 생길 수 없다.) 식별 관계는 ERD에서 실선으로 표시된다.

'주문' 테이블과 '주문 항목' 테이블이 있을 때, '주문' 테이블의 주문 번호가 기본키이자 '주문 항목' 테이블의 기본키로 사용될 수 있다. 이 경우, '주문 항목' 테이블의 기본키는 부모 테이블인 '주문' 테이블을 참조하므로 식별 관계가 성립.

  • 비식별관계 : 비식별 관계는 부모 테이블의 기본키가 자식 테이블의 외래키로 사용되지만, 자식 테이블의 기본키로 사용되지 않는 관계. 자식 테이블은 부모 테이블과 관계를 맺고 있지만, 기본키를 통해 레코드를 독립적으로 식별할 수 있다.(의존성을 줄일 수 있고 부모 데이터가 없어도 자식 데이터는 독립적으로 생성될 수 있다.) 비식별 관계는 ERD에서 점선으로 표시된다.

'사용자' 테이블과 '게시글' 테이블이 있을 때, '사용자' 테이블의 사용자 ID가 기본키이고 '게시글' 테이블의 작성자 ID로 사용될 수 있다. 그러나 '게시글' 테이블은 게시글 ID를 별도의 기본키로 사용하므로, 부모 테이블인 '사용자' 테이블을 참조하지 않고도 '게시글' 테이블의 레코드를 식별할 수 있다. 이 경우, 비식별 관계가 성립.

profile
하루하루 차근차근 발전하는사람이 되자 😤

0개의 댓글