2장 - 데이터베이스 관리 시스템

728x90
반응형

출처 : http://www.kocw.net/home/cview.do?lid=7854cc2972c78def

 

데이터베이스의 원리와 응용

본 강의에서는 데이터베이스 입문자들에게 꼭 필요한 데이터베이스 기초 이론, 데이터 모델과 연산, SQL, 데이터베이스 설계에 대해 공부하고자 한다.

www.kocw.net

 

 

이번 장에서는 데이터베이스 관리 시스템(DBMS)을 학습한다.

  • 데이터베이스 관리 시스템의 등장 배경
  • 데이터베이스 관리 시스템의 정의 및 특성
  • 데이터베이스 관리 시스템의 발전 과정

 

 

  • 기존의 데이터 관리에 사용한 파일 시스템의 문제점과 데이터베이스 관리 시스템의 필요성을 알아본다.
  • 데이터베이스 관리 시스템의 필수 기능을 살펴본다.
  • 데이터베이스 관리 시스템의 장단점을 알아본다.
  • 데이터베이스 관리 시스템의 발전 과정을 살펴본다.

 

 

데이터베이스 관리 시스템의 등장 배경

파일 시스템

  • 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
  • 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함

 

파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다.
    • 저장 공간 낭비
    • 데이터 일관성과 무결성 문제
    • ex. 고객 정보가 영업 부서, 마케팅 부서 등 여러 부서에서 각각 다른 파일로 관리
  • 응용 프로그램이 데이터 파일에 종속적이다.
    • 데이터 파일을 변경하려면 응용 프로그램 코드도 수정해야 한다.
    • 시스템 유지보수 비용 증가
    • 시스템 유연성 저하
  • 데이터 파일에 대한 공유, 보안 회복 기능이 부족하다.
    • 중복되는 데이터의 보안을 같은 수준으로 유지하기 어렵다.
  • 응용 프로그램 개발이 쉽지 않다.
    • 데이터의 추가, 수정, 삭제 등 기본적인 데이터 관리 기능을 각각의 응용 프로그램이 모두 포함을 해야한다.

 

 

데이터베이스 관리 시스템의 정의 및 특성

데이터베이스 관리 시스템(DBMS : DataBase Management System)

  • 파일 시스템의 문제(종속성, 중복성)를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리

 

 

DBMS로 인해 데이터베이스에 통합되어 저장되어있는 데이터를 관리(검색, 삽입, 수정)할 수 있다.

 

DBMS의 주요 기능

  • 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.
  • 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.

 

DBMS의 장단점

  • DBMS의 장점
    1. 데이터 중복 제거
    2. 데이터 독립성 확보
    3. 데이터 동시 공유
    4. 데이터 보안 향상
    5. 데이터 무결성
    6. 표준화
    7. 고가용성(장애 발생 시 회복 가능)
    8. 응용 프로그램 개발 비용 감소
  • DBMS의 단점
    1. 높은 비용(파일 시스템은 운영체제를 구입하면 같이 딸려오는데, DBMS는 별도로 구매해야 함)
    2. 백업과 회복 방법의 높은 복잡성
    3. 중앙 집중 관리로 인한 취약점 존재

 

 

데이터베이스 관리 시스템의 발전 과정

1세대 : 네트워크 DBMS, 계층 DBMS

  • 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
  • 계층 DBMS : 데이터베이스를 트리 형태로 구성

 

2세대 : 관계 DBMS(Relational DBMS)

  • 관계 DBMS : 데이터베이스를 테이블 형태로 저장하고, 이 테이블 간의 관계를 정의하여 데이터를 관리하는 DBMS
  • 단순하고 이해하기 쉽다는 장점이 있다.
  • ex) 오라클, MySQL

 

3세대 : 객체지향 DBMS, 객체관계 DBMS

  • 객체지향 DBMS(Object-Oriented DBMS) : 객체를 이용해 데이터를 저장하고 관리하는 DBMS
    • 객체 기반 : 모든 데이터를 객체로 표현한다.
    • 상속과 다형성 지원 : 객체지향 프로그래밍의 상속과 다형성 개념을 지원하여 데이터 모델링의 유연성을 높임
      • 다형성이란 같은 이름의 메소드나 변수가 다른 객체에서 다른 의미를 가질 수 있는 성질. ex) 소리내기() 메소드가 있다고 할 때, 객체 고양이는 "야옹"이라고 울고, 객체 개는 "멍멍"이라고 울게 된다.
    • 복잡한 데이터 처리 : 복잡한 구조의 데이터(이미지, 음성, 문서)를 효율적으로 처리할 수 있다.
    • 객체 간의 복잡한 관계를 직접적으로 표현할 수 있다.
    • 행위 기반 : 데이터 뿐만 아니라 특정 작업을 수행하는 메소드를 가질 수 있다.
    • ex) O2, ONTOS, GemStone
  • 객체 관계 DBMS(Object-Relational DBMS) : 객체 DBMS의 유연성 + 관계 DBMS의 강력한 구조를 결합한 DBMS
    • 테이블과 객체를 사용하고, SQL을 기반으로 하면서 객체 지향적인 기능울 추가하여 복잡한 데이터를 처리할 수 있도록 확장됨
    • ex) PostgreSQL
728x90
반응형

'Study > 데이터베이스' 카테고리의 다른 글

6장 - 정규화 (1)  (2) 2024.11.21
5장 - 관계 데이터 모델  (1) 2024.11.20
4장 - 데이터 모델링  (1) 2024.11.19
3장 - 데이터베이스 시스템  (0) 2024.11.18
1장 - 데이터베이스 기본 개념  (0) 2024.11.17