Dauniverse

[튜토리얼] ERD 개념 본문

공부/Backend

[튜토리얼] ERD 개념

Daunique 2024. 1. 15. 04:01

출처: figma 홈페이지

 

ERD

Entity-Relation Diagram

  • DB 내 존재하는 개체를 정의하고, 각 개체 간의 관계  Relationship 를 보여준다.
  • 이때 각 개체  Entity 는 고유한 속성  Attribute 을 가진다.

 

 Entity  

  • 정의 가능한 사물 또는 개념, 관리하고자 하는 정보의 실체
  • 모든  Entity  는 하나 이상의 식별자(UID)를 가져야 함.
  • 종류: 유형, 무형, 문서, 이력, 코드
Key의 종류

- Primary Key: 기본키, 고유 식별자, not null, not duplicated
- Foreign Key: 참조키, 다른 테이블의 기본 키를 참조하여 두 테이블 간 관계를 설정
- Composite Key: 복합키, 단일 컬럼으로 고유한 식별 불가 → 두 개 이상의 컬럼을 조합
- Candidate Key: 후보키, 기본키로 사용될 수 있는 고유 식별자
--------------------------------------------------------------------------------------------------------------------------
- Alternate Key: 대체키, 후보키(기본키가 아닌)
- Super Key: 슈퍼키, 후보키 + 추가 속성
- Surrogate Key: 대리키, 데이터베이스가 생성하는 고유식별자(자동 할당된 일련번호)
Weak Entity
- 종속성: strong entity의 기본 키에 의존하며, 독립적으로 존재 불가
- weak entity != regular entitypartial key를 가짐
- 학생(student)과 과제물(weak) : 어떤 학생의 과제물인지 알아야 평가 가능

Weak Entity 정의 이유
- 데이터 무결성 보장: strong entity 없이는 weak entity도 존재할 수 없음
- 정규화: 중복 최소화
- 복잡한 관계 모델링: 복잡한 프로세스를 명확히 반영
데이터 무결성이란?: DB에 저장된 값들이 정확하고 일관성 있음을 의미. 여러 개체에 제약조건을 부여하고 운영해야 함.

 

 

 Attribute  

  •  Entity 를 구성하는 요소
  • 데이터 타입 명시
Attribute 종류

- Simple Attribute: 가장 기본적인 속성 유형으로, 더 이상 나눌 수 없는 속성.
- Composite Attribute: 여러 개의 속성이 결합된 형태.
- Key Attribute: 객체를 고유하게 식별하는 데 사용되는 속성.
- Single-Valued Attribute: 각 객체에 대해 단 하나의 값을 갖는 속성.
- Multi-Valued Attribute: 하나의 객체가 여러 값을 가질 수 있는 속성.
- Base Attribute: 다른 속성에 의존하지 않고 독립적으로 값을 갖는 속성.
- Derived Attribute: 다른 속성으로부터 계산되거나 유도되는 속성.
Attribute의 데이터 타입
- INT : 정수형
- VARCHAR : 가변길이 문자열
- FLOAT : 실수형
- ENUM : 열거형

 

 Relationship  

  •  Entity 간의 관계를 표시
  • 개체 간 Relationship 정의 기호
    •  기호
      • | : 1개
      • ○: 0개  
    • 선의 종류
      • 점선: 선택사항(비식별)을 의미. 부서는 사원을 배치 받을 수도, 않을 수도 있다.
      • 실선: 필수사항(식별)을 의미. 사원은 부서를 필수적으로 배치 받아야 한다.
    • 선의 개수(Cardinality)
      • 단선: 사원은 하나의 부서에만 배치된다.
      • 복선: 부서는 여러 명의 사원을 포함할 수 있다.