240124-데이터 모델링

윤호상·2024년 1월 24일

SQL

목록 보기
4/6

데이터 모델링의 개념

  1. 정보 모델링 -> 2. 데이터 모델링 -> 3. DB로 구현
  • 데이터 베이스 생명 주기

    • 데이터 모델링 과정

  1. 요구사항 수집 및 분석
  2. 설계
  • 개념적 모델링
    • 중요 개념을 구분(핵심 Entity(독립개체) 도출 / ERD 작성)
  • 논리적 모델링
    • 각 개념을 구체화(ERD-RDB모델 사상/상세 속성 정의/정규화 등)
  • 물리적 모델링
    • 데이터베이스 생성 계획에 따라 개체, 인덱스 등을 생성
      (DB 개체 정의/테이블 및 인덱스 등 설계)
  1. 구현
  2. 운영
  3. 감시 및 개선

  • 개념적 모델링
    -> 요구사항을 수집하고 분석한 결과를 토대로 핵심적인 개념을 구분해
    전체적인 뼈대를 만드는 과정
    -> ER 다이어그램 만드는 과정까지 포함
    -> 업무의 (핵심개념)을 구분 전체적인 레이아웃을 만드는 과정
    핵심 개념 :
    1) 개체(Entity)를 추출
    2) 개체들 사이의 관계 정의 -> PK 표현(PK 선정)
    ======> ER 다이어그램

  • 논리적 모델링
    -> ER 다이어그램을 사용하려는 DBMS에 맞게 매핑(사상)하여
    -> 실제 DB를 구현하기 위한 모델을 만드는 과정

  • 물리적 모델링
    -> 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정

===> 물리적 모델링 시 트랜잭션, 저장 공간 설계 측면에서 고려할 사항
1. 응답시간 최소화
2. 얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토

  1. 데이터가 저장될 공간을 효율적으로 배치해야 한다.

ER 모델

  • ER 모델 : 세상의 사물을 개체와 개체 간의 관계로 표현함
    • 개체 : 독립적인 의미를 지니고 있는 유무형의 사람 또는 사물
  • 개체 타입

    • 강한 개체 : 다른 개체의 도움 없이 독자적으로 존재할 수 있는 개체
    • 약한 개체 : 독자적으로는 존재할 수 없고 반드시 상위 개체 타입을 가짐
  • 속성
    개체가 가진 성질

  • 관계 : 개체 사이의 연관성을 나타내는 개념

  • 관계 타입 : 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의한 것이며,
    관계 집합은 관계로 연결된 집합을 의미함

  • 관계 타입의 유형

    -> 일대일 관계
    -> 일대다, 다대일 관계
    -> 다대다 관계

max는 최대로 관계를 맺을 수 있는 수


  • ISA 관계
    (is - a 관계) 상위 개체 타입의 특성에 따라 하위 개체 타입이 결정되는 형태
  • 참여 제약 조건
    • 개체 집합 내 모든 개체가 관계에 참여하는지 유무에 따라 전체참여와 부분참여로 구분 가능
    • 전체참여는 개체집합의 모든 개체가,부분참여는 일부만 참여함
    • 전체 참여를 (최솟값, 최댓값)으로 표현할 경우 최솟값이 1 이상으로 모두 참여한다는 뜻이고, 부분 참여는 최솟값이 0 이상임
  • 역할
    개체 타입 간의 관계를 표현할 때 각 개체들은 역할을 담당
    • 순환적 관계 : 하나의 개체 타입이 동일한 개체타입(자기 자신)과 순환적으로 관계를 가지는 형태
  • 약한 개체 타입과 식별자
    • 약한 개체 타입 : 상위 개체타입이 결정되지 않으면 개별개체를 식별할 수 없는 종속된 개체 타입
    • 식별자 : 약한 개체 타입에서 개별 개체를 구분하는 속성
      키라고 하지 않고 식별자라고 부름

IE 표기법

  • craw-foot 표기법

1) Book 도서 개체
2) Customer 고객 개체
3) Orders 주문 개체

  1. 서점은 출판사에서 도서를 공급받아 판매한다.
  2. 판매내역은 매일 기록으로 남겨야 한다. ==> 고객 서비스와 매출관리에 활용
  3. 서점은 판매하는 도서의 도서번호, 도서이름, 출판사, 도서단가를 갖는다.
  4. 구매한 도서들은 납품한 출판사와 출판사 담장자이름, 전화번호를 갖는다.
  5. 고객이 책을 주문할 때마다 주문 번호를 기록해야 한다.
  6. 고객에게 판매한 도서는 판매한 날, 고객별 주문금액 추가로 관리해야 한다.
  7. 고객들은 여러 번에 걸쳐 다양한 도서를 구매할 수 있다.

개념설계 / 논리설계 (개체와 관계를 구분하여 정리한다.)

  • 도서 (도서번호, 도서이름, 출판사, 도서단가) -E

  • 고객 (고객번호, 고객이름, 주소, 전화번호) -E

  • 출판사(출판사 이름, 담당자 이름, 전화번호) -E

  • 출판사 1 : 도서 N(서점은 출판사로부터 공급한 도서만 등록하여 관리)
    ==> 비식별자

  • 고객 N : 도서 M - 식별관계 ==> 주문 관계 표현(도서와 고객의 PK,FK)

  • 주문 관계 (교차 테이블)

  • 고객이 도서를 구입하는 날(주문일자), 구매한 가격(주문금액)을 따로 저장한다.
    고객과 도서의 관계에 속성이 존재(한다는 것을 알 수 있음)

profile
개발네발

0개의 댓글