티스토리 뷰

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

  • 비지니스적 관점
    • 어떤 데이터를 저장해야 하는가?
  • IT적 관점
    • 어떻게 데이터를 저장해야 하는가?

2. 데이터베이스 모델링의 정의

  • 데이터베이스 모델링의 정의
    • 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업
    • 사용할 데이터를 선별하고 데이터 베이스에 체계적으로 구조화하여 저장 및 사용할 방법이 필요
  • 데이터 모델 ( 틀 )
    • 데이터의 의미, 데이터의 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념( 표기법 )의 집합
  • 데이터 모델링 ( 설계 )
    • 데이터에 대한 요구사항을 분석하여 추상화하는 과정
    • 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정
  • 데이터베이스 모델링의 단계
    • 1 ) 사용자 요구사항 분석 ( 수행 업무 : 데이터 및 업무 )
    • 2 ) 개념적 데이터 모델링 ( 수행 업무 : ER 모델 )
    • 3 ) 논리적 데이터 모델링 ( 수행 업무 : 관계형 모델 )
    • 4 ) 물리적 데이터 모델링 ( 수행 업무 : 물리적 세부사항 )
    • 5 ) 내부 스키마
  • 스키마란?
    • 어떤 물건들을 적재하기 위한 효율적인 구조

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

  • 개념적 데이터 모델링
    • 요구사항을 바탕으로 추상화하고 해석 오류를 방지
    • 실세계의 데이터를 개념적으로 일반화시켜 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정
    • 즉, 데이터의 의미와 데이터간의 관계를 파악하는 단계
  • 논리적 데이터 모델링
    • DBMS의 구현 모델에 맞춰 데이터의 구조를 표현
    • 데이터 정의 언어로 기술된 스키마 생성
    • 즉, 관계형 데이터 구현 모델에 맞춰 데이터를 구조화하는 단계
  • 물리적 데이터 모델링
    • 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
    • 즉, 스키마에 실질적으로 저장하는 과정에 필요한 설정을 하는 단계

4. 사용자 요구사항 분석의 필요

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

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

  • 정보 시스템의 대상이 되는 업무를 분석
    • 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원
    • 필요한 데이터를 저장 및 운용할 수 있는 구조 개발
  • 도출 → 분석 → 기록 단계로 수행
  • 국제 표준화 : IEEE-Std-830 ( Software Requirements Specification )
    • 요구사항 명세 양식
      • 소프트웨어를 만들기 앞서 기능적 요구사항과 비기능적 요구사항은 무엇인지 파악
    • 좋은 요구사항 명세서란?
      • 도출 → 분석 → 기록 단계를 수행하면서 추상적 → 구체적으로 기술
      • 모호하지 않게 기술

6. 사용자 요구사항 분석 과정

  • 제안 요청서 ( RFP : Request For Proposal ) → ( 요구사항 도출 )
  • 요구사항 도출
    • 개발 프로젝트 배경, 목표 및 범위를 파악
    • 업무 관계자 인터뷰 수행
    • 제안 요청서의 요구사항을 기능별 분류 및 상세화
    • 외부자료 수집 및 분석
  • → 요구사항 명세서 → ( 요구사항 분석 )
  • 요구사항 분석
    • 도출된 요구사항의 명확성, 완전성, 모호성 검증
    • 기술 개요, 기능 및 비기능 요구사항, 위험 요소, 용어와 데이터 정의, 사용자 인터페이스 명세화
    • 불완전한 부분이 존재할 경우, 요구사항 도출 단계 재수행
  • → 요구사항 정의서 → ( 요구사항 기록 )
    • 요구사항 정의서를 통해 실질적인 개념적 데이터 모델링 진행
  • 요구사항 기록
    • 요구사항이 정확하게 반영되었는지 확인하는 단계
    • 요구사항 목록 정리 및 관리자의 승인
    • 정리된 요구사항을 형식에 맞춰 문서화
    • 프로젝트 종료 때까지 반영 여부 지속적 관리

7. ER 모델의 개념 ( 개념적 데이터 모델링 )

  • 1976년 케네기 멜론 대학의 P.Chen박사 제안
  • 실세계의 속성들로 이루어진 개체( Entity )와 개체 사이의 관계( Relationship )를 정형화시킨 모델
  • 개념적 데이터 모델링 관계에서 사용되는 모델
  • 데이터 구조와 관계를 ER 다이어그램( ERD )으로 표현
  • 구성요소
    • 개체 집합, 관계 집합, 속성
    • 제약 조건
    • 특수 속성과 특수 관계

8. 개체집합

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

9. 관계집합

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

10. 속성

  • 개체를 구체적으로 설명하는 특성으로 개체 집합은 속성의 집합
  • 속성 값의 특성에 따라 여러 종류로 구분
  • 속성의 종류
    • 단순 속성과 복합 속성
    • 단일값 속성과 다중값 속성
    • 유도 속성과 저장 속성

11. 속성의 종류

  • 단순 속성과 복합 속성
    • 단순 속성 : 더 작은 구성 요소로 나눌 수 없는 속성
    • 복합 속성 : 더 작은 구성 요소로 나눌 수 있는 속성
  • 단일값 속성과 다중값 속성
    • 단일값 속성 : 한 개체에 대해 단 하나의 속성 값만을 갖는 속성
      • ex ) 학생이름
    • 다중값 속성 : 한 개체에 대해 여러 개의 속성 값을 갖는 속성
      • ex ) { 전화번호 } : 다중값 속성은 { }로 표기
  • 유도 속성과 저장 속성
    • 유도 속성 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성
      • ex ) 나이 ( ) : 유도 속성은 함수의 개념으로 ( )로 표기
    • 저장 속성 : 실제 값을 저장해야 하는 속성, 유도 속성을 위해 사용
      • ex ) 생년월일
  • 각각의 속성은 세 그룹 중 하나의 속성애 해당
    • ex ) 생년월일은 복합 속성이자 단일값 속성이자 저장 속성이다.

12. 제약 조건

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

13. 제약조건 - 사상수 ( Mapping Cardinality )

  • 관계 집합에 참가한 개체 집합에 대해 한 개체 집합의 개체가 다른 개체 집합의 개체와 관계 맺을 수 있는 수량
    • ex ) 1:1, N:1, M:N
    • 표현은 1인쪽에 ← 표시를 하고, 다수의 관계를 맺을 때는 <와 같은 화살표 표시가 아닌 -로 표시한다

14. 제약조건 - 참가 제약 조건 ( Participation Constraints )

  • 전체적 참가
    • 한 개체 집합의 모든 개체가 관계 집합에 참여하는 조건
    • 표기 방법 : <== ( 이중선 )
  • 부분적 참가
    • 한 개체의 일부 개체만 관계 집합에 참여하는 조건
    • 표기 방법 : ←

15. 제약조건 - 키 ( Key ) 속성

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

16. 특수 속성과 특수 관계

  • 관계 집합의 속성
    • 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성

  • 재귀적 관계
    • 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계

17. 특수 개체 집합

  • 약한 개체 집합
    • 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
    • 표기방법 : 약한 개체와 관계 개체까지 이중선으로 표기
  • 강한 개체 집합
    • 약한 개체 집합과 연결되는 개체 집합

728x90

'방송대 > 데이터베이스 시스템' 카테고리의 다른 글

6강. SQL (3)  (0) 2025.03.24
5강. SQL (2)  (0) 2025.03.17
4강. SQL ( 1 )  (0) 2025.03.10
3강. 관계형 모델  (0) 2025.03.03
1강. 데이터베이스의 이해  (0) 2025.02.19
댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
최근에 올라온 글
Total
Today
Yesterday
공지사항