Study/강의 메모

데이터 모델링 수업

voider 2022. 3. 15. 22:40

필요성

  1. 비즈니스적 관점
    • 어떤 데이터를 저장해야 하는가?
    • 어떤 데이터를 집어넣고, 집어넣지 않을지 결정하기 위해 비즈니스적 관점이 필요하다.
    • 프로그래머의 관점
      • 어떻게 데이터를 결정하는가?
      • 어떤 데이터를 저장할 것인지 결정했으면, 그것을 어떻게 저장할지에 대한 관점이 필요하다.

모델링 단계

  1. 사용자 요구사항 분석
  2. 개념적 데이터 모델링
    • 요구사항의 해석 오류를 방지
    • 실세계 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약 조건 등을 이끌어내는 과정
  3. 논리적 데이터 모델링 → 개념 스키마
    • 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
    • 데이터 정의 언어(DDL)로 기술된 개념 스키마 생성
  4. 물리적 데이터 모델링
    1. 데이터베이스 파일 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
    2. → 내부 스키마 생성

각 단계가 왜 필요할까? 일단 모델링은 왜 필요할까?

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

데이터 모델?

  • 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념 집합

데이터 모델링

  • 실세계 일부분을 DBMS가 지원하는 데이터 모델 형태로 나타내는 과정

사용자 요구사항

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

시스템 요구사항 분석 개념

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

사용자 요구사항 분석 과정

  1. 요구사항 도출
    • 제안 요청서(Request For Proposal, RFP)에서 시작
      • 업무관계자와 인터뷰
      • 외부자료 수집 및 분석
    • 이걸 통해 구축대상, 프로젝트 목표, 범위 기준으로 조사 범위 결정
  2. 요구사항 분석
    • 제안 요청 단계가 끝나면 요구사항 명세서가 나온다. 이걸 통해 요구사항 분석을 시작.
      • 도출된 요구사항의 명확성, 완전성, 모호성 검증
      • 불완전한 부분이 존재할 경우 요구사항 도출단계 재수행
      • 요구사항을 분류하여 통합 또는 분리
  3. 요구사항 기록
    • 요구사항 분석이 끝나면 요구사항 정의서가 나온다.
    • 요구사항 목록 정리 및 관리자 승인
      • 정리된 요구사항을 형식에 맞춰 문서화
      • 프로젝트 종료까지 반영 여부 지속 관리
      예시

ER 모델

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

개체 집합

  • 개체
    • 실세계에 존재하는 다른 객체와 구별되는 유무형 사물
    • 개체를 설명하는 여러 속성들로 구성
      • 예)
        • 이름: 김살다
        • 출생일: 2019년 1월 1일
        • 거주지: 중구 서소문로
        • 이사 예정일: 미정
      • 이런 데이터가 여러 개 있으면 그게 개체 집합이다.

관계 집합

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

속성

  • 개체를 구체적으로 설명
  • 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
  • 속성의 종류
    • 단순 속성과 복합 속성
      • 단순 속성
        • 더 작은 구성요소로 나눌 수 없는 속성.
          • 예) 이름,
      • 복합 속성
        • 더 작은 구성요소로 나눌 수 있는 속성
          • 예) 생년월일 → 년, 월, 일로 나눌 수 있음
    • 단일값 속성과 다중값 속성
      • 단일값 속성
        • 한 개체에 대해 단 하나의 값만 갖는 속성
          • 예) 생년월일, 이름 등
      • 다중값 속성
        • 한 개체에 대해 여러 개 값을 갖는 속성
          • 예) 연락처 → 집전화, 핸드폰 번호 등 여러 개 존재할 수 있음
    • 유도 속성과 저장 속성
      • 유도 속성
        • 다른 속성 값으로부터 값을 유추할 수 있는 속성
          • 예) 생년월일과 나이.
            • 생년월일을 통해 나이를 유추할 수 있음.
      • 저장 속성
        • 유도 속성을 위해 사용될 수 있는 속성
          • 즉, 유추가 불가능하기 때문에 실제 저장해야만 하는 속성.

제약조건

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

제약 조건 종류

  • 사상수(mapping cardinality)
    • 관계 집합에 참가한 개체 집합에 대해 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시

왼쪽 X는 오른쪽 Y와 하나씩만 관계를 맺는다. 반대도 마찬가지다. 이렇게 1:1로 매칭되는 관계를 1:1 관계라고 한다.

X는 하나의 요소에 두 개이상 관계를 맺고 있지만 Y는 하나에 하나씩만 관계를 맺고 있다. 이런 관계가 1:N이다.

1:1 사상수 표현

양쪽 모두 화살표로 관계를 맺는다.

1:N 사상수 표현

한쪽(1 방향)으로 화살표가 향한다

N:N 사상수 표현

N:N은 화살표가 없음

참가 제약조건(participation constaints)

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

key 속성

학생 개체 집합이 있다고 하면 어떻게 개별 학생 개체를 구분할 수 있을까? 각각의 고유한 개체를 표현하기 위한 별도 값을 key라고 한다.

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

특수 속성과 특수 관계

특수 속성

  • 관계 집합의 속성: 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
    • 예) 학생이 과목을 신청할 때 생성되는 신청 시간
  • 재귀적 관계: 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계

특수 관계

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

'Study > 강의 메모' 카테고리의 다른 글

SQL(1)  (0) 2022.03.22
관계형 데이터 모델 수업  (0) 2022.03.15