⚡️ 전공수업/데이터베이스

데이터베이스 관리 시스템(DBMS)

aaahyunseo 2025. 4. 29. 17:47

파일 시스템 (File System)

: 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어

응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함.

 

📍 파일 시스템의 주요 문제점

  • 데이터 중복성 - 같은 내용의 데이터가 여러 파일에 중복 저장. 저장 공간 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움.
  • 데이터 종속성 - 응용 프로그램이 데이터 파일에 종속적. 데이터를 구성하는 방법이나 물리적인 저장 구조에 맞게 저장하므로 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함.
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족함.
  • 응용 프로그램 개발이 쉽지 않음.

데이터베이스 관리 시스템 (DBMS)

💡 DBMS(DataBase Management System)

: 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리하는 시스템.

  • DBMS가 설치되어 데이터를 가진 쪽을 서버(server), 외부에서 데이터를 요청하는 쪽을 클라이언트(client)
  • DBMS 서버가 파일을 다루며 데이터의 일관성 유지, 복구, 동시 접근 제어 등의 기능을 수행
  • 데이터의 중복을 줄이고 데이터를 표준화 하며 무결성을 유지함

 

📍 데이터베이스 관리 시스템의 주요 기능

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

 

📍 파일 시스템과의 차이

  • 데이터 정의 및 저장 - DBMS 가 데이터를 정의하고, 데이터베이스에 데이터를 저장함.
  • 데이터 접근 방법 - 응용 프로그램이 DBMS에 파일 접근을 요청함.
  • 사용 언어 - 자바, C++, C 등과 SQL
  • CPU/주기억장치 사용이 많음.

 

📍 DBMS 장점

  • 데이터 중복 가능성 낮음
  • 데이터 일관성 유지
  • 데이터 독립성 유지
  • 데이터 무결성 유지
  • 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행
  • 짧은 시간에 큰 프로그램을 개발할 수 있음
  • 데이터 표준 준수 용이

 

📍 DBMS 단점

  • 비용이 많이 들게 됨 → 운영체제와 함께 설치해야하고, 트래픽 허용 수에 따라 제품 가격이 증가함.
  • 백업과 회복이 복잡함 → 데이터 양이 많아 구조가 복잡하고, 여러 사용자의 동시 공유로 장애 발생 시 원인 파악이 어려움.
  • 중앙 집중 관리로 인한 취약점이 존재함 → 모든 데이터가 데이터베이스에 통합되어 DBMS에 집중됨.

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

  1. 사용자
    • 일반사용자 : 프로그램을 이용하여 데이터베이스에 접근해 데이터를 다루는 업무를 하는 사람
    • 응용프로그래머 : 일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람
    • SQL 사용자 : SQL을 사용하여 업무를 처리하는 사람
    • 데이터베이스 관리자(DBA) : 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람
  2. 인터페이스
    • 응용 프로그램 화면
    • 응용 프로그램 개발
    • SQL 질의
    • 데이터베이스 스키마
  3. DBMS (주기억장치)
    • 오브젝트 코드
    • Embedded DML
    • DML 컴파일러
    • DDL 컴파일러
    • 질의처리기(query)
    • 트랜잭션 관리자
    • 파일 관리자
    • 버퍼 관리자
  4. 데이터베이스 (하드디스크)

 

📍 SQL 언어

  • 데이터 정의어(DDL, Data Definition Language)
  • 데이터 조작어(DML, Data Manipulation Language)
  • 데이터 제어어(DCL, Data Control Language)

데이터 모델

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

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

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

2세대 : 관계 DBMS

  • 관계 DBMS : 데이터베이스를 테이블 형태로 구성

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

  • 객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
  • 객체관계 DBMS : 객체지향 DBMS + 관계 DBMS

4세대 : NoSQL, NewSQL DBMS

  • NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
    • 안정성과 일관성 유지를 위한 복잡한 기능 포기
    • 데이터 구조를 미리 정해두지 않는 유연성을 가짐
    • 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
  • NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성.
    • 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능
    • 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
    • 유연성, 확장성, 고성능, 고기능성

'⚡️ 전공수업 > 데이터베이스' 카테고리의 다른 글

데이터 모델링  (0) 2025.05.19
관계 데이터 연산  (0) 2025.04.29
관계데이터 모델  (0) 2025.04.29
데이터베이스 시스템(DBS)  (0) 2025.04.29
데이터베이스 기본 개념  (0) 2025.04.29