log.Sehee

데이터베이스 기초 본문

CS

데이터베이스 기초

Sehe_e 2023. 11. 15. 20:21

Entity

  : 업무에서 관리해야 하는 데이터의 집합, 명사형, 인스턴스의 집합

 

특징

  • 업무에서 필요로 함
  • 유일한 식별자에 의해 식별이 가능해야 함
  • 2개 이상의 인스턴스를 포함함
  • 업무 프로세스에 이용됨
  • 속성을 가짐
  • 다른 엔터티와 최소 한 개 이상의 관계를 가짐

 

종류

 

유무형에 따른 분류

1. 유형 Entity : 물리적 형태가 있고 지속적으로 활용되는 Entity

2. 개념 Entity : 물리적 형태가 없는 엔터티

 

발생 시점에 따른 분류

1. Key Entity (기본 엔터티)

  : 독립적으로 생성되는 엔터티

2. Main Entity (중심 엔터티)

  : 기본 엔터티와 행위 엔터티의 중간에 존재하는 Entity

3. Active Entity (행위/사건 엔터티)

  : 2개 이상의 부모 엔터티로부터 발생, 비즈니스 프로세스를 실행하면서 생성되는 엔터티.

  지속적으로 정보가 추가되고 변경되어 데이터 양이 가장 많음

 

명명 규칙

현업 업무에서 사용하는 용어 / 약어 지양 / 단수 명사 / 유일성 보장 / 명확성

 

 


Attribute (속성)

  : Entity가 가지는 최소 의미 단위 / 인스턴스의 구성 요소

 

엔터티와 인스턴스 및 속성과 속성값 간의 관계

Barker 표기법

속성 표기법

  1. IE 표기법
  2. Barker 표기법

 

특징

  • 업무에서 필요하고 관리하고자 하는 정보
  • 주 식별자에 함수적으로 종속됨
  • 속성값 하나만 가짐 (하나 이상의 속성값이면 정규화)

 

종류

 

특성에 따른 분류

  • 기본 속성 : 업무 프로세스에서 도출되는 본래의 속성
  • 설계 속성 : 데이터 모델링 과정에서 업무 규칙화를 위해 발생하는 속성
  • 파생 속성 : 다른 속성에 의해 만들어지는 속성 ( 저장속성은 유도 속성을 생성하는 데 사용 )

 

분해 가능 여부에 따른 분류

  • 단일 속성 : 하나의 의미
  • 복합 속성 : 여러 의미, 단일 속성으로 분해 가능 / ex) 주소
  • 단일값 속성 : 하나의 값
  • 다중값 속성 : 여러 값, 엔터티로 분해 가능

 

Entity 구성 방식에 따른 분류

  • 기본키 속성 (PK) : 엔터티를 식별할 수 있는 속성
  • 외래키 속성 (FK) : 다른 엔터티와의 관계에서 포함된 속성
  • 일반 속성 : 엔터티에 포함되고 PK나 FK 속성이 아닌 속성

 

도메인

  : 속성이 가질 수 있는 값의 범위

 


Relationship (관계)

  : Entity 간 논리적인 관련성, 동사형

 

관계의 패어링

: 인스턴스 간 개별적 관계

 

관계 표기법

1. 관계명

2. 관계차수 (Cardinality)

  : 관계 내 튜플의 전체 개수, 한 개는 직선 / 많으면 삼발로 표시

M:N 관계 : 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생

3. 관계선택사양 (Optionality)

  : 필수는 I / 선택은 O로 표시

 

종류

ERD 기준 (표기구분 안함)

  • 존재 관계 : 엔터티 간의 상태
  • 행위 관계 : 엔터티 간에 발생하는 행위

UML (Unified Modeling Language) 기준

  • 연관 관계 (Association) : 실선
  • 의존 관계 (Dependency) : 점선

식별자에 따른 분류

1. 식별 관계

  : 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용

+

약한 엔터티 : 부모 엔터티에 종속되어 존재 (강한 엔터티는 독립적으로 존재함)

 

2. 비식별 관계

  : 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계.

+

식별 관계만으로 연결되면 주식별자 수가 많아질 수 밖에 없으므로

1. 관계 강약 분석

2. 자식 엔터티의 독립 PK 필요성

3. SQL 복잡성과 개발 생산성 고려 필요

 

관계 읽기

  : 각각의 / 하나의 → 기준 엔터티 → 관계차수 → 대상 엔터티 → 관계선택사양 → 관계명

 

 


식별자

  : Entity를 대표할 수 있는 유일성을 만족하는 속성

 

특징

유일성 / 최소성 / 불변성 / 존재성

 

종류

대표성 여부에 따른 분류

  • 주식별자 : 대표성을 만족하는 식별자
    • 약한 엔터티 : 부모 엔터티에 종속되어 존재 (강한 엔터티는 독립적으로 존재함)
  • 보조식별자 : 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음
    • DB 키의 종류
      1. 기본키 (PK, Primary Key) : 엔터티를 대표하는 키, 후보키 중 선정됨
      2. 후보키 : 유일성과 최소성을 만족하는 키
      3. 슈퍼키 : 유일성만 만족하는 키
      4. 대체키 : 기본키를 제외한 나머지 후보키
      5. 외래키 (FK, Foreign Key) : 여러 테이블의 기본 키 필드, 참조 무결성을 확인하기 위해

생성 여부에 따른 분류

  • 내부 식별자 : 자연스럽게 존재하는 식별자 ( ~ 본질 식별자 )
  • 외부 식별자 : 다른 엔터티와의 관계를 통해 생성되는 식별자

속성 수에 따른 분류

  • 단일 식별자 : 하나의 속성
  • 복합 식별자 : 여러 속성

대체 여부에 따른 분류

  • 본질 식별자 : 대체될 수 없는 식별자
  • 인조 식별자 : 인위적으로 만들어지는 대체 가능한 식별자 ( 순서번호를 사용하여 생성된 식별자)
    • 후보 식별자 중 주식별자로 선정할 것이 없거나 주식별자의 칼럼이 너무 많을 때 사용

 

주식별자 도출 기준

업무에서 자주 이용되는 속성 / 이름 명명 지양 / 복합 식별자 지양

 

Comments