포스트

[DB] 데이터베이스 개요

1. 데이터베이스란?

  • 데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값
  • 정보 : 데이터에 의미를 부여한 것
  • 지식 : 사물이나 현상에 대한 이해
  • 데이터베이스: 정보 획득 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
  • 활용: 각종 분야에서의 정보 제공

  • 검색/변경 빈도에 따른 DB 유형
유형검색 빈도변경 빈도구축 난이도예시
유형1적다적다쉬움공룡정보
유형2많다적다도서
유형3적다많다비행기 예약
유형4많다많다어려움증권

2. 데이터베이스의 개념과 특징

2.1. 데이터베이스 개념

데이터베이스 개념이란?

  • 여러 사람이 공용으로 사용하기 위해 통합 / 저장한 운영 데이터 집합
  • 통합된 데이터(intergrated)
    • 중복을 제거해 데이터 불일치 현상을 제거
  • 저장된 데이터(stored)
    • 물리적(문서)으로 보관된 것이 아닌 SW적으로 저장
  • 운영 데이터(operational)
    • 조직의 목적으로 저장
  • 공용 데이터(shared)
    • 공동으로 사용되는 데이터

2.2. 데이터베이스 특징

  • 실시간으로 접근이 가능
  • 계속해서 변화
    • DB를 사용하는 이유
  • 동시 공유 가능
  • 내용으로 참조 가능

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

데이터베이스시스템 = DBMS + 데이터베이스 + 데이터 모델

3.1. DB 시스템 발전의 예시

단계규모시기정보기술주요 특징
1단계마당서점1970년대컴퓨터 X• 사장이 모든 도서의 제목/가격 기억
• 매출/판매가 컴퓨터 없이 관리됨
• 매출 내역이 부정확함
2단계초기전산화1980년대컴퓨터• 컴퓨터 이용한 초기 응용프로그램으로 업무 처리
• 파일시스템 사용
• 한 대의 컴퓨터에서만 판매/매출 관리
3단계데이터베이스1990년대컴퓨터 + 원격 통신• 지점 간 클라이언트/서버 시스템 도입, 업무 처리
• 데이터베이스 관리 시스템(DBMS) 도입
4단계홈페이지 구축2000년대컴퓨터 + 인터넷• 인터넷 이용, 도서 검색/주문
• 웹 DB시스템으로 불특정 다수 고객 유치
• 고객이 지리적으로 넓게 분산됨
5단계인터넷 쇼핑몰2010년대컴퓨터 + 인터넷• 도서뿐 아니라 음반, 액세서리, 문구 등까지 판매하는 인터넷 쇼핑몰로 확대
• 도서 외 상품의 매출 비중이 50% 이상으로 늘어남

4. 정보 시스템의 발전

4.1. 파일 시스템

  • 데이터를 파일 단위로 파일서버에 저장
  • 각 프로그램이 독립적으로 파일 다룸
    • 데이터 중복 가능성 발생
  • 동시접근: 데이터 일관성 훼손 가능

4.2. 데이터베이스 시스템

  • DBMS 도입, 데이터 통합 관리
  • 서버: DBMS 설치, 파일 가진 쪽
  • 클라이언트: 데이터 요청
  • DBMS가 파일 다룸
    • 데이터 일관성 유지
    • 복구
    • 동시 접근 제어
  • 데이터 중복 줄임, 데이터 표준화
    • 무결성 유지

4.3. 웹 데이터베이스 시스템

  • 웹에서 DB를 사용하게 함

4.4. 분산 데이터베이스 시스템

  • 여러 곳에 분산된 DBMS 서버 연결 및 운용
  • 클라우드 시스템

5. 데이터를 저장하는 방법

5.1. 프로그램 내부 저장

  • 프로그램에 데이터 정의 + 데이터 값 모두 포함하는 방식
    • 프로그램에 구조체 정의와 데이터 값도 직접 변수에 저장함
  • 문제점: 새 데이터 생길 때마다/값 변경 될 때마다 다시 컴파일 필요

5.2. 파일 시스템 사용

  • 프로그램에 데이터 정의, 파일에 데이터 값을 포함하는 방식
    • 프로그램에 구조체 정의만 저장
    • 데이터 값은 외부 파일에 저장
  • 문제점
    • 동일 파일을 두 프로그램이 공유하려면 OS의 도움 필요
    • 데이터 값 변경시에는 프로그램 변경 X, 데이터 구조 변경시 재컴파일 필요

5.3. DBMS 사용하는 방법

  • DBMS가 데이터 정의와 데이터 값을 관리하는 방식
  • 데이터 구조는 DBMS가 관리
  • 데이터 값은 데이터베이스에 저장됨
  • 데이터 값 바뀌거나 데이터 구조 바뀌어도 재컴파일 필요 X

6. 파일 시스템 vs DBMS

구분파일 시스템DBMS
데이터 정의 및 저장데이터 정의: 응용 프로그램
데이터 저장: 파일 시스템
데이터 정의: DBMS
데이터 저장: 데이터베이스
데이터 접근 방법응용 프로그램이 파일에 직접 접근응용 프로그램이 DBMS에 파일 접근 요청
사용 언어Java, C++, C 등Java, C++, C 등과 SQL
CPU/주기억장치 사용적음많음
구분파일 시스템DBMS
데이터 중복데이터를 파일단위로 저장 → 중복 가능DBMS 이용해 데이터 공유하므로 중복 가능성 ↓
데이터 일관성데이터 중복 저장 → 일관성 결여중복 제거 → 데이터 일관성 유지
데이터 독립성데이터 정의/프로그램 독립성 유지 불가능데이터 정의/프로그램 독립성 유지 가능
관리 기능보통데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 수행
프로그램 개발 생산성나쁨짧은 시간에 큰 프로그램 개발 가능
기타 장점별도의 SW설치 필요 X(OS가 지원)데이터 무결성 유지, 데이터 표준 준수 용이
이 포스팅은 작성자의 CC BY-NC 4.0 라이선스를 준수합니다.