데이터 모델의 개념

데이터 모델의 정의

  • 현실 세계의 정보를 단순화, 추상화 하여 체계적으로 표현한 개념적 모형
  • 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임
  • Shema 를 논리적으로 묘사하기 위해 사용되는 지능적 도구
  • DB 설계과정 에서 데이터 구조를 논리적으로 표현하기 위해 사용되는 도구

데이터 모델의 종류

개념적 데이터 모델

  • 현실 세계의 것을 추상적 개념으로 표현하는 과정
  • 속성 들로 기술된 개체 타입과 개체 타입들 간의 관계[^1]를 이용하여 현실 세계를 표현

[^1]: E-R 모델이 그 예시

  • 정보 모델이라고 하기도 함(인간의 이해를 돕기 위함)

논리적 데이터 모델

  • 개념적 구조(개념적 모델링 과정에서 얻음)를 컴퓨터 처리할 수 있도록 변환하는 과정
  • 특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용한다.
  • 단순 데이터 모델하면 논리적 데이터 모델을 의미한다.
  • 필드 로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용해 현실세계 표현

데이터 모델에 표시할 요소 <구 연 제!>

구조(STRUCTURE)

  • 논리적으로 표현된 개체 타입들 간의 관계로 데이터 구조 및 정적 성질 표현

연산(OPERATION)

  • DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세, DB를 조작하는 기본 도구

연산조건(CONSTRAINT)

  • DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

데이터 모델의 구성요소

개체(Entity)

  • DB에 표현하려는 것, 대상체
  • 속성으로 구성되어 있다
  • File system의 레코드에 대응하는 것, 정보 제공하는 역할 수행
  • 독립적으로 존재하거나 그 자체로 구별 가능

속성(Attribute)

  • 데이터의 가장 작은 논리적 단위
  • 파일 구조상의 데이터 항목 또는 데이터 필드에 해당
  • 개체를 구성

관계(Relationship)

  • 개체 간의 관계, 속성 간의 관계

개체 - 관계 모델

개체 - 관계 모델의 개요 feat E-R모델

  • E-R 모델
    • 개념적 데이터 모델의 가장 대표적인 것
    • 1976년 피터 첸에 의해 제안됨
  • 개체와 개체 간의 관계를 기본 요소로 이용
    • 현실 세계의 무질서한 데이터 —> 개념적인 논리 데이터
  • 개체 타입(Entity TYPE)과 이들 간의 관계 타입(Relation TYPE)을 이용해 현실 세계를 개념적으로 표현
  • 객체 관계 속성으로 묘사
  • 특정 DBMS를 고려한 것은 아님

망(네트워크)형 데이터 모델

망형 데이터 모델(Network Data Model) 개요

  • CODASYL이 제안
  • 그래프를 이용해 데이터 논리구조 표현
  • 상위(Owner)과 하위(member) 레코드 사이에서 다 대 다 대응 관계를 만족하는 구조
  • 대표적 DBMS : DBTG, EDBS,TOTAL

망형 데이터 모델의 표현

  • Entity : 동종의 Entity 그룹
  • Entity SET : 주종 관계에 있는 Entity군들의 그룹
  • SET Membership Type : 일 대 다(1:N) 관계에 연관된 레코드
    • OWNER : 트리 구조의 PARENT
    • MEMEBER : 트리 구조의 Children

망형 데이터 모델의 특징

  • 레코드 타입과 링크들의 집합으로 구성
  • 레코드 타입의 집합
  • 레코드 타입들을 연결하는 링크 집합이 존재
  • 상위 하나의 레코드에 대하여 하위 레코드가 복수 대응 ,그 역도 마찬가지
  • 링크들로 표현한 관계성에는 제한이 없다
  • 한 레코드 타입에서 자기 자신으로 가는 링크 없다(재귀 X)
  • 모든 링크는 함수적이다.
  • 세트의 이름은 링크로 표현된다.
  • owner와 membebr 레코드 타입은 서로 동일한 형태가 불가능

데이터베이스 설계

데이터베이스의 설계의 개념 및 고려사항

  • 사용자의 요구 분석 - DB구조에 맞게 변형 - DBMS 통해 DB 구현 느낌임

  • DB 설계순서

    • 요구 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현
  • 데이터 베이스 설계시 고려사항

    • 무결성 : 연산 후에도 저장된 데이터가 제약 조건 항상 만족
    • 일관성 : 데이터 간, 특정 질의에 대한 응답이 일정
    • 회복 : 시스템 장애 발생이 ROLL BACK가능
    • 보안 : 불법적인 데이터 노출,변경,손실로부터 보호가능
    • 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 가능
    • 데이터베이스 확장 : DB운영에 영향을 주지 않으면서 지속적으로 데이터 추가 가능 해야함

요구 조건 분석

  • DB 사용자에 따른 수행 업무와 필요한 데이터의 종류,용도,처리 형태,흐름, 제약 조건 등을 수집한다.
  • 수집한 정보로 요구 조건 명세 작성

개념적 설계(정보 모델링, 개념화)

현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

  • 개념 스키마 모델링, 트랜젝션 모델링 병행
  • 요구 조건 명세로 DBMS에 E-R 다이어 그램 작성
  • DBMS에 독립적인 개념 스키마 설계

논리적 설계(데이터 모델링)

  • 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
  • 개념 스키마 평가 및 정재, DBMS에 따라 서로 다른 논리적 스키마 설계
  • 트랜잭션의 인터페이스 설계
  • 관계형 DB라면 테이블을 설계

물리적 설계(데이터 구조화)

  • 데이터 베이스 파일의 저장 구조 및 액세스 경로를 결정한다.
  • 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법 묘사
  • 필수적 요소 : 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계
  • 기본적인 데이터 단위 = 저장 레코드
  • 저장 레코드의 집합
  • DB 시스템 성능에 중대한 영향을 미침

물리적 설계 옵션 선택시 고려사항

  • 반응 시간
    • 트랜잭션을 수행을 요구한 시점부터 처리 결과를 얻을 때 까지의 경과 시간
  • 공간 활용도
    • 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장 공간의 양
  • 트랜잭션 처리량
    • 단위 시간 동안 데이터베이스 시스템에의해 처리될 수 있는 트랜잭션의 평균개수

데이터 베이스 구현

  • 논리적 설계단계와 물리적 설계 단계에서 도출된 데이터베이스 스키마를 파일로 생성하는 단계
  • 사용하려는 DBMS의 DDL이용하여 Schema 기술 후 컴파일 하여 빈 DB파일 생성
  • 생성된 DB파일에 데이터 입력
  • 응용프로그램을 위한 트랜잭션 작성
  • 데이터베이스 접근을 위한 응용 프로그램 작성