📚Read

MySQL로 배우는 데이터베이스 개론과 실습 2판: Chapter 01 데이터베이스 시스템

limdaeil 2025. 11. 23. 22:47

🔖Contents

🔥 학습목표
   1. 데이터베이스의 유형을 알아보고 개념 및 특징을 이해한다.
   2. 정보 시스템의 발전 과정을 통해 데이터베이스 시스템의 등장 배경을 이해한다.
   3. 파일 시스템과 DBMS를 비교하여 DBMS의 장점을 이해한다.
   4. 데이터베이스 시스템의 구성 요소를 알아본다.

01 데이터베이스와 데이터베이스 시스템 

데이터베이스(Database)는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다.

  • 데이터(data): 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값
  • 정보(Information): 데이터에 의미(meaning)를 부여한 것
  • 지식(knowledge): 사물이나 현상에 대한 이해

데이터베이스의 개념 및 특징

데이터베이스는 '여러 사람이 공용으로 사용하기 위해 통합하고 저장한 운영 데이터의 집합'이다.

이 개념을 구체적으로 다음과 같이 네 가지로 나누어 설명할 수 있다.

  1. 통합된 데이터(integrated data).
  2. 저장된 데이터(stored data)
  3. 운영 데이터(operational data)
  4. 공용 데이터(shared data)

데이터베이스의 특징은 다음과 같다.

  1. 실시간 접근이 가능하다(real-time accessibility)
  2. 계속 변화한다(continuous evolution)
  3. 동시 공유가 가능하다(concurrent sharing)
  4. 내용으로 참조가 가능하다(content reference)

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

데이터베이스 시스템(Database System)은 각 조직에서 사용하던 데이터를 통합하고 공유할 때 생기는 장점을 이용하는 시스템이다. 데이터베이스 시스템은 [그림 1-5]와 같이 데이터베이스 관리 시스템(DataBase Management System, DBMS), 데이터베이스(database), 데이터 모델(data model)의 세 가지로 구성된다.

  1. DBMS: 데이터를 관리하는 소프트웨어 시스템으로 주기억장치에 상주하면서 사용자와 데이터베이스를 연결해 준다.
  2. 데이터베이스: 베이스(base)는 물건의 밑부분이 개념의 토대를 의미한다. 즉, 데이터베이스는 데이터를 모아 둔 토대다. 컴퓨터 내부의 하드디스크에 물리적으로 저장된다.
  3. 데이터 모델: 데이터가 저장되는 기법에 관한 내용으로, 눈에 보이지 않는 논리적인 개념이다. 가전제품의 특성을 나타내는 제품 모델 번호처럼 데이터 모델은 데이터가 저장되는 스타일을 나타낸다.

02 데이터베이스 시스템의 발전

데이터베이스 시스템은 컴퓨터 기술과 함께 발전해 왔다. 

03 파일 시스템과 DBMS

파일 시스템과 DBMS 비교

DBMS는 파일 시스템에 비해 CPU와 주기억장치 등의 컴퓨터 자원을 많이 사용하지만 SQL 언어를 사용하여 응용 프로그램이 데이터에 쉽게 접근할 수 있다. 즉, 프로그래머가 해야 할 파일 관리를 DBMS로 쉽게 할 수 있다.

구분 파일 시스템 DBMS
데이터 정의 응용 프로그램 DBMS
데이터 저장 파일 시스템 데이터베이스
데이터 접근 방법 응용 프로그램이 파일에 직접 접근함 응용 프로그램이 DBMS에 파일 접근을 요청함
사용 언어 자바, C++, C 등 자바, C++, C 등과 SQL
CPU/주기억장치 사용 적음 많음

 

파일 시스템과 비교하여 DBMS의 장점을 정리하면 다음과 같다.

장점 설명
데이터 중복 최소화 DBMS를 이용하여 데이터를 공유하므로 중복 가능성이 낮음
데이터 일관성 유지 중복 제거로 데이터의 일관성이 유지됨
데이터 독립성 유지 데이터의 정의와 프로그램 간의 독립성을 유지할 수 있음
관리 기능 제공 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행함
프로그램 개발 생산성 향상 짧은 시간에 큰 프로그램을 개발할 수 있음
기타 데이터 무결성 유지, 데이터 표준 준수가 용이함

 

이처럼 데이터를 많이 다루는 프로그램을 빨리 개발할 수 있고, 데이터 구조가 변경되어도 데이터의 독립성을 유지할 수 있다. 또 복구, 보안, 무결성 유지 등의 기능도 수행한다.

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

데이터베이스 시스템의 기본 구성은 데이터베이스, DBMS, 데이터 모델이다. 데이터베이스는 하드 디스크에 저장된 데이터이고, DBMS는 주기억장치에 저장된 소프트웨어다. 데이터 모델은 눈에 보이지 않는 논리적인 개념으로, 데이터가 저장되는 기법에 관한 내용이다. 이외에도 데이터베이스 언어, 데이터베이스 사용자라는 추가적인 구성 요소가 존재한다.

 

데이터베이스 언어 

데이터베이스 시스템은 데이터베이스 전용 언어인 SQL(Structured Query Language)을 사용한다.

  • 데이터 정의어(DDL, Data Definition Language)
    • DBMS에 저장된 테이블 구조를 정의하는 데 사용
    • `CREATE, ALTER, DROP` 등
  • 데이터 조작어(DML, Data Manipulation Language)
    • 데이터를 검색 · 삽입 · 삭제 · 수정하는 데 사용
    • `SELECT, INSERT, DELETE, UPDATE` 등
  • 데이터 제어어(Data Control Language)
    • 데이터의 사용 권한을 관리하는 데 사용
    • `GRANT, REVOKE` 등

SQL의 핵심은 데이터 조작어(DML) 중 데이터를 검색하는 질의(Query) 문이다.
질의문은 `SELECT FROM WHERE` 구조로 되어 있다.

 

데이터베이스 사용자

데이터베이스 시스템을 사용하는 사람은 크게 일반 사용자, 응용 프로그래머, SQL 사용자, 데이터베이스 관리자로 구분할 수 있다. 

 

DBMS

DBMS는 사용자와 데이터베이스를 연결해 주는 소프트웨어로, 데이터베이스 사용자가 데이터베이스를 생성 · 공유 · 관리할 수 있도록 지원해 주는 총체적인 역할을 한다.

기능 설명
데이터 정의 데이터 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행함
데이터 조작 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 검색 · 삽입 · 수정 · 삭제 작업을 지원함
데이터 추출 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함
데이터 제어 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어함
백업과 회복, 동시성 제어 등의 기능을 지원함

 

데이터 모델

데이터 모델은 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다. 현재 가장 많이 사용되는 데이터 모델은 관계 데이터 모델(Relational data model)이다.

 

데이터베이스의 개념적 구조

1975년 ANSI(American National Standards Instiute)에서는 데이터베이스를 개념적으로 이해하기 위해 데이터베이스 구조에 관한 안을 만들었다. 이 안은 데이터베이스를 보는 관점(view)을 3단계로 분리한 것으로, 3단계 데이터베이스 구조(3-layer database architecture)라고 부른다. 3단계 데이터베이스 구조는 데이터베이스의 복잡한 구조를 단순화하여 표현한다.

 

3단계 데이터베이스 구조는 [그림 1-16]와 같이 외부 단계, 개념 단계, 내부 단계로 나뉜다. 각 단계를 설명하는 데 사용되는 용어인 '스키마(schema)'는 그리스어에서 유래된 단어로 조직이나 구조를 의미한다.

 

 

외부 단계

일반 사용자나 응용 프로그래머가 접근하는 계층으로 데이터베이스 중에서 하나의 논리적인 부분을 의미한다. 여러 개의 외부 스키마(external schema)가 있을 수 있다. 외부 스키마는 서브 스키마(sub schema)라고도 부르며, 뷰(view)의 개념이다. 

 

개념 단계

전체 데이터베이스의 정의를 의미한다. 통합 조직별로 하나만 존재하며 DBA가 관리한다. 즉, 하나의 데이터베이스에는 하나의 개념 스키마(conceptual schema)가 있다. 개념 스키마는 저장 장치에 독립적으로 기술되며 데이터와 관계(relationship), 제약사항, 무결성에 대한 내용이 포함된다.

 

내부 단계

물리적 저장 위치에 데이터베이스가 실제로 저장되는 방법을 표현한 것이다. 내부 스키마(internal schema)는 하나만 존재하며 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함된다.

 

DBMS는 매핑(mapping, 사상)을 통하여 각 단계 간 대응 관계를 정의한다. 매핑은 개념 스키마의 어느 부분이 외부 스키마가 되는지 또는 개념 스키마가 어떤 물리적인 표현을 통하여 내부 스키마가 되는지에 따라 두 종류로 나뉜다.

 

외부/개념 매핑

사용자의 외부 스키마와 개념 스키마 간의 매핑(사상)으로 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킨다.

 

개념/내부 매핑

개념 스키마의 데이터가 내부 스키마의 물리적 장치 중 어디에 어떤 방법으로 저장되는지 대응시킨다.

 

데이터 독립성

3단계 데이터베이스 구조의 특징은 데이터 독립성(data independence)이다. 데이터 독립성은 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김으로써 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 하는 것이다. 일반 사용자에게는 사용자 그룹별로 외부 스키마가 있고, DBA는 일반 사용자의 외부 스키마에 영향을 주지 않으면서 개념 스키마나 내부 스키마의 물리적인 저장 방법을 바꿀 수 있다. 데이터 독립성에는 두 가지가 있다.

  1. 논리적 데이터 독립성(logical data independence)
    외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원한다. 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념이다. 예를 들어, 개념 스키마의 테이블을 생성하거나 변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 외부 스키마에 영향이 없다.
  2. 물리적 데이터 독립성(physical data independence)
    개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원한다. 예를 들어, 성능 개선을 위하여 물리적 저장 장치를 재구성해도 개념 스키마나 응용 프로그램 같은 외부 스키마에 영향이 없다. 물리적 독립성은 논리적 도립성보다 구현하기 쉽다.