[DB기초] 데이터베이스의 개념과 구성요소

코택·2020년 10월 14일
1

20-2) 데이터베이스

목록 보기
1/3
post-custom-banner

DBMS (Database Management System)

1. 정의

  • 데이터베이스 관리 시스템
  • 응용 프로그램과 데이터 사이의 중재자로서 모든 사용자들이 데이터베이스를 공용할 수 있게 관리해주는 범용 소프트웨어

2. 발전 배경 – 파일 처리 시스템, 파일 관리 시스템

1) 파일 처리 시스템

  • 운영체제가 지원
  • 각 응용 프로그램들이 ①논리적 파일 구조를 정의하고 ②직접 물리적 파일 구조로 구현
    ① 논리적 파일 구조: 파일이 논리적으로 어떻게 구성되었는가(이름, 주소 등)
    ② 물리적 파일 구조: 파일이 물리적으로 어떻게 구성되었는가(용량, 형식 등)

😡 데이터의 종속성(dependency)과 중복성(redundancy)를 야기

2) 파일 관리 시스템

  • 파일 관리 시스템(라이브러리) 통해 파일에 접근
  • 파일에 접근하는 형식이 공통

😡 마찬가지로, 데이터의 중복성(redundancy)를 야기

🧐 그렇다면 여기서 말하는 데이터 종속성과 중복성이란?

1) 데이터 종속성 (data dependency)
  • 응용 프로그램과 데이터가 상호 의존관계를 맺고 있는 것
    → 데이터의 구성 방법이나 접근 방법을 변경하면 관련된 응용 프로그램도 함께 변경해야 함
2) 데이터 중복성 (data redundancy)
  • 한 시스템 내에 같은 내용의 데이터가 여러 파일에 중복 저장된 것
    → ①일관성, ②보안성, ③경제성, ④무결성에 악영향
    ① 일관성(consistency): 데이터베이스가 항상 일관된 상태를 유지(정보 손실이 없는 상태)
    ② 보안성(security)
    ③ 경제성(economics): 저장장치를 더 많이 사용하게 됨
    ④ 무결성(intergrity): 데이터의 정확성(일관성이 깨지면 무결성도 깨짐)

3. 기능 – 정의 기능, 조작 기능, 제어 기능

1) 정의 기능

  • 하나의 저장 구조(storage structure)로 여러 사용자의 요구를 지원할 수 있도록 데이터를 조직하는 기능
    ① 데이터의 논리적 구조를 명세
    ② 데이터의 물리적 구조를 명세
    ③ 물리적/논리적 사상(mapping)을 명세

2) 조작 기능

  • 사용자와 데이터베이스 간의 인터페이스(interface)를 지원하는 기능
  • 데이터베이스의 접근 및 조작을 지원
    • 4가지 연산: ①검색(retrieve) ②갱신(update) ③삽입(insert) ④삭제(delete)
  • 데이터 언어(질의어)로 표현
  • 사람의 언어, 비절차적 언어

3) 제어 기능

  • 데이터의 정확성과 보안성을 유지하는 기능
    ① 무결성(integrity) 유지
    ② 보안(security) 유지
    ③ 권한(authority) 검사
    ④ 병행수행 제어(concurrency control)
    ⑤ 복구(recovery) 지원

4. 궁극적 목적

✓ DBMS의 궁극적 목적은 데이터 독립성(data independency)

  • 논리적 데이터 독립성(logical data independency)
    • 응용 프로그램에 영향을 주지 않고 논리적 데이터 구조 변경 가능
  • 물리적 데이터 독립성(physical data independency)
    • 응용 프로그램과 논리적 데이터 구조에 영향을 주지 않고 물리적 데이터 구조의 변경 가능

✓ 데이터 독립성은 사상을 통해 구현된다.


데이터베이스의 구성요소

1. 3단계 데이터베이스

1) 스키마(schema): DB의 구조 + 제약조건 명세

2) 3단계 DB구조


(source: https://www.javatpoint.com/dbms-three-schema-architecture)

①외부 스키마(external schema)

  • 개인 사용자가 접근하는 DB를 정의

②개념 스키마(conceptual schema)

  • 범기관적 입장에서 DB를 정의
  • 통합된 조직 전체의 DB

③내부 스키마(internal schema)

  • 저장장치의 입장에서 DB 전체가 저장되는 방법을 명세
  • 3단계간의 사상
    • 외부 단계(외부 스키마) ①⇢ 개념 단계(개념 스키마) ②⇢ 내부 단계(내부 스키마)
      ① 외부/개념 사상(응용 인터페이스): 개념 스키마가 바뀌어도 외부 스키마는 영향X
      → 논리적 데이터 독립성
      ② 개념/내부 사상(저장 인터페이스): 내부 스키마가 바뀌어도 개념 스키마는 영향 X
      → 물리적 데이터 독립성

2. 시스템 데이터베이스

  • 카탈로그(catalog)
    • 메타 DB, 시스템 카탈로그, 데이터 사전, 데이터 디렉토리
    • 데이터를 위한 데이터
    • 시스템 내의 모든 객체들에 대한 정의나 명세에 대한 정보를 수록
    • DB관리자(DBA)가 사용하는 도구

3. 데이터 언어

1) 데이터 정의어 (DDL: Data Definition Language)

  • DB 구조를 정의하고 변경하는 데 사용
    ① 논리적 데이터 구조의 정의: 스키마, 외부 스키마 명세
    ② 물리적 데이터 구조의 정의: 내부 스키마 명세 → 데이터 저장 정의어
    ③ 사상 정의: 논리적 데이터 구조 ↔ 물리적 데이터

2) 데이터 조작어 (DML: Data Manipulation Language)

A) 절차적(procedural) DML

  • 저급 데이터 언어 → ”What + How” 명세
  • 한 번에 하나의 레코드만 처리
  • 응용 프로그램 속에 삽입되어 사용(DML 예비 컴파일러가 처리)

B) 비절차적(non-procedural) DML

  • 고급 데이터 언어→ “What” 명세
  • 한 번에 여러 개의 레코드 처리
  • 질의어(Query Language)

3) 데이터 제어어 (DCL: Data Control Language)

  • 공용 데이터베이스 관리를 위해 데이터 제어(data control)를 정의하고 기술
  • 데이터 제어 내용
    ✓ ①보안(security) ②무결성(integrity) ③회복(recovery) ④병행수행(concurrency)
  • DB 관리를 위해 DBA가 사용

참고

  • 이석호, 데이타 베이스 시스템(2009)
profile
블로그 이전했습니다 -> https://cotak.tistory.com/
post-custom-banner

0개의 댓글