본문으로 바로가기

데이터베이스 개요

  • 데이터베이스
    • 데이터베이스는 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터이다.
  • DBMS
    • 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
    • 필수기능 3가지
      • 정의(Definition) 기능
        • 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
      • 조작(Manipulation) 기능
        • 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
      • 제어(Control) 기능
        • 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
  • 스키마 (Schema)
    • 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
    • 종류
      • 외부 스키마
        • 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
      • 개념 스키마
        • 데이터베이스의 전체적인 논리적 구조
        • 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재함
      • 내부 스키마
        • 물리적 저장장치의 입장에서 본 데이터베이스 구조
        • 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄
  • 데이터베이스 설계 순서
    1. 요구 조건 분석
    2. 개념적 설계
    3. 논리적 설계
    4. 물리적 설계
    5. 구현
  • 요구 조건 분석
    • 요구 조건 분석은 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악 하는 것
  • 개념적 설계(정보 모델링, 개념화)
    • 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  • 논리적 설계(데이터 모델링)
    • 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping) 시키는 과정
  • 물리적 설계(데이터 구조화)
    • 논리적 설계에서 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환하는 과정
  • 데이터베이스 구현
    • 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정

데이터 모델의 개념

  • 데이터 모델은 현실 세계의 정보들을 체계적으로 표현한 개념적 모형
  • 데이터 모델 구성 요소
    • 개체, 속성, 관계
  • 데이터 모델 종류
    • 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
  • 데이터 모델에 표시할 요소
    • 구조, 연산, 제약 조건
  • 개념적 데이터 모델
    • 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  • 논리적 데이터 모델
    • 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
  • 데이터 모델에 표시할 요소
    • 구조(Structure)
      • 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
    • 연산(Operation)
      • 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
    • 제약 조건(Constraint)
      • 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

데이터 모델의 구성 요소

  • 개체(Entity)
    • 개체는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
  • 속성(Attribute)
    • 데이터베이스를 구성하는 가장 작은 논리적 단위
    • 속성의 특성에 따른 분류
      • 기본 속성
        • 업무 분석을 통해 정의한 속성
        • 속성 중 가장 많고 일반적임
        • 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외됨
      • 설계 속성
        • 원래 업무상 존재하지 않고 설계 과정에서 도출해내는 속성
        • 업무에 필요한 데이터 외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
      • 파생 속성
        • 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성
        • 파생 속성은 되도록 적은 수를 정의하는 것이 좋음
  • 관계(Relationship)
    • 개체와 개체 사이의 논리적인 연결을 의미
    • 관계의 형태
      • 일대일(1:1)
        • 개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응하는 관계
      • 일대다(1:N)
        • 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
      • 다대다(N:M)
        • 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계