독서/데이터베이스 개론 2판

[15분 요약] 데이터베이스 기초 이론

오렌지색 귤 2022. 3. 6. 23:35
반응형

데이터베이스 기본 개념

 

 

데이터베이스의 필요성

 

  1. 데이터 VS 정보
  • 데이터 : 현실 세계에서 단순히 관찰하거나 측정하여 수집한 값
  • 정보 : 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 저직한 결과물

 

 

 

 

데이터베이스의 정의와 특징

 

  1. 정의
  • 특정 조직의 여러 사용자가 '공유'하여 사용할 수 있도록 '통합'해서 '저장'한 '운영' 데이터의 집합
    • 공유 : 여러 사용자가 함께 이용
    • 통합 : 데이터 중복성을 허용하지 않는다
    • 저장 : 컴퓨터가 접근할 수 있는 매체에 저장
    • 운영 : 지속적으로 유지

 

  1. 특징
    1. 실시간 접근 가능
    2. 계속 변화
      1. 동적인 특징이 있어 계속 CRUD하여 정확한 데이터를 유지
    3. 동시 공유 가능
      1. 같은 데이터를 동시에 사용하는 것도 지원, 다만 처리가 복잡
    4. 내용으로 참조 가능
      1. 주소나 위치가 아닌 데이터의 값으로 참조 가능
      2. '재고량이 1000개 이상인 제품을 조회'

 

 

 

 

데이터와 데이터베이스

 

  1. 정형 데이터 : 구조화된 데이터
  2. 반정형 데이터 : 구조에 따라 저장되었지만, 데이터 내용안에 구조에 대한 설명도 함께 존재
    • HTML, XML, JSON 등
    • 파싱 과정 필요
  3. 비정형 데이터 : 소셜 데이터나 멀티미디어 데이터

 

 

 


데이터베이스 관리 시스템

 

  • 정의 : 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
  • 사용자와 데이터베이스 사이에 존재하여 추상성, 독립성을 확보
  • 주요 기능 : 정의, 조작, 제어

 

 

  1. 파일 시스템 단점
    1. 같은 내용의 데이터가 여러 파일에 중복 저장된다
      • 데이터 중복성 문제 발생, 저장 공간 낭비
      • 데이터 일관성과 무결성을 유지하기 어렵다
    2. 응용 프로그램이 데이터 파일에 종속적
      • 파일에 직접 접근하여 데이터를 처리하려면 파일 구조에 맞게 작성된다 (데이터 종속성)
    3. 동시 공유, 보안, 회복 기능 부족
    4. 응용 프로그램 개발 어려움

 

  1. 데이터베이스 관리 시스템의 장점
    1. 데이터 중복 통제 가능
    2. 데이터 독립성 확보
    3. 동시 공유 가능, 보안 향상, 회복 가능
    4. 무결성 유지
    5. 표준화 가능
    6. 개발 비용이 줄어듦

 

  1. 데이터베이스 관리 시스템의 단점
    1. 높은 비용
    2. 복잡한 백업과 회복 방법
    3. 중앙 집중 관리로 인한 취약점 존재

 

 


데이터베이스 시스템

 

  • 정의 : 데이터베이스에 데이터를 저장하고, 저장된 데이터를 고나리하여 조직에 필요한 정보를 생성해주는 시스템

 

구조

 

  1. 스키마 : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것

 

  1. 3단계 데이터베이스 구조 : 각 단계별로 다른 추상화를 제공
    • 외부 단계 : 사용자 관점
    • 개념 단계 : 조직 전체 관점
    • 내부 단계 : 물리적인 저장 장치 관점개념 스키마는 데이터베이스당 하나만 존재하며, 전전체 데이터베이스의 논리적 구조를 정의한다
    • 내부 스키마는 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의하며, 레코드의 구조, 필드의 크기, 인덱스 등을 나타낸다
    • 외부 스키마는 여러개 존재 가능하며, 각각의 사용자마다 그려지는 데이터베이스의 모습이 다르다

 

  1. 데이터 독립성

 

위의 3단계 구조에서 스키마 사이에는 유기적인 대응 관계가 성립한다

 

이를 사상 또는 매핑이라 한다

 

데이터베이스를 3단계 구조로 나누고, 단계별로 스키마를 유지하며 스키마 사이의 대응 관계를 정의하는 궁극적인 목적은 데이터 독립성을 실현하기 위해서이다

 

  1. 데이터 사전과 데이터 디렉터리 (시스템 데이터베이스)

 

  • 데이터 사전 : 데이터베이스에 저장되는 데이터에 관한 정보를 저장하는 곳
    • 메타 데이터
    • 사용자가 접근 가능하지만 삽입 수정은 관리자만 가능

 

  • 데이터 디렉터리 : 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보
    • 시스템만 접근 가능

 

 

 

 

데이터베이스 사용자

 

  1. 데이터베이스 관리자
    • 구성 요소 선정
    • 스키마 정의
    • 물리적 저장 구조와 접근 방법 결정 : 인덱스를 만들 기준 필드 등도 결정
    • 무결성 유지를 위한 제약조건 정의
    • 보안 및 접근 권한 정책 결정
    • 백업 및 회복 기법 정의
    • 시스템 데이터베이스 관리
    • 시스템 성능 감시 및 성능 분석
    • 데이터베이스 재구성
  2. 최초 사용자
  3. 응용 프로그래머

 

 

 

 

데이터 언어

 

  1. 데이터 정의어, DDL : Data Definition Language
    • 스키마를 정의하거나, 수정 또는 삭제하기 위해서 사용

 

  1. 데이터 조작어, DML : Data Manipulation Language
    • 데이터의 CRUD 등의 처리를 요구하기 위해서 사용

 

  1. 데이터 제어어, DCL : Data Control Language
    • 내부적으로 필요한 규칙이나 기법을 정의하기 위해서 사용
    • 데이터 제어어를 이용해 규칙이나 기법을 정의하는 이유는 무결성, 보안, 회복, 동시성을 보장하기 위해서이다

 

 

 

 

 

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

 

  1. 질의 처리기, query processor

 

  • DDL compiler : 데이터 정의어로 작성된 스키마의 정의를 해석

 

  • DML precompiler : 응용 프로그램에 삽입된 데이터 조작어를 추출하여 DML 컴파일러에 전달

 

  • DML compiler : 데이터 조작어로 작성된 데이터의 처리 요구를 분석하여 런타임 데이터베이스 처리기가 이해할 수 있도록 해석

 

  • run-time database processor : 저장 데이터 관리자를 통해 데이터베이스에 접근하여, DML 컴파일러로부터 전달받은 데이터 처리 요구를 실제로 실행

 

  • transaction manager : 접근 권한이 유효한지, 무결성을 유지하기 위한 제약조건을 위반했는지 확인하고 회복이나 병행 수행 작업도 담당

 

 

 

 


PS

 

데이터베이스 개론 2판, 한빛아카데미, 김연희 저

반응형