본문 바로가기

개발일지/Spring

[Server] ERD(Entity Relationship Diagram)

Entity(개체)

관리하고자 하는 정보의 실체
  • 사람, 객체, 개념
  • 테이블이 Entity로 정의된다
  • 모든 Entity는 하나 이상의 식별자(UID)를 지녀야 한다
  • 자신을 정의하는 Key가 없는 객체, 단독으로 존재할 수 없고 다른 개체에 의존해야 하는 객체 → Weak Entity

 

Attribute(속성)

Entity를 구성하고 있는 구성 요소
  • 데이터 타입을 명시해야 한다
  • Key Attribute
    • 고유한 값을 가진 Attribute
    • 다른 객체들과 중복되지 않아 객체를 식별하는데 사용
  • Composite Attribute
    • 독립적인 Attribute들
    • ex ) 00시, 00동, 00아파트 등 독립적인 Attribute 네 개가 모여 생성된 주소
  • Multi-Valued Attribute
    • 하나의 Attribute가 여러 개 값을 가진 Attribute
    • ex ) 하나의 영상에 여러 장르 존재
  • Derived Attribute
    • 다른 Attribute가 가진 값에서 유도된 속성
    • ex ) 모든 상품의 총 가격을 나타내는 total = 가격 + 상품 개수

 

Domain(도메인)

속성의 값, 타입, 제약사항 등 값의 범위
  • 사용자의 기호에 따라 생략 가능, 속성 타입만 그릴 수도 있다

 

Relationship(관계)

Entity 간의 관계
  • 두 Entity 간에 선을 긋고, 관계 명칭을 기록
  • 점선 : 선택적인 사항
    • 부서는 사원을 배치 받을 수도, 안 받을 수도 있다
  • 실선 : 필수적인 사항
    • 사원은 필수로 부서 배치를 받아야 한다
  • 삼지창 : 하나 이상
    • 부서는 여러 명의 사원을 가질 수 있다
  • 단선 : 하나
    • 사원은 하나의 부서만 배치받는다

 

 

Cardinality(관계 형태)

1:1 관계

: 양쪽 모두 단 하나씩 존재

 

1:N 관계

: 하나의 원소가 두개 이상의 원소와 관계를 맺는다

 

N:M 관계

: 일명 다대다 관계, 양쪽 모두 하나 이상과 연관될 수 있다

 

 

 

개념적 데이터 모델링

: 내가 하고자 하는 일과 관계를 구상하는 단계

  • 피터 첸 표기법으로 ERD 다이어그램 구상

논리적 데이터 모델링

: 구체화된 업무 중심의 데이터 모델 만들기

  • Key, 속성, 관계 표시
  • 정규화 활동
    • 데이터 일관성 확보
    • 중복 제거
    • 신뢰성 확보
  • 피터 첸 표기법으로 구현한 ERD 다이어그램을 테이블 형태로 재구성

물리적 데이터 모델링

: 데이터 베이스를 선택하고 실제 테이블을 만드는 작업

  • 실제로 SQL 코딩을 통해 완성하는 단계

'개발일지 > Spring' 카테고리의 다른 글

[Server] Web Sever & WAS  (0) 2023.10.11
[Server] 시스템 콜(System Call)  (0) 2023.10.03
[AWS] AWS에 대하여  (0) 2023.10.02
[Spring] 스프링 입문 - AOP  (0) 2023.10.01
[Spring] 스프링 입문 - JPA  (0) 2023.10.01