6장 데이터 모델링

  • 데이터베이스 설계는 소프트웨어 설계의 기본 설계라고 할 수 있습니다.


데이터베이스의 생명주기

  • 데이터베이스 생성 및 운영 관련 기능


  1. 요구 사항 수집 및 분석

사용자의 니즈를 듣고 분석하여 데이터베이스 구축 범위를 결정하는 단계

  1. 설계

분석된 요구사항을 바탕으로 주요 개념 및 비즈니스 프로세스를 파악(개념적 설계)하고 사용하는 DBMS 유형으로 변환(논리적 설계)한 후 데이터베이스 스키마를 도출합니다(물리적 설계).

  1. 화신

디자인 타임에 생성된 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(뷰, 인덱스 등)를 생성합니다.

  1. 일하다

구현된 데이터베이스를 기반으로 소프트웨어를 제작하여 서비스를 제공합니다.

  1. 모니터링 및 개선

데이터베이스 운영에 따른 시스템의 문제점을 관찰하고 데이터베이스의 문제점을 직접 파악하여 개선한다.

데이터 모델링 코스


요구 사항 수집 및 분석

  1. 실제 문서 수집 및 분석
  2. 담당자와의 인터뷰 또는 설문조사를 통해 직접 문의
  3. 유사한 작업을 수행하는 기존 데이터베이스 분석
  4. 각 작업과 관련된 모든 부분을 확인하십시오.

개념적 모델링

  • 요구사항 수집 및 분석 결과를 바탕으로 업무의 핵심 개념을 분류하고 전체적인 틀을 만드는 과정
  • 엔터티를 추출하고 엔터티 간의 관계를 정의하여 ER 다이어그램(ERD: Entity Relationship Diagram)을 만드는 과정을 말합니다.


논리적 모델링

  • 개념적 모델링 시 생성된 ER 다이어그램을 사용할 DBMS에 적합한 방식으로 매핑(mapping)하여 실제 데이터베이스로 구현될 모델을 생성하는 과정


  • 논리적 모델링 프로세스
    1. 개념 모델링 중에 추출되지 않은 세부 속성을 추출합니다.
    2. 정규화
    3. 데이터 표준화 수행

물리적 모델링

  • 작성된 논리모델을 실제 컴퓨터의 저장장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
  • 데이터베이스가 최적의 성능을 발휘하기 위해서는 DBMS의 속성(제품군에 따라 다름)에 따라 메모리 구조가 정의되어야 합니다.


트랜잭션 및 저장 공간 설계와 관련된 물리적 모델링에서 고려해야 할 사항

  1. 응답 시간을 최소화해야 합니다.
  2. 동시에 발생할 수 있는 트랜잭션 수를 고려해야 합니다.
  3. 데이터가 저장되는 공간은 효율적으로 설정되어야 합니다.

ER 모델: 엔터티 – 관계

  • 세상의 사물을 개체와 개체 간의 관계로 표현


개별적으로

  • 사람, 사물, 장소, 개념 또는 사건과 같이 독립적인 의미를 갖는 유형 또는 무형의 사람이나 사물.
  • 독립적인 의미를 가진 엔터티를 어떻게 분류합니까? 객체 지향 클래스를 설계할 때처럼 하나의 기능을 가진 단위로 나누어야 합니다.
  • 주로 데이터베이스에서 처리되는 객체는 개별 객체, 데이터 값을 가지는 객체, 데이터 값을 변경하는 객체로 구성됩니다.
  • 객체를 특징짓는 속성으로 식별됩니다. 객체는 서로 관계가 있습니다.
  • 엔티티 그룹으로 그룹화된 유사한 속성을 가진 엔티티 유형을 구성합니다.


엔터티 유형의 ER 다이어그램 표현

  • ER 다이어그램에서 엔터티 유형은 사각형으로 표시됩니다.
  • 개체 유형의 유형
    • 강한 유닛: 다른 유닛의 도움 없이 독립적으로 존재할 수 있는 유닛.
    • 약한 엔터티: 단독으로 존재할 수 없으며 상위 엔터티 유형이 있어야 합니다.

EX) 직원이 없으면 부양가족도 존재할 수 없습니다.


재산

  • 객체의 속성
  • 속성은 기본적으로 개체 유형을 나타내는 사각형에 실선으로 연결된 타원으로 표시됩니다.
  • 속성이 객체를 고유하게 식별하는 키인 경우 이름에 밑줄이 그어집니다.

속성 유형


관계 및 관계 유형

  • 관계(Relationship): 엔터티 간의 연결을 나타내는 개념입니다.
  • Relationship Type: 엔티티 타입과 엔티티 타입 간의 연결 가능한 관계를 정의하며, 관계 집합은 관계로 연결된 집합을 의미한다.


완료 후 관계 유형

  • 관계 집합에 포함된 엔터티 유형의 수를 관계 유형 정도라고 합니다.
  1. 선형 관계: 엔터티가 자신과 관계가 있는 경우


  1. 이진 관계: 두 개체가 관계를 맺을 때


  1. 삼자 관계: 세 개의 개체가 관계를 맺는 경우


관계 카디널리티

  • 두 엔터티 유형 간의 관계에 실제로 관련된 개별 엔터티의 수입니다.


  • 관계 대응의 최소값과 최대값
    • 관계 대응 1:1 , 1:N , M:N 에서 1 , N , M 은 각 엔터티가 관계에 참여하는 최대값을 나타냅니다.
    • 관계에 관여하는 개체의 최소값이 표시되지 않는 단점을 보완하기 위해 차트는 해당 값 외에 관계의 실선(최소값, 최대값)에 최소값과 최대값을 표시합니다. 숫자.


ISA 관계(is-a)

  • 상위 엔터티 유형의 특성(엔티티 간 상위 및 하위 관계)에 따라 하위 엔터티 유형이 결정되는 형태

참여 제한

  • 엔티티 집합의 모든 엔티티가 관계에 참여하는지 여부에 따라 전체 참여와 부분 참여로 나눌 수 있습니다.
  • 전체 참여는 엔티티 집합의 모든 엔티티에 영향을 미치고 부분 참여는 일부에만 영향을 미칩니다.
  • 전체 참여를 (최소, 최대)로 표현하면 최소값은 1 이상으로 모든 사람이 참여한다는 의미이고 부분 참여는 최소값이 0 이상이다.


역할

  • 각 엔터티는 엔터티 유형 간의 관계를 표현하는 고유한 역할을 합니다.


순환 관계

  • 재귀 관계: 엔터티 유형이 동일한 엔터티 유형(자체)과 재귀 관계를 갖는 형식입니다.


약한 엔터티 유형 및 식별자

  • 약한 엔터티 유형: 상위 엔터티 유형이 결정되지 않으면 개별 엔터티를 식별할 수 없는 종속 엔터티 유형입니다.
  • 약한 엔터티 유형은 독립적인 키로 존재할 수 없지만, 상위 엔터티 유형의 키와 결합하여 약한 엔터티 유형의 단일 엔터티를 고유하게 식별하는 속성을 판별자 또는 하위 키라고 합니다.

식별자 및 약한 엔터티 유형


전)


IE 표기(정보 기술)

  • ER 다이어그램은 더 짧고 표현하기 쉽습니다.
  • IE 표기법에서 관계는 실선 또는 점선으로 표시되고 엔터티 유형 및 속성은 사각형으로 표시됩니다.


  • IE 표기법에서 관계(강한 관계, 비식별자 관계)는 점선으로 표시되고 (약한 관계, 식별자 관계)는 실선으로 표시됩니다.

예) 식별자 관계의 예


예) 비식별자 관계의 예


ER 모델을 관계형 데이터 모델에 매핑

  • 완성된 ER 모델은 실제 데이터베이스에 맞추기 위해 논리적인 모델링 단계를 거치게 되며, 이 단계에서 매핑이 발생합니다.

ER 모델을 관계형 데이터 모델에 매핑


매핑 알고리즘

개체 유형 지정

  • 1단계: 강력한(일반) 엔터티 유형: 일반 엔터티 유형 E의 경우 해당 관계 R을 만듭니다.
  • 2단계: 약한 엔터티 타입: 약한 엔터티 타입으로 생성된 관계는 강한 엔터티 타입의 키를 자신의 키에 외래 키로 매핑하여 자신의 기본 키를 형성한다.


관계 유형 지정


  • 3단계: 바이너리 1:1 관계 유형
    • 이진 1:1 관계 유형을 사용하면 (방법 1)에서 (방법 4)까지 모든 유형을 매핑할 수 있습니다. 회사가 가지고 있는 정보의 종류에 따른 판단.
  • 4단계: 바이너리 1: N 관계 유형
    • 이진 1:N 관계형의 경우 N의 위치에 따라 (방법 1) 또는 (방법 2)로 할당된다.
    • N의 위치인 관계가 1의 위치인 관계의 pk를 fk로 받도록 사용한다.


  • 5단계: M:N 이진 관계 유형
    • 이진 M:N 관계 유형은 (방법 4)의 유형으로 매핑됩니다.


  • 6단계: N자리 관계 유형
    • ER 모델의 차수가 3 이상인 다중 관계 유형의 경우 (방법 4)의 유형으로 매핑된다.


다중 값 속성 매핑


  • 7단계: 속성 수를 알 수 없는 경우(방법 1) 및 속성 수가 제한적인 경우(방법 2) 사용