코딩두의 포트폴리오

Database - # 02 본문

Database

Database - # 02

코딩두 2024. 3. 30. 16:53

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

파일 시스템(file system)

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

파일 시스템에서의 데이터 관리

  • 고객 관리 담당자 - 고객 데이터를 파일에 저장 -> 고객 관리 응용 프로그램 이용 -> 고객 관리 필요 업무 처리
  • 주문 관리 담당자 - 주문 내역 데이터를 파일에 저장 -> 주문 관리 응용 프로그램 -> 제품 주문 관련 업무 처리

파일 시스템 (file system)의 문제점

1. 데이터 중복성(data redundancy) 발생

  • 응용 프로그램별로 파일 유지 -> 같은 내용의 데이터가 여러 파일에 중복 저장 
  • ex) 위 그림에서 고객아이디, 고객명, 연락처, 주소 데이터 등
  • 저장 공간의 낭비, 데이터 일관성, 데이터 무결성(정확성) 유지에 어려움
  • 고객 연락처 파일마다 다를 경우 -> 일관성 X
  • 유효하지 않은 고객 아이디 저장 파일 존재 -> 무결성 X

-> 데이터 중복성 해결을 위한 데이터 통합

 

2. 데이터 종속성(data dependency) 발생

응용 프로그램이 데이터 파일에 종속적

  • 응용 프로그램은 파일에 직접 접근하여 데이터를 처리하므로 파일의 데이터 구성 방법, 저장 구조에 맞게 작성돼야 함
  • 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함

파일 구조 변경의 예

if) 파일 구조가 위처럼 변경

  • 관련된 모든 응용 프로그램에서 파일 접근 방법 변경해야 함
  • 데이터 형식, 길이 변경될 때도 마찬가지

파일을 사용하는 응용 프로그램이 많거나 파일 구조가 자주 변경될 시 더 심각한 문제

 

3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족

  • 파일 시스템에서 응용 프로그램 하나가 사용 중인 파일을 다른 응용 프로그램이 접근 및 사용하는 동시 공유 기능 없음
  • 데이터 보안의 세분화된 요구 미충족
  • 파일시스템에서 응용 프로그램이 파일을 사용하는 도중 장애가 발생하면 데이터를 일관된 상태로 회복하기 어려움

4. 응용 프로그램 개발의 어려움

파일 시스템에서 파일에 접근하여 데이터를 관리하는 모든 작업을 응용 프로그램이 담당해야 하기 때문에 사용자 요구에 맞는 응용 프로그램 개발이 어려움

 

 

2.2 데이터베이스 관리 시스템의 정의

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

  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합, 저장, 관리
  • 응용 프로그램 대신 데이터베이스에 들어 있는 데이터를 삽입,삭제,수정,검색
  • 모든 응용 프로그램이 데이터베이스를 공유

데이터베이스 관리 시스템에서의 데이터 관리

데이터베이스 관리 시스템에서의 데이터 관리

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

  • 정의 기능 - 데이터베이스 구조를 정의, 수정 가능
  • 조작 기능 - 데이터베이스에 저장된 데이터 접근하여 사용 / 데이터베이스 삽입,삭제,수정,검색하는 연산
  • 제어 기능 - 데이터를 항상 정확하고 안전하게 유지 가능

제어 기능: 데이터 일관성,무결성 제공 / 권한 설정으로 보안 유지 / 동시 접근 사용 가능

 

2.3 데이터베이스 관리 시스템의 장단점

데이터베이스 관리 시스템의 장점

  • 데이터 중복 통제
  • 데이터 독립성 확보
  • 데이터 동시 공유
  • 데이터 보안 향상
  • 데이터 무결성 유지
  • 표준화 가능
  • 장애 발생 시 회복 가능
  • 응용 프로그램 개발 비용 감소

데이터베이스 관리 시스템의 단점

  • 비용이 많이 듦
  • 백업과 회복 방법이 복잡
  • 중앙 집중 관리로 인한 취약점

 

2.4 데이터베이스 관리 시스템의 발전 과정 *참고

1세대: 네트워크 DBMS, 계층 DBMS (1960 ~ 1970년대)

네트워크 DBMS - 데이터베이스를 그래피 형태로 구성 (노드 + 간선)

네트워크 DBMS

계층 DBMS - 데이터베이스를 트리 형태로 구성

계층 DBMS

2세대: 관계 DBMS (1980 ~ )

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

관계 DBMS의 테이블 예 - 고객 테이블

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

객체지향 DBMS (1980년대 후반) - 객체를 이용해 데이터베이스를 구성

객체관계 DBMS (1990년대 후반) - 객체 DBMS + 관계 DBMS

'Database' 카테고리의 다른 글

Database - # 06  (0) 2024.04.05
Database - # 05  (0) 2024.04.01
Database - # 04  (1) 2024.03.31
Database - # 03  (0) 2024.03.30
Database - # 01  (2) 2024.03.30