오봉이와 함께하는 개발 블로그

데이터 모델링 본문

DB

데이터 모델링

오봉봉이 2022. 2. 4. 13:29
728x90

데이터 모델링

데이터베이스 설계 순서

  • 요구사항 분석 -> 개념적 데이터 설계 -> 논리적 데이터 설계 -> 물리적 데이터 설계 -> 구현

데이터 모델링

  • 현실 세계에 존재하는 개체의 구성 요소가 가지는 값(데이터)을 컴퓨터 세계에 표현하기 위한 현실 세계와 컴퓨터 세계 사이의 데이터 변환 과정
  • 현실 세계의 복잡한 개념을 단순화/추상하 시켜 데이터베이스화 하는 기법
  • 프로젝트 분석과 설계 단계에서 가장 중요한 작업 중 하나

데이터 모델링 과정에서 수행되는 작업

  • (1) 데이터베이스 내에 존재하게 되는 데이터 타입 정의
    • 예 : 학생, 교수, 학과, 상품, 회원, 주문 등 (테이블로 생성)
  • (2) 데이터들 사이 관계 규정
    • 예 : 학과와 학생 : 소속(하다/되다), 회원과 상품 관계 : 주문(하다)
  • (3) 데이터의 의미와 데이터에 가해진 제약조건 명시
    • 예 : 키 제약조건, 참조 무결성 제약 조건 등

데이터 모델링 과정

  1. 요구사항 수집 및 분석 (사용자 / 데이터베이스 용도 요구 사항 수집 및 분석)
  2. 데이터 베이스 설계
    1. 개념적 모델링 (ERD 작성)
    2. 논리적 모델링(E-R 모델을 관계 데이터 모델로 사상)
    3. 물리적 모델링(DBMS의 특성에 맞게 저장 구조를 정의)
  3. 데이터 베이스 구현

개념적 모델링

  • 현실 세계를 추상적 개념인 개체 타입과 관계 타입으로 표현
  • 요구사항 분석 결과를 토대로 업무의 핵심적인 개념을 구분하고 개체(entity) 추출, 관계 정의
  • ER 다이어그램(Entity Relation Diagram)이라는 표준화된 그림으로 표현

논리적 모델링

  • 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정
  • 개념적 모델링에서 산출된 ER 다이어그램을 사용하고자 하는 DBMS에 맞게 사상(Mapping)

논리적 모델링 과정 중 수행 작업

  • 개념적 모델링에서 추출하지 않는 상세 속성 모두 추출
  • 정규화 수행
    • 데이터 중복 제거
    • 불필요하게 합쳐진 데이터 나누는 작업(새로운 테이블로 분리)
  • 데이터 표준화 수행

물리적 모델링

  • 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하는 과정
  • 데이터베이스가 최적의 성능을 낼 수 있도록 DBMS의 특성에 맞게 저장 구조 정의

개체-관계 모델 (E-R 모델) : 개념적 모델링 단계에서 작업

  • 개체-관계 모델 개념

    • E-R: Entity Relationship 모델
    • 개체와 개체 간의 관계를 이용해 현실 세계를 개념적으로 표현하는 모델
    • 데이터베이스 설계 과정 중 개념적 설계 과정에 사용되는 모델
    • 개체와 개체 간의 관계를 E-R 다이어그램이라는 표준화된 그림으로 표현
  • E-R 다이어그램

    • 개념적 모델링의 결과물로 기호를 사용하여 현실 세계를 표현

    • ERD 표기법

      • 피터 첸 표기법

        • 관계에 중점을 둔 표기법
        • 쉬운 표기법으로 쉽게 이해
        • 속성이 많아지거나 관계가 복잡해지면 표현하기 어려움
        • 피터 첸 기법의 ERD에서 사용되는 기호
      • IE 표기법

        • 정보공학에서 사용하는 데이터 모델 표기법
        • 까마귀발 모양과 같은 형태의 관계 기호로 표현하기 때문에 Crow’s Foot Model이라고도 함
      • Barker 표기법

        • 영국의 컨설팅 회사 CACI에 의해 처음 개발
        • 리차드 바커(Richard Barker)에 의해 지속적으로 업그레이드
        • 오라클에서 Case Method로 채택하여 사용
  • 개체

    • entity
    • 사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 갖고 있는 독립적인 실체
    • 테이블로 생성될 수 있는 실체
    • 개체의 유형
      • 개념적 개체
        • 학과, 과목, 예금 등과 같이 눈에 보이지 않는 개체
      • 물리적 개체
        • 사람, 사물 등과 같이 눈에 보이는 개체
    • 개체의 특징
      • 유일한 식별자에 의해 식별 가능
      • 꾸준한 관리를 필요로 하는 정보
      • 업무 프로세스에 이용
      • 반드시 자신의 특징을 나타내는 속성 포함
        • 도서 : 도서번호, 도서명, 저자, 발행일, 출판사 등
      • 다른 개체와 최소 한 개 이상 관계를 설정
      • 개체 인스턴스 : 하나의 개체
      • 개체 집합
        • 유사한 개체들의 집합
        • 동일한 속성을 공유하는 같은 유형의 개체 집합
      • 개체 타입 : 개체를 정의한 것
      • E-R 다이어그램에서 개체는 직사각형 으로 표현한다.
  • 속성

    • 개체의 성질, 분류, 수량, 상태, 특성, 특징 등의 세부 사항
    • 저장할 필요가 있는 개체에 관한 정보
    • 도메인
      • 속성이 가질 수 있는 모든 가능한 값들의 집합
        • 성별 : ‘남’, ‘여’
        • 학년 : 1 ~ 5
    • 속성의 ER 다이어그램 표현
      • 타원형으로 표현
      • 개체 타입을 나타내는 직사각형과 실선으로 연결
      • 속성의 이름은 타원의 중앙에 표기
  • 관계(Relationship)

    • 2개 이상의 개체 사이에 존재하는 연관성
    • 관계 타입
      • 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의한 것
      • 테이블로 생성된 것
    • 관계의 유형
    • 관계 타입의 ER 다이어그램 표현 예
    • 매핑 카디널리티 (Mapping Cardinality)
      • 관계와 개체 타입이 연결될 때 대응(mapping)되는 수
      • 이항 관계 매핑 카디널리티
        • 일 대 일 (1:1)
          • 관계를 맺고 있는 개체 집합 X의 각 원소가 개체 집합 Y의 원소 한 개와 대응되는 관계
        • 일 대 다 (1:N)
          • 관계를 맺고 있는 개체 집합 X의 하나의 원소가 개체 집합 Y의 원소 여러개와 대응되는 관계
        • 다 대 일 (N:1)
          • 관계를 맺고 있는 개체 집합 Y의 원소 하나가 개체 집합 X의 하나의 원소가 여러 개와 대응되는 관계
        • 다 대 다 (N:M)
          • 관계를 맺고 있는 개체 집합 각 원소들이 서로 임의의 개수의 원소들과 서로 복잡한 관계를 맺고 있는 관계
  • IE 표기법

    • 정보공학에서 사용하는 데이터 모델 표기법
    • 까마귀발 모양과 같은 형태의 관계 기호로 표현하기 때문에 Crow’s Foot Model이라고도 함
    • 많이 사용되는 표기법 중의 하나이지만 개체 집합의 상세 표현에 있어서 공간을 많이 차지하는 단점
728x90

'DB' 카테고리의 다른 글

DAO 메소드를 클래스로 실행  (0) 2021.11.26
DAO & DTO  (0) 2021.11.25
내장함수 & 파일로드 & JDBC  (0) 2021.11.24
DML - Join, SubQuery, Table CP  (0) 2021.11.23
DML - SELECT문 기초  (0) 2021.11.22
Comments