본문 바로가기
DB/RDBMS

2. 데이터베이스 모델링

by nomfang 2021. 3. 13.
728x90
반응형

2-1. 데이터베이스 모델링의 필요

비즈니스적 관점

  • 어떤 데이터를 저장해야 하는가?

프로그래머의 관점

  • 데이터를 어떻게 저장해야하 하는가?

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

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

데이터베이스 모델링의 개념

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

모델링의 단계

데이터 모델

  1. 사용할 데이터를 선별하여 데이터베이스에 체계적으로 구조화하여 저장/사용할 방법이 필요
  2. 데이터 모델 : 의미 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합
  3. 데이터 모델링 : 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정

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

1. 개념적 데이터 모델링

  • 요구사항의 해석 오류를 방지

  • 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 타입, 속성, 관계, 제약조근 등을 이끌어내는 과정

    2. 논리적 데이터 모델링

  • 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정

  • 데이터 정의 언어로 기술된 개념 스키마 생성

    3. 물리적 데이터 모델링

  • 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정

2-2. 사용자 요구사항 분석

사용자 요구사항의 필요

  1. 데이터에 대한 충분한 사전 분석없이는 적절한 설계가 불가능
  • 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되고, 떄문에 신속/정확성이 요구
  • 데이터베이스의 활용 범위가 확대됨에따라 데이터베이스의 호율적 운용에 초점
  1. 사용자의 요구를 명세하지 않고 데이터베이스 설계 및 개발을 진행하는 경우
  • 결과물의 완성도 저하 및 신뢰도 추락
  • 개발 후 발생하는 에러 수정에 많은 추가 비용 지출

사용자 요구사항 분석의 개념

  1. 시스템의 대상이 되는 없무를 분석
  • 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원
  • 필요한 데이터를 저장 및 운용할 수 있는 구조 개발
  1. 도출, 분석, 기록 단계로 수행
  • 국제 표준화 번호: IEEE-Std -830

사용자 요구사항 분석 과정

  • 제안 요청서(사용자가 작성)-> 요구사항 도출 -> 요구사항 명세서(개발사가 작성)
    -> 요구사항 분석 -> 요구사항 정의서 -> 요구사항 기록

  • 요구사항 도출
    -> 구축 대상, 프로젝트 목표, 범위를 기준으로 조사 범위 결정
    -> 업무관계자 인터뷰
    -> 외부자료 수집 및 분석

  • 요구사항 분석
    -> 도출된 요구사항의 명확성, 완전성, 모호성 검증
    -> 불완전한 부분이 존재할 경우 요구사항 도출단계 재수행
    -> 요구사항을 분류하여 통합 또는 분리

  • 요구사항 기록
    -> 요구사항 목록 정리 및 관리자 승인
    -> 정리된 요구ㅠ사항을 형식에 맞춰 문서화
    -> 프로젝트 종료 떄까지 반영 여부 지속적 관리

2-3. ER 모델

ER 모델의 개념

  • 1976 카네기 멜론 대학의 P.Chen 박사가 제안
  • 실세계의 속성들로 이루어진 개체(entity)와 개체사이의 관계(relationship)를 정형화시킨 모델
  • 개념적 모델링 단계에서 사용되는 데이터 모델
  • 데이터 구조와 관계를 ER 다이어그램(ERD)로 표현
  • 구성 요소
    -> 개체집합 , 관계집합, 속성

개체 집합

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

관계 집합

  1. 관계
  • 개체와 개체 사이의 연관성
  1. 관계 집합
  • 개체 집합 간의 연결 관계

속성

  1. 개체를 구체적으로 설명
  2. 속성 값의 특성에 따라 여러 종류로 구분
  3. 속성의 종류
    -> 단순 속성, 복합 속성
    -> 단일값 속성, 다중값 속성
    -> 유도속성, 저장속성

속성의 종류

  1. 단순 속성
  • 더 작은 구성요소로 나눌 수 없는 속성 (성별, 나이 등)
  1. 복합 속성
  • 더 작은 구성요소로 나눌 수 있는 속성 (생년월일 등)

들여쓰기로 복합 속성 표현

  1. 단일 값 속성
  • 한 개체에 단 하나의 값만을 갖는 속성 (이름, 생년월일 등)
  1. 다중 값 속성
  • 한 개체에 여러개의 값을 가질 수 있는 속성 (전화번호 등)
  1. 유도 속성
  • 다른 값으로부터 값이 유추될 수 있는 속성 (나이는 생년월일을 통해 알아낼 수 있다)
  1. 저장 속성
  • 유도 속성을 위해 사용될 수 있는 속성

제약 조건

  • 데이터 모ㅓ델은 데이터, 의미 , 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구

  • ER 모델은 개체와 관계에 대한 표혀느이 정확성을 위해 데이터가 준수해야 하는 제약조건을 정의

  • 제약조건( constraints)의 종류

  1. 사상수

  2. 참가 제약조건

  3. 키 속성

사상수

  • 관계 집합에 참가한 개체 집합에 대해 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시
  1. 1 : 1 (일대 일 관계)

  2. 1 : N (일대 다 관계)

  3. N : N (다대 다 관계)

1 : N 관계의 표현

참가 제약조건

  • 전체적 참가: 어떤 개체의 집합의 모든 개체가 관계 집합에 참여하는 조건

  • 부분적 참가: 어떤 개체 집합의 일부 개체가 관계 집합에 참여하는 조건

전체적 참가는 2줄로 표현

키 속성

  1. 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
  • 개체를 고유하게 구분하는 역할
  • 관계 집합의특정 관계를 찾는 역할

키 속성은 밑줄을 그어 표현

특수 속성과 특수 관계

  • 관계 집합의 속성 : 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
  • 재귀적 관계: 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계 (과목과 선수 과목 등)

특수 관계

  • 약한 개체 집합 : 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
  • 강한 개체 집합 : 약한 개체 집합과 연결되는 일반 개체 집합

약한 개체 집합과 강한 개체 집합의 효현

 

반응형

'DB > RDBMS' 카테고리의 다른 글

6. SQL(3)  (0) 2021.04.29
4. SQL(1)  (0) 2021.04.19
3. 관계형 모델  (0) 2021.03.31

댓글