성빈
[DB] 제 1장 데이터와 데이터 베이스 본문
01 우리 생활 주변의 데이터 베이스
● 데이터 베이스 : 조직이나 개인이 사용하는 조작 가능한, 저장된 데이터의 모임
ex. 사장실의 파일 캐비닛
02 데이터, 정보, 데이터 베이스
2-1. 데이터, 정보, 그리고 지식
1) 데이터
: 정형화되고 기록할 만한 가치가 있다고 판단되는 어떠한 현상이나 사건, 아이디에 대한 묘사
사실들 그 자체에 대한 일차적인 표현
* 추상화 : 필요한 데이터만 단순화시키는 것
2) 정보
: 사실들과 이들로부터 유도될 수 있는 유추된 사실들
3) 지식
: 데이터와 정보를 처리하는 "방법"이나 어떤 근거에 의한 판단을 내리는데 필요한 분석과 판단에 관한 "법칙" 등을 포함
2-2 데이터 베이스
● 데이터베이스의 정의
- 관련된 데이터의 모임 또는 집합
- 정형화되고 조작가능한 컴퓨터에 저장된 데이터의 모임
- 특정 목적을 위해 "데이터 처리" (연산, 계산/저장/검색/정렬..) 작업을 수행
∴ 어떤 특정 조직의 응용시스템에 사용되는 조작 가능한 저장 데이터의 모습
2-3 일시적 데이터와 영구적 데이터
1) 일시적 데이터 : 해당 프로세스가 실행되는 동안만 일시적으로 존재 (프로세스 종료시, 데이터를 잃어버린다.)
ex. 프로그램의 변수, 지역 변수
2) 영구적 데이터 : 어떤 프로세스의 생명주기에 종속적이지 않고 스스로 존재
- 비휘발성 매체에 저장
- 일반적인 데이터베이스는 지속적인 데이터의 모임을 뜻한다.
03 데이터베이스 관리 시스템
● 데이터베이스 관리 시스템 (DBMS)
컴퓨터에 저장되는 데이터베이스를 관리해주는 소프트웨어 시스템
(조작 가능해야한다 -> 검색/삽입/삭제/갱신)
3-1 DBMS가 제공하는 기능
① 정보를 표현할 수 있는 틀
- 데이터 모델 : DBMS가 정보를 관리할 수 있는 양식(틀)
- 다양한 정보의 표현 가능
② 데이터의 공유
→ 데이터 중복의 제거가 가능하다 (비효율성과 일관성 문제 제거)
- 문제점 : 동시성 문제 (다른 프로그램이나 프로세스가 동시에 같은 데이터에 작업)
→ 해결 : DBMS는 하나의 단위 프로그램이 일을 마칠 때까지 해당 데이터를 독점하도록 하는 방법
③ 데이터의 무결성 유지
- 데이터의 무결성 : 데이터베이스 내의 데이터가 얼마나 정확한가
(데이터 중복으로 인한 불일치 문제 중요 -> 여러곳에 중복된 데이터 중 어느 한 곳만 변화하게 되었을 때, 데이터의 정확성이 떨어지는 문제가 발생된다.)
④ 데이터 독립성
- 데이터 독립성 : 응용 프로그램과 데이터 간의 독립성
- 응용프로그램은 데이터가 디스크에 구체적으로 어떻게 저장되어 있는지 몰라도 되기 때문이다.
- 알고 응용프로그램을 작성하면, 그 구조와 저장형태를 고려하여 구현 → 구조와 저장형태를 나중에 바꾸려면 응용프로그램 역시 수정해야된다 → 프로그램이 데이터에 종속적이다)
⑤ 효율적인 자원관리
- 많은 양의 데이터를 다루는데 적합한 효율적이고 효과적인 방법들을 사용
- 응용프로그램의 운영체제보다 DBMS가 자원관리 측면에서 효율성이 높다.
⑥ 데이터 보안성과 안정성 유지
-DBMS가 관리하는 모든 데이터에 대한 자체적인 보안 기능을 제공한다.
- 보안성 : 사람으로부터 데이터 보호
- 안전성 : 컴퓨터 장애나 고장 등으로부터 데이터 보호 (예기치 못한 상황이 발생했을 때 체계적인 수습이 가능해야 한다.)
04 파일과 데이터베이스
4-1 파일 시스템에서의 데이터 관리
● 파일 시스템 : 운영체제의 중요한 부분으로, 데이터나 프로그램을 디스크에 읽고 쓸 수 있도록 해주는 프로그램
- 운영체제의 요구사항 (컴퓨터 시스템에서 사용되는 모든 자료를 운영체제가 편리하고 효과적으로 디스크에 쓰고 읽을 수 있도록 지원하는 역할)을 기반으로 최적화 된다.
- 프로그램에서 다루는 데이터를 직접 하나의 파일에 저장하여 관리한다.
● 파일 시스템을 사용함으로써 발생될 수 있는 문제점
1) 프로그램 이외의 방법으로도 데이터 조작 가능 (데이터 무결성 저하)
2) 프로그램과 데이터의 형식이 묶여있음 (한 프로그램의 데이터 수정 → 다른 프로그램도 수정 필요)
3) 동시 접근의 문제
4) 보안 문제
5) 장애 복구 문제
=> 응용프로그램들이 공통적으로 해결해야하는 문제들이지만 파일시스템에서는 제공하지 않는다.
반면, DBMS는 데이터베이스를 다루는데 있어서 필요한 공통의 기능들을 제공한다.
4-2 파일시스템을 이용하는 DBMS
- 파일 시스템 : 기본적인 저장 기능만을 제공
- DBMS : 데이터베이스 관리에 필요한 다양한 기능을 제
05 데이터 베이스 시스템과 사용자
● 최종 사용자
● 응용프로그램 개발자
● 데이터베이스 관리자
● DBMS 개발자