Intro-DB

Sumin Kim·2022년 10월 19일
1

✔ Database

목록 보기
1/4

데이터베이스 소개

🧐 데이터베이스 용어정리

  • 데이터 : 의미를 가지면서 기록될 수 있는 알려진 사실

  • 데이터베이스 : 관련있는 데이터들의 모임

  • 데이터베이스 관리 시스템 : DBMS, 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지

  • 데이터베이스 시스템 : 데이터베이스와 DBMS 모두를 칭하는 용어

  • 작은 세계 : Mini-world, 데이터베이스 구축의 대상이 되는 실세계의 일부분

  • Entity : Entity type에 속한 하나의 instance

  • Entity type : Entity 의 집합

    • 반드시 속성을 가져야함 (attributes)
    • ex) COURSE(Entity type) → title, credit, ... (attributes)
    • Entity type은 또다른 Entity type과 하나 이상의 관계가 있어야함
  • 트랜젝션 : 한 번 이상의 데이터베이스 접근을 포함하는 프로그램의 단위 혹은 수행

  • 메타데이터 : Meta-data, 데이터베이스에 대한 정보

    • 메타데이터는 Catalog 에 저장되어있다 !
    • Catalog 는 DBMS 가 작동할 때 접근 방식을 알려주는 중요한 역할

데이터베이스의 특징

  • 자기 기술성 (self-describing)
    • By, Catalog or metadata
  • 프로그램과 데이터의 분리 ; 독립성
    • 저장구조를 바꾸어도 프로그램이 바뀌지 않음
  • 데이터 추상화
    • 저장구조의 자세한 내용은 사용자로부터 은닉시키고 개념적인 뷰 (relation) 만을 제공함
  • 데이터의 다중 뷰 제공
  • 데이터의 공유와 다수 사용자 트랜젝션 처리
    • 동시성 제어
    • OLTP, OLAP
      • OLTP : 1개의 트랜젝션(요청작업)을 처리하는 과정으로 각 작업 용청을 오류없이 처리하고, 그 결과값을 실시간 확인시켜주어야 함
        → 1개의 트랜젝션에서 발생되는 CRUD과정의 무결성을 보장하여 처리하고 그 결과를 select 하는 과정
      • OLAP : OLTP가 데이터자체의 처리에 중점된 것이라면, OLAP는 이미 저장된 데이터를 기반으로 분석함
        → 데이터가 무결하고 정확하다는 전제 하에

데이터베이스 사용자 분류

  • DBA (데이터베이스 관리자)
  • 데이터베이스 설계자
  • 최종 사용자
    • 캐주얼 사용자 : 비정기적인 DB 사용자
    • 초보 사용자 : 값만 채워넣는 작성된 프로그램을 사용하는 사용자
    • 전문 사용자
  • 시스템분석가 / 응용프로그래머 : 잘 정의된 기능의 응용을 (트랜젝션을) 설계하고 구현하는 사람

데이터베이스의 장점

  • 중복성의 제어
    • 데이터의 일치성을 보장하고 메모리 낭비를 방지
  • 권한이 없는 접근의 통제
  • 프로그램 객체를 위한 지속성 기억공간 제공
    • 지속성 객체
    • Impedance mismatch : 기존관계형 DB의 SQL 과 프로그래밍 언어 사이에 데이터구조, 기능 차이로 발생하는 충돌
  • 효율적인 질의 처리를 위한 저장 구조와 탐색기법의 제공
  • 백업과 회복 제공
  • 무결성 제약조건
    • 참조무결성
  • 규칙을 사용한 추론과 수행
    • 연역 데이터베이스 시스템

데이터베이스의 사용효과

  • 표준화된 데이터관리
  • 응용프로그램의 개발 시간 단축 (DBMS가 상당부분을 처리함)
  • 최신의 정보 제공
  • 규모의 경제성

데이터베이스를 사용하지 않아도 좋은 경우

  • DBMS 를 사용하면 비용이 높아짐
    • 높은 초기투자비용과 추가 하드웨어
    • 데이터의 보안, 동시성제어, 회복, 무결성 조건 등의 기능이 필요하지 않은 응용은 오버헤드가 됨
  • DBMS 오버헤드로 인하여 엄격한 실시간 데이터 처리 요구사항을 만족시키기 힘든 경우

0개의 댓글