Computer Science/Database Systems

[DB] 제1장 데이터베이스의 이해

iseop 2022. 3. 1. 16:21   인쇄용 버전

데이터베이스 시스템 개요

  • DBMS: 데이터를 효과적으로 저장하고 조작할 수 있도록 개발된 시스템
  • 데이터베이스 시스템: 사용자 애플리케이션과 DBMS가 포함된 일체의 시스템
  • 데이터베이스 표현 단계
    • 개념적 단계
    • 논리적 단계
    • 물리적 단계

 

DBMS의 목적과 특징 및 구조

파일 처리 시스템의 문제점

  • 데이터 종속성(데이터 독립성 위배 가능)
  • 데이터 중복성(일관성, 보안성, 경제성 위배 가능)
  • 데이터 무결성
  • 동시 접근 이상

DBMS의 특징

  • 프로그램-데이터 독립성
    • 데이터 추상화: 3단계 구조를 통해 복잡성을 감추고 프로그램-데이터 독립성을 구현함
    • 외부 단계: 외부 스키마(뷰)로 기술되며, 사용자에게 데이터베이스의 일부만 노출시킴
    • "외부-개념 맵핑"을 통해 논리적 데이터 독립성을 확보
    • 개념 단계: 개념 스키마로 기술되며, 데이터와 그 관계에 대해 정의함
    • "개념-내부 맵핑"을 통해 물리적 데이터 독립성을 확보
    • 내부 단계: 내부 스키마로 기술되며, 원시 수준의 구체적인 사항에 대해 정의함
  • 자기 기술성
    • 시스템 카탈로그/데이터 사전에 메타데이터를 포함
  • 다중 뷰
  • 다수 사용자 요청 처리
    • 트랜잭션
    • 동시성 제어

데이터베이스 언어

  • Data Definition Language: 스키마와 데이터에 대한 상세 요건을 명시하기 위한 언어
    • CREATE, ALTER, DROP, RENAME, TRUNCATE
  • Data Manipulation Language: 사용자가 데이터를 삽입/수정/삭제/검색하도록 지원하기 위한 언어
    • SELECT, INSERT, UPDATE, DELETE
  • Data Control Language: 데이터 제어 권한을 부여/회수하기 위한 언어
    • GRANT, REVOKE, BEGIN
  • Transaction Control Language: DML에 의해 발생한 트랜잭션을 제어하기 위한 언어
    • COMMIT, ROLLBACK, CHECKPOINT

 

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

중앙집중식 DBMS 구조

  • 메인프레임 컴퓨터에서 모든 작업을 처리하고, 사용자는 컴퓨팅 능력이 없는 터미널을 통해 접속하여 사용

Client-Server 구조

  • 2-tier architecture
    • 클라이언트에 설치된 애플리케이션을 통해 데이터베이스를 사용하는 구조
  • 3-tier architecture
    • 클라이언트와 데이터베이스 중간에 애플리케이션 서버를 추가한 구조
    • 클라이언트는 주로 웹 브라우저, 서버는 주로 Web Application Server로 구성된다.