본문 바로가기

Study/데이터베이스

[데이터베이스] #2 데이터베이스 모델링

데이터베이스 시스템 구현 과정

  • 사용자 요구사항 분석 > 개념적 데이터 모델링 > 논리적 데이터 모델링 > 개념스키마 > 물리적 데이터 모델링 > 내부 스키마 

데이터 모델링의 개념

  • 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업

데이터 모델

  • 사용할 데이터를 선별하여 데이터베이스에 체계적으로 구조화하여 저장 사용할 방법이 필요
  • 데이터 모델 : 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합
  • 데이터 모델링

데이터베이스 모델링의 단계

개념적 데이터 모델링

  • 요구사항의 해석 오류를 방지
  • 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정

논리적 데이터 모델링

  • 특정 DBMS의 구현 모델에 맞춰 데이터를 표현ㄴ하는 과정
  • 개념 스키마 만들어짐

물리적 데이터 모델링

  • 데이터베이스 파일의 내부 저장 구조 등을 결정하는 과정
  • 내부 스키마 만들어짐

사용자 요구사항 분석

사용자 요구사항의 필요

  • 데이터에 대한 충분한 사전 분석없이 적절한 설계가 불가능
  • 사용자의 요구를 명세하지 않고 제작할 시 결과물의 완성도 저하 및 신뢰도 추락

사용자 요구사항 분석 개념

  • 시스템의 대상이 되는 업무 분석
  • 도출, 분석, 기록 단계로 수행
    • 국제 표준화 : IEEE-Std-830

사용자 요구사항 분석 과정

  1. 제안요청서 (Request For proposal, RFP)
  2. 요구사항 도출
    • 구축대상, 프로젝트 목표, 범위를 기준으로 조사범위 결정
    • 업무관계자 인터뷰
    • 외부자료 수집 및 분석
  3. 요구사항 명세서
  4. 요구사항 분석
    • 도출된 요구사항의 명확성, 완전성, 모호성 검증
    • 요구사항 분류하여 통합 또는 분리
  5. 요구사항 정의서
  6. 요구사항 기록
    • PM(Project ManageR)이 검증 > 발주사에 요청
    • 프로젝트 종료 때까지 반영 여부 지속적 관리
    • 부족한 경우 요구사항 분석으로 돌아감

ER모델

  • 1976년 카네기 멜론 대학의 P. Chen 박사 제안
  • 실세계의 속성들로 이루어진 개체(entity)와 개체 사이의 관계(relationship)를 정형화시킨 모델
  • 개념적 모델링 단계에서 사용되는 데이터 모델

구성요소

개체 집합

  • 개체(Entity)
    • 실세계에 존재하는 다른 객체와 구별되는 ㄴ유무형의 사물
    • 개체를 설명하는 여러 속성들로 구성
  • 개체 집합(entity set)
    • 같은 속성을 공유하는 개체들의 모임

관계 집합

  • 관계
    • 개체와 개체 사이의 연관성
  • 관계 집합
    • 개체 집합 간의 연결 관계
  • 속성
    • 개체를 구체적으로 설명
    • 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
    • 속성의 종류
      • 단순 속성과 복합 속성
      • 단일값 속성 과 다중값 속성
      • 유도 속성과 저장 속성

제약조건

  • 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
  • ER모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야 하는 제약조건을 정의할 수 있는 표현 방법을 제공

제약조건(constraint) 종류

  • 사상수(mapping cardinality)
    • 관계 집합에 참가한 개체 집합에 대해 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시
    • X의 개체와 Y의 개체는 반드시 1개씩 관계를 맺는 관계 = 일대일(1:1) 관계
      • 학생과 계좌
    • X의 개체가 Y의 개체와 2개 이상과 관계를 맺음 / Y의 개체는 X의 개체와 1개만 관계를 맺음 = 일대다(1:N) 관계
      • 교수와 과목 : 교수는 여러개의 과목이 가능 / 과목은 1명의 교수만 가능 
    • 다대일(N:1) 관계
    • 다대다(N:N) 관계
      • 학생과 과목 개체 집합 : 수강 관계
  • 첨가 제약조건(participation constraints)
    • 전체적 참가 : 이중선으로 표현
    • 부분적 참가 : 단일선으로 표현
    • 키(key) 속성
      • 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
        • 개체를 고유하게 구분하는 역할
    • 특수 속성과 특수 관계
      • 관계 집합의 속성 : 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
      • 재귀적 관계
      • 특수 관계
        • 학생이 이민갔을 때 관계를 맺고있는 곳의 갖고 있는 정보를 가지고 있을 필요가 없다. 종속하고 있는 관계.
        • 약한 개체 집합
        • 강한 개체 집합
반응형