SQLD - 데이터 모델링에 대한 이해(2)

Kim Hyen Su·2023년 8월 20일

SQL

목록 보기
2/15

✅ 속성

  • 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위.
  • 한 개의 엔티티는 2개 이상의 인스턴스의 집합.
  • 한 개의 엔티티는 2개 이상의 속성을 가져야함.
  • 한 개의 속성은 1개의 속성값을 가짐.

✅ 속성의 분류

  • 기본 속성 : 업무로 부터 추출한 모든 일반적인 속성.
  • 파생 속성 : 다른 속성에 영향을 받아 발생하는 속성, 빠른 성능을 위해 원래 속성의 계산값을 저장.
  • 설계 속성 : 업무를 규칙화하기 위해 새로 만들거나, 변형, 정의하는 속성. Ex) 일련번호

✅ 도메인

  • 각 속성이 가질 수 있는 값의 범위.

✅ 속성 명명 규칙

  • 해당 업무에서 사용하는 용어
  • 서술식 속성명 사용 금지
  • 약어 사용 금지
  • 전체 데이터 모델에서 유일성 확보

✅ 관계

  • 엔티티 간에 논리적인 연관성.
  • 존재의 형태 또는 행위로서 서로에게 연관성이 부여된 상태를 의미.

✅ 관계 페어링

  • 엔티티 안에 인스턴스가 개별적으로 관계를 갖는 것.
  • ERD 에서는 존재적 관계와 행위적 관계를 구분하지 않지만 UML(클래스 다이어그램)에서는 이것을 구분하여 연관관계(실선)와 의존관계(점선)으로 표현한다.

✅ 관계의 표기법

관계명

관계 차수(1:1, 1:M, M:N)

관계 선택사양(필수 관계, 선택 관계)

✅ 관계 체크사항

  • 2개 엔티티 사이에 관심있는 연관규칙이 있는가
  • 2개 엔티티 사이에 정보의 조합이 발생하였는가
  • 업무 기술서 장표에 관계 연결에 대한 규칙을 서술 했는가
  • 업무 기술서 장표에 관계 연결을 가능케 하는 동사인가

✅ 식별자

  • 엔티티 내에서 인스턴스를 구분하는 구분자.
  • 식별자는 논리 데이터 모델링 단계에서 사용.
  • key는 물리 엔티티 모델링 단계에서 사용.

✅ 식별자 특징

  • 주식별자에 의해 모든 인스턴스들이 유일하게 구분됨
  • 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함.
  • 지정된 주식별자의 값은 자주 변하지 않아야 함.
  • 주식별자로 지정되면 반드시 값이 들어가야 함.

✅ 식별자 분류

대표성 여부

  • 주식별자 : 엔티티 내 각 어커런스(인스턴스)를 구분할 수 있는 구분자로써, 타엔티티와 참조관계로 연결가능.

  • 보조 식별자 : 어커런스를 구분할 수 있는 구분자이나, 대표성을 가지지 못해 참조관계 연결이 불가함.

스스로 생성 여부

  • 내부 식별자 : 스스로 생성된 식별자.

  • 외부 식별자 : 타엔티티로 부터 받아오는 식별자.

속성의 수

  • 단일 식별자 : 하나의 속성으로 구성.

  • 복합 식별자 : 2개 이상읫 속성으로 구성.

대체 여부

  • 본질 식별자 : 업무에 의해 만들어진 식별자.

  • 인조 식별자 : 인위적으로 만들어진 식별자.

✅ 주식별자 도출기준

  • 해당 업무에서 자주 사용되는 속성.
  • 명칭, 내역 등과 같이 이름으로 기술된 속성은 사용 불가.
  • 복합으로 주식별자 구성 시 최소한의 속성을 사용.

✅ 식별자 관계

주식별자

  • 자식의 주식별자로 부모의 주식별자를 상속함.
  • 강한 연결관계로 표현되며, 실선으로 표기함.

비식별자

  • 부모의 주식별자를 자식의 일반속성으로 사용.
  • 사용하는 경우
    • 부모 없는 자식이 생성될 수 있는 경우.
    • 부모와 자식의 생명주기가 다를 경우.
    • 여러 개의 엔티티가 하나의 엔티티로 통합되어 표현되었는데 각각의 엔티티가 별도의 관게를 가진 경우.
    • 자식 엔티티에 별도의 주식별자를 생성하는 것이 유리한 경우
    • SQL 문장이 길어져 복잡성이 증가되는 경우.
  • 약한 연결관계로 표현되며, 점선으로 표기함.
profile
백엔드 서버 엔지니어

0개의 댓글