ERD 설계

김도윤·2024년 12월 22일

추가 공부

목록 보기
1/8
post-thumbnail

✏️ ERD의 규칙

하나의 A는 하나의 B로 구성

하나의 A는 두개 이상으 B로 구성


하나의 A는 하나 이상의 B로 구성

하나의 A는 0, 1, 또는 그 이상의 B로 구성

  • A는 부모, B는 자식의 관계를 가진 ERD이다.

식별, 비식별 관계

  • 실선 : 부모 테이블의 기본키를 자식 테이블이 가지고 있으며 이를 기본키로 사용하는 경우
  • 기본키에 외래키가 포함되어 있으면 식별 관계
  • 외부테이블에 의해 식별되는 관계이다
  • 점선 : 부모 테이블의 기본키를 자식 테이블이 가지고 있지만 이를 기본키로 사용하지 않을 경우
  • 기본키에 외래키가 포함되지 않고 참조만 한다면 비식별 관계이다.

✏️ 기본 키

  • 기본키는 테이블에 존재하는 수많은 데이터들을 구별할 수 있는 유일한 기준이 되는 속성

    ex) 주민등록번호, ID

  • NULL 값을 허용하지 않고 값은 반드시 고유하며, 중복된 값을 가질 수 없다
  • 기본 키로 설정된 열은 자동으로 인덱스가 생성되어 검색 속도를 향상시킨다
  • 복합키는 두 개 이상의 컬럼을 키로 지정하는 것
    • 예를들어 학번을 기본 키로 설정할 때 학번의 값은 중복이 되면 안되므로 하나의 강의만 들어야 한다
    • 따라서 학번 + 강의 번호를 기본키로 지정해 학번이나 강의 번호가 중복되어도 기본키를 위반한 것이 아니다

✏️ 기본 키(Primary Key)와 고유 키(Unique Key)의 차이?

  • 고유 키도 기본 키와 마찬가지로 각 행을 고유하게 식별하는 데 사용
  • 고유 키는 NULL값을 허용한다. 한 열에 대한 중복된 값을 허용하지 않지만, 해당 열의 값이 NULL일 수 있다
  • 테이블당 여러 개의 고유 키가 존재할 수 있다
  • 기본 키와 달리 자동으로 인덱스가 생성되지 않으나 필요에 따라 수동으로 인덱스를 생성할 수 있다
    • 기본 키는 주로 테이블의 주요 식별자로 사용하고, 테이블 간의 관계를 설정하기 위함
    • 고유 키는 주로 데이터 무결성을 유지하면서 중복된 값을 방지하기 위함

관계(Relationship)

  • Entity간의 관계를 의미
  • 두 Entity간에 선을 긋고 관계를 기록하게 된다
  • 예를 들어 사원과 부서 Entity가 있을 때

    부서 입장에서는 사원을 배치 받을 수도, 받지 않을 수도 있다
    사원 입장에서는 부서가 필수적으로 배정받아야 한다
    따라서 1:M 관계 (사원이 자식 노드, 부서가 부모 노드)

프로젝트 참고 자료

https://hsb422.tistory.com/entry/%E3%85%81DB-%EC%84%A4%EA%B3%84-PART%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%81%ED%99%94-ERD-%EC%84%A4%EA%B3%84

profile
나태해 지지 말고 꾸준히

0개의 댓글