데이터베이스

YSL·2022년 8월 8일
0
post-thumbnail
post-custom-banner

데이터 베이스

데이터 베이스(Database)란 ?

  • 여러 가지 업무에 공동으로 필요한 데이터를 유기적으로 결합하여 저장한 집합체
    => 데이터를 효율적, 효과적으로 처리하기 위하여 개발 & 데이터의 중복성, 종속성 문제 해결

  • 데이터 / 정보 / 지식
    • 데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값
    • 정보 : 데이터에 의미를 부여한 것
    • 지식 : 사물이나 현상에 대한 이해

cf> 데이터베이스가 없던 시절에는 응용 프로그램마다 필요한 데이터를 별도의 파일 시스템(File System)으로 관리하였다.

=> 데이터가 해당 프로그램에서만 사용 가능하다는 '종속성' 문제
=> 일관성, 보안성, 경제성, 무결성 등 '중복성' 문제

  • 일관성 : 중복된 데이터 간 내용이 일치하지 않는 상황
  • 보안성 : 중복되어 있는 모든 데이터에 동등한 보안 수준 유지의 어려움
  • 경제성 : 저장공간의 낭비, 동일한 데이터의 반복 작업으로 인한 비용 증가
  • 무결성 : 제어의 분산으로 인한 데이터의 정확성 유지가 어려움

데이터베이스 관리 시스템(DBMS)이란?

  • 컴퓨터에 저장되는 데이터베이스를 관리해주는 소프트웨어 시스템
  • 응용 프로그램들과 물리적 데이터 파일들 간의 인터페이스 제공

  • 장점
    - 독립성 : 응용 프로그램과 데이터 간의 독립성 확보
    - 데이터의 중복 제거 : 일관성, 보안성, 경제성, 데이터 무결성 확보

  • 주요 기능
  1. 데이터 정의 기능(Data Definition)
    : 데이터의 내용과 구조, 즉 데이터베이스 스키마 정의

    스키마(Schema)
    = 데이터 구조체

    • 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술
    • 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의
  1. 데이터 조작 기능(Data Manipulation)
    : 데이터베이스 내의 데이터 항목들에 대한 갱신, 대체, 추출, 삽입, 삭제 분류 등과 같은 데이터 조작에 사용
  2. 데이터 제어 기능(Data Control)
    : 정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안을 유지하고 권한을 검사하는데 사용

    SQL(Structured Query Language)
    = 데이터베이스를 구축하고 활용하기 위하여 사용하는 언어
    (보통 관계형 데이터베이스를 조작하기 위한 표준 언어)

    • DDL(Data Definition Language, 데이터 정의 언어) : 관계 생성, 관게 삭제, 관계 변경 등에 사용
    • DML(Data Manipulation Language, 데이터 조작 언어) : 검색, 삽입, 삭제, 갱신 등에 사용

데이터 구성의 기초




데이터베이스 모델링(설계)

step 1. 요구사항 분석

step 2. 개념적 설계

  • 개체 - 관계(Entity-Relationship) 모델(ERD)
    = 개념적 데이터 모델 중 가장 대표적인 모델
    • 개체 타입(Entity Type)과 이들간의 관계 타입(Relationship Type)을 이용해 현실 세계를 개념적으로 표현함
    • 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사함
      • 개체(Entity)
        : 자료 집합 또는 구체적이고 의미 있는 실체
        : 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
        : 유형 / 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성됨
      • 속성(Attribute)
        : 개체의 구성요소
        (특정 개체를 다른 개체들과 구분하기 위한 고유한 특성 또는 성질)
        : 데이터의 가장 작은 논리적 단위, 파일 구조의 데이터 항목 또는 필드에 해당
      • 관계(Relationship)
        : 개체와 개체 사이의 관계

step 3. 논리적 설계

: 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정

  • 계층형 모델 : 트리 형태
  • 네트워크형 모델 : 그래프형 형태

  • 관계형 모델(Relational Model)
    • 테이블 형식을 이용하여 데이터들을 정의하고 설명한 모델
    • 각각의 테이블은 하나의 개체와 속성들의 데이터들로 구성됨
    • 데이터 간의 관계를 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 표현함

step 4. 물리적 설계


데이터 웨어하우스

데이터 웨어하우스(Data Warehouse)란?

; 데이터 도매상

  • 기업 내에 있는 각종 데이터를 적절히 뽑아내고 조합해 다양한 사업 목적에 맞는 정보 또는 지식으로 바꾸어 주는 기술=> 주제 중심적, 통합적 & 시간성을 가지는 비휘발성 자료의 집합

  • 기존의 데이터베이스처럼 거래처리를 위한 데이터가 아닌 의사결정 지원을 위한 데이터 베이스

    데이터 웨어하우스 구성요소

    +) DW에는 단순히 자료가 저장되어 있을 뿐만 아니라, 이러한 자료를 추출, 저장, 분류하는 일련의 과정을 포함하고 있음

    • 메타 데이터 = 데이터의 데이터
      : 데이터 웨어하우스의 생성과 유지보수에 관련된 정보를 담고 있는 자료
    • 데이터 마트
      : 데이터 웨어하우스에 저장된 자료 중에서 일정한 주제나 특정 부서의 자료를 별도의 장소에 중복하여 사용자들이 사용하도록 하게 한 것

데이터베이스 VS. 데이터 웨어하우스

  • 데이터베이스 : 거래처리 중심 & 응용프로그램 지원
  • 데이터 웨어하우스 : 지식분석 중심 & 의사결정지원시스템의 데이터베이스

데이터 웨어하우스의 특징

1. 주제 중심적

2. 통합적

3. 비휘발성
기존> 추가/삭제/변경과 같은 갱신 작업이 레코드 단위로 지속적으로 발생함
DW> 데이터 로드와 활용만 존재함 (기존 운영 시스템에서와 같은 갱신은 발생하지 않음)

3. 시간성
기존> 매 순간마다 발생되는 사건들을 즉시 처리하도록 되어 있어 데이터를 접근하는 순간에만 의미가 있음
DW> "시간이라는 관점"을 갖음. 데이터 포인트가 시간 상의 한 포인트와 연결되어 있어 데이터 포인트들을 시간 축에 따라 비교, 분석 가능함

데이터 마트(Mart)

; 데이터 소매상

  • 데이터 웨어하우스와 사용자 사이의 중간층
  • 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스
  • 데이터 마트의 데이터는 대부분 데이터 웨어하우스로부터 복제


OLAP (온라인 분석처리)

OLAP이란?

  • 다차원 데이터 구조를 이용하여 다차원의 복잡한 질의를 고속으로 처리하는 데이터 분석 기술
  • 차원(dimensions)과 측정 항목(measure)을 설정하여 관심주제에 대한 분석을 수행
    ex) 지역별/분기별/상품별(= 차원들) 판매액(= 측정 항목)
  • 일반적으로 최종 사용자가 필요한 정보를 자료원으로부터 직접 가공하여 분석
  • 사용자가 분석 도중 대화식으로 여러 차원 또는 분석 기법간 심층분석(Drill-down) 또는 축약분석(Drill-up) 가능

    - Drill-down
    : 계층 구조상 가장 상위 수준에 해당하는 데이터부터 점점 세부 수준으로 들어가며 데이터를 분석하는 것
    ex) 년도별 분석 -> 반기별 분석 -> 분기별 분석 -> 월별 분석

    - Drill-up
    : 상세 수준의 데이터로부터 차츰 분석의 범위를 넓혀가면서 상위 단계의 데이터를 분석해 가는 것
    ex) 월별 분석 -> 분기별 분석 -> 반기별 분석 -> 년도별 분석

    - Pivot
    = 다양한 뷰를 만들기 위해 축과 축을 바꾸는 작업
    : 임의의 다차원 뷰(view)를 만들고 검토 및 분석한 후, 차원들을 다양하게 변경하여 새로운 뷰를 만들어 데이터를 분석하는 것

post-custom-banner

0개의 댓글