PART 1. 데이터베이스 시스템
1. 데이터베이스란?
조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합한 것이다. 개인생활 및 공공분야의 모든곳에서 생성된다.
즉 실시간으로 저장되는 데이터는 상품 개발이나 매출 분석 등 중요한 데이터로 사용이 된다.

- DBMS : 사용자와 데이터베이스를 연결시켜주는 소프트웨어 (주기억장치)
- 데이터베이스 : 데이터를 모아둔 토대 (하드디스크)
- 데이터모델 : 데이터가 저장되는 기법
2. 파일시스템이란?
데이터를 파일 단위로 파일 서버에 저장하는 것이다. 데이터를 사용하기 위해 각 컴퓨터의 응용 프로그램에서 열기/닫기를 요청한다.
3. DBMS의 장점
- DBMS를 이용해 데이터 공유하여 중복 가능성이 낮다.
- 중복 제거로 데이터의 일관성이 유지된다.
- 데이터 정의, 프로그램의 독립성 유지 가능하다.
- 데이터 복구, 보안, 동시성 제어, 데이터 관리
- 짧은 시간안에 큰 프로그램 개발
- 데이터 무결성이 유지된다.
4. 데이터베이스 시스템 구성

- 데이터 정의어(DDL, Data Definition Language)
CREATE, ALTER, DROP
- 데이터 조작어(DML, Data Manipulation Language)
SELECT, INSERT, DELETE, UPDATE
- 데이터 제어어(DCl, Data Control Language)
GRANT, REVOKE
5. 데이터베이스 사용자
- 일반 사용자
개발된 프로그램을 이용하여 데이터베이스에 접근하여 데이터를 다루는 사람 특별한 지식 없이 검색, 삽입, 삭제, 수정 작업을 한다.
- 응용 프로그래머
일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람. 자바, C, JSP 등
- SQL 사용자
SQL을 사용하여 업무를 처리하는 IT부서의 담당자, 응용 프로그램으로 구현되지 않은 업무를 SQL을 사용하여 처리한다. 데이터 검색, 데이터 구조 변경, 데이터 관한 통계 처리 등 데이 터를 모니터링 하는 업무를 한다.
- 데이터베이스 관리자(DBA)
데이터베이스 시스템을 총괄하는 사람이다. 데이터 설계, 구현, 유지보수의 전 과정을 담당한 다. 데이터베이스 사용자 통제, 보안, 성능 모니터링, 데이터 전체 파악 및 관리, 데이터 이 동 및 복사 등 업무를 한다.
6. DBMS
- 데이터 정의 : 데이터구조를 정의, 데이터 구조에 대한 삭제 및 변경 기능
- 데이터 조작 : 데이터를 조작하는 소프트웨어가 요청하는 데이터 검색, 삽입, 수정, 삭제 작업
- 데이터 추출 : 사용자가 조회하는 데이터, 응용 프로그램의 데이터 추출
- 데이터 제어 : 데이터베이스 사용자를 생성 및 모니터링하며 접근 제어, 백업과 회복, 동시성 제어 등의 기능 지원

-
3단계 데이터베이스 구조
외부 단계 : 일반 사용자나 응용 프로그래머가 접근하는 계층 외부 스키마(뷰)가 있을 수 있다.
개념 단계 : 전체 데이터베이스의 정의를 의미한다.
내부 단계 : 물리적 저장장치에 데이터베이스가 실제로 저장되는 방법을 표현한다.
-
외부/개념 매핑 : 외부 스키마와 개념 스피마 간의 매핑
-
개념/내부 매핑 : 개념 스피마의 데이터가 내부스키마의 물리적 장치 대응