데이터베이스 시스템

OwlSuri·2023년 3월 5일
0

데이터 단위

  • bit -> byte -> KB -> MB -> GB -> TB -> PB(petabyte) -> EB(exabyte) -> ZB(zettabyte)

빅데이터 처리

  • IOT -> BigDate -> AI : data-based learning

데이터 관리의 필요

  • 대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치

데이터 관리의 역사

1960년대에 만들어진 파일관리 시스템

  • 전통적 데이터 관리 방식 : 각각 파일 만들어 사용
  • 데이터베이스가 개발되기 전에 데이터 관리에 사용
  • 업무 별 애플리케이션이 개별 데이터를 데이터 파일에 저장/관리하는 시스템
  • 발생 가능한 문제
    - 데이터 종속 : 저장된 데이터가 특정 HW에서 또는 사용자 및 SW에서 사용될 수 있도록 제한됨 -> 물리적 데이터 종속
    • 데이터 중복 문제 : 동일한 사항에 대한 중복 데이터는 일관성, 보안성, 경제적 측면에서 문제 발생
      • 일관성 : 한 사실에 대해 한개의 데이터 값을 유지 -> 데이터의 정확성 떨어짐(쓸모없는 데이터)
        • 보안성 : 같은 데이터에 같은 수준의 보안 유지
        • 경제성 : 데이터에 대해 최소한의 저장 공간 만을 점유
    • 무결성 훼손 문제 : 실세계의 데이터는 데이터가 가질 수 있는 가능 범위(제약조건)를 포함, 파일시스템은 데이터 물결성을 보장하기위한 기능을 제공하지 않음
      • 현상에 대한 값 (예: '홍길동'의 수강과목)
        • 가능범위의 예: 1학기 최대 수강과목 18학점
        • 데이터의 정확성 보장
        • 데이터의 값과 값에대한 제약조건을 동시에 만족
    • 동시 접근의 문제 : 동일 데이터에 다수 사용자의 접근 허용시 일관성 훼손

데이터베이스의 특징

데이터베이스 사용의 의미

  • 사용자가 직접 디스크에 접근하지 않고 데이터베이스만 디스크에 접근할 수 있음
    -> 사용과 관리의 영역 분리

데이터베이스의 특징

  1. 데이터베이스 시스템의 자기 기술성
  • 데이터와 데이터의 정의 및 설명(메타데이터)을 포함
  1. 프로그램과 데이터의 격리 및 추상화
  • 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
  1. 다중 뷰 제공
  • 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
  1. 데이터 공유와 다수 사용자 트랜젝선 처리
  • 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행

데이터베이스 시스템의 구성

  1. 값 : value
  2. 데이터 : 값에 두개이상의 설명 태그가 붙음
  3. 메타데이터 : 데이터에 붙은 설명 태그

DBMS의 3단계 구조


다수 사용자 트랜잭션 처리

  1. 트랜잭션의 정의 : 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
  • 하나의 트랜잭션을 다 처리되기 전까지는 다음 트랜잭션 처리 안함
  • 동시에 접근 불가

데이터베이스 관련 용어

  1. 데이터 : 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에대한 설명
  2. 데이터베이스 : 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
  3. DBMS : 데이터베이스에 저장된 데이터의 구성, 저장, 관리 사용을 위한 소프트웨어 페키지(데이터베이스와 DBMS 혼용사용하지만 다름)
  4. 데이터베이스 시스템 : 정보를 데이터베이스에 저장/관리하여 사용자에게 요구된 형태의 정보고 제공하는 컴퓨터 기반 시스템

데이터베이스의 구성요소

데이터베이스 언어

  1. DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스 제공
  2. 역할에따라 두 종류의 언어로 구분
  • 데이터 정의 언어(DDL) : 데이터베이스 객체를 생성/수정/삭제 하기 위한 언어
  • 데이터 조작 언어(DML) : 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정) -> 데이터의 조작이 쉽고 간편, 조작 기능이 정확하고 완전, 가용자의 요청을 시스템 내부에서 효율적으로 처리 가능
  1. 현대 데이터베이스 언어는 자연어와 유사한 형태 -> SQL

데이터베이스 시스템 아키텍쳐

  1. 중앙집중식 방식
  • 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
  • 중앙 컴퓨터의 과부하고 전체적인 성능 저하
    과거 >>>>>>>>> 현재
  1. 분산 시스템 방싱
  • 클라이언트 장치의 설능 향상으로 자체적인 처리 능력 보유
  • 클라이언트-서버 데이터베이스 시스템
    • 애플리케이션 프로그램의 부하를 분산
    • 소프트웨어의 유지보수 비용을 절감 및 이식성 증가

      -> 3계층 구조는 처음엔 시간 비용 많이 들지만 유지보수 용이

-> 시스템 특징에 맞춰 어떤 것이 좋을지 결정해야 함(꼭 분산, 3계층이 좋은 건 아닐 수 있음)

profile
기억이 안되면, 기록을 -

0개의 댓글