데이터 모델링

“대상업무를 분석해서 무엇을 엔티티로 추출할 것이며, 추출된 엔티티를 어떻게 연관 지을지 알아내서 미리 약속된 기호로 도식화 하는 것이다.”

– 오용철의 데이터 베이스 모델링에서 –

 

학습목표

  • 데이터 모델링의 정의에 대해서 알아본다.
    • 스크린샷 2016-08-08 00.00.53.png
  • 데이터 모델링의 종류에 대하여 알아본다.
    • 개념적 데이터 모델
    • 논리적 데이터 모델
      • 관계형 데이터 모델
      • 계층형 데이터 모델
      • 네트워크형 데이터 모델
      • 객체 지향형 데이터 모델
    • 물리적 데이터 모델
  • 엔티티-관계 모델이 무엇인지 알아본다.
    • 널리 사용되는 개념적 데이터 모델이다.
    • 엔티티(Entity), 애트리뷰트(Attribute), 관계(Relationship) 을 이용해서 실세계를 개념적으로 표현.
    • ER 다이어그램 작성.
  • 엔티티, 애트리뷰트, 관계를 구분할 수 있어야 한다.
    • 엔티티
      • 모델의 관리대상
      • 실체, 개념
      • 시스템 구축단계 에서 파일이나 테이블로 구현
      • 기호는 사각형
    • 애트리뷰트
      • 엔티티의 구성요소
      • 데이터 항목
      • 기호는 타원
    • 관계
      • 엔티티 간의 관계 (1:1, 1:N, M:N)
      • 비지니스 규정을 표현하는데 주요한 역할
      • 관계형 데이터 베이스로 매핑
      • 기호는 마름모
  • 약한 엔티티와 소유 엔티티의 차이점을 알아본다.
    • 강한 엔티티 타입
      • 엔티티 타입 내에서 자신의 키를 사용하여 고유하게 엔티티들을 식별할 수 있는 엔티티 타입으로 정규 엔티티 타입이라고도 함
    • 약한 엔티티 타입
      • 자기 자신의 속성만으로는 키를 명세할 수 없는 엔티티
    • 소유 엔티티 타입
      • 약한 엔티티 타입의 엔티티들을 식별하기 위해 필요한 엔티티 타입
    • 엔티티 와 엔티티 타입
      • 객체지향형 데이터 모델의 클래스 -> 엔티티 타입, 객체 -> 엔티티
  • 애트리뷰트의 종류에 대하여 알아본다.
    • 단순 애트리뷰트
    • 키 애트리뷰트
    • 복합 애트리뷰트
    • 다치 애트리뷰트
    • 유도된 애트리뷰트
    • 부분 키
  • 관계의 종류(일대일, 일대다, 다대다)에 대하여 알아본다.
    • 식별관계
    • 카디널리티 비율(1:1, 1:N, M:N)
      • 1:1 관계
      • 일대다 관계
      • 다대다 관계
    • 전체 참여와 부분 참여
    • 관계 타입의 차수
      • 순환적 관계
      • 2진 관계
      • 3진 관계

데이터 베이스 기초

“데이터 베이스를 설계한다는 것은 건물을 지을때 설계도를 먼저 그리는 것 과 같다.” – 오용철의 데이터 베이스 모델링에서 –

개요

  • 데이터 베이스의 정의에 대해서 알아본다.
    • a collection of related data.
    • 서로 관련있는 데이터들의 모임.
  • 데이터와 정보에 대하여 알아본다.
  • 데이터베이스 관리 시스템(DBMS) 에 대하여 알아본다.
    • 데이터의 중복과 불일치 감소
    • 데이터 보안
    • 질의 처리에 효율적인 저장 구조
    • 백업과 복구
    • 다양한 인터페이스
    • 일관된 데이터를 유지
  • 데이터베이스 와 데이터베이스 관리 시스템을 구별할 수 있어야 한다.
  • 파일 시스템과 비교해서 데이터베이스 관리 시스템이 필요한 이유에 대하여 알아본다.
  • 데이터베이스, 데이터베이스 시스템, 데이터베이스 관리 시스템의 차이점에 대하여 알아본다.
    • 스크린샷 2016-08-07 23.20.29
  • 데이터베이스의 3계층 스키마 구조에 대하여 알아본다.
    • 데이터베이스 스키마란?
      • 데이터베이스의 구조와 제약조건에 대해서 분명하고 자세히 기술한 것.
      • 데이터베이스를 구성하는 애트리뷰트(Attribute) 와 관계(Relation) 등의 집합을 말한다.
      • 표에서 제목
    • 데이터베이스 상태
      • 특정 시점에서의 데이터 베이스의 내용을 말한다.
    • 데이터베이스 단위
      • 필드, 데이터 항목, 열 –> 애트리뷰트
      • 레코드 –> 행, 튜플
      • 파일
    • 데이터베이스 3계층 스키마
      • 내부단계
        • 내부스키마. 물리적인 저장구조를 기술하고, 물리적 데이터 모델을 사용한다. 또한, 데이터베이스에 대한 접근 경로를 기술한다.
      • 개념단계
        • 개념스키마. 모든 단계의 사용자를 위해서 전체 데이터베이스의 구조를 기술한다. 일반적으로 부르는 스키마. 물리적 구조는 생략하고, 엔티티, 관계, 제약조건, 무결성 규칙 등을 기술한다. ER  다이어그램등으로 표현.
      • 외부 단계
        • 외부 스키마, 사용자 뷰.
  • 데이터 독립성에 대하여 알아본다.
    • 논리적 데이터 독립성(고수준)
      • 데이터 타입 변경, 데이터 항목 추가/삭제 등
    • 물리적 데이터 독립성(저수준)
      • 접근 구조 추가, 파일 재구성 등
  • 데이터베이스 사용자에 대하여 알아본다.
    • 데이터 베이스 관리자
    • 데이터베이스 설계자
    • 엔드 유저
    • 개발자/시스템 분석가
  • 데이터베이스에서 사용되는 언어의 종류에 대하여 알아본다.
    • 데이터베이스 언어
      • DDL
      • DML
      • DCL