[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 라이선스를 준수합니다.