1. 데이터베이스
- 데이터: 관찰의 결과로 나타난 정량적 혹은 정성적인 실제값
- 정보: 데이터에 의미를 부여한것
- 지식: 사물이나 현상에 대한 이해
- 데이터베이스: 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은것 , 데이터의검색과변경작업을주로수행함
2. 데이터베이스의개념
- 통합된데이터(integrated data)
데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거
- 저장된데이터(stored data)
디스크, 테이프같은 컴퓨터 저장장치에 저장된 데이터
- 운영데이터(operational data)
조직의 목적을 위해 사용되는 데이터를 의미한다. 즉 업무를 위한 검색을 할 목적으로 저장된 데이터
- 공용데이터(shared data)
한 사람 또는 한 업무를 위해 사용되는 데이터가 아니라 공동으로 사용되는 데이터를 의미
3. 데이터베이스의특징
- 실시간접근성(real time accessibility)
데이터베이스는 실시간으로 서비스,사용자가 데이터를 요청하면 몇 시간이나 몇 일뒤에 결과를 전송하는 것이 아니라 수 초내에 결과를 서비스
- 계속적인변화(continuous change)
데이터베이스에 저장된 내용은 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀜. 데이터베이스는 삽입(insert), 삭제(delete), 수정(update) 등의 작업을 통하여 바뀐 데이터값을저장
- 동시공유(concurrent sharing)
데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유.
동시(concurrent)는 병행 이라고도하며, 데이터베이스에 접근하는 프로그램이 여러 개 있다는 의미
- 내용에 따른 참조(reference by content)
데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조
4. 데이터베이스시스템의구성

5. 정보시스템의발전
- 파일시스템
- 데이터를 파일 단위로 파일 서버에 저장
- 각 컴퓨터는 LAN을 통하여 파일 서버에 연결되어 있고, 파일 서버에 저장된 데이터를 사용하기 위해 각 컴퓨터의 응용프로그램에서 열기/닫기(open/close)를 요청
- 각 응용 프로그램이 독립적으로 파일을 다루기때문에 데이터가 중복 저장될 가능성이 있음
- 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있다.

- 데이터베이스시스템
- DBMS를 도입하여 데이터를 통합관리하는 시스템
- DBMS가 설치되어 데이터를 가진쪽을서버(server), 외부에서 데이터 요청하는 쪽을 클라이언트(client)라고 함
- DBMS 서버가 파일을 다루며 데이터의 일관성 유지,복구,동시접근제어등의 기능을 수행
- 데이터의 중복을 줄이고 데이터를 표준화하며 무결성을 유지

- 웹데이터베이스시스템
- 데이터베이스를 웹브라우저에서 사용할 수 있도록 서비스하는 시스템
- 불특정다수 고객을 상대로 하는 온라인상거래나 공공민원서비스등에 사용됨

- 분산데이터베이스시스템
- 여러곳에 분산된 DBMS, 서버를 연결하여 운영하는 시스템
- 대규모의 응용시스템에 사용됨

6. DBMS

언어 : SQL
• 데이터정의어(DDL, Data Definition Language)
• 데이터조작어(DML, Data Manipulation Language)
• 데이터제어어(DCL, Data Control Language)
데이터베이스사용자
- 일반사용자
- 프로그래머가 개발한 프로그램을 이용하여 데이터베이스에 접근하는 일반인(은행원 , 공무원)
- 응용프로그래머
- 일반사용자가 사용할 수 있도록 프로그램을 만드는 사람
- 자바, C, JSP 등의 프로그래밍 언어와SQL을 사용하여 일반 사용자를 위한 사용자 인터페이스와 데이터를 관리하는 응용 로직을 개발
- SQL 사용자
- SQL을 사용하여 업무를 처리하는 IT 부서의 담당자
- 응용프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리
- 데이터베이스관리자(DBA, Database Administrator)
- 데이터베이스 운영조직의 데이터베이스 시스템을 총괄하는 사람
- 데이터설계, 구현, 유지보수의 전 과정을 담당
- 데이터베이스 사용자통제, 보안, 성능 모니터링, 데이터 전체파악및관리, 데이터 이동 및 복사 등 제반업무를 함
DBMS

데이터모델
- 계층데이터모델(hierarchical data model)
- 네트워크데이터모델(network data model)
- 관계데이터모델(relational data model) - 가장 많이 쓰임
- 객체데이터모델(object data model)
- 객체-관계데이터모델(object-relational data model)
→ 관계 ,객체 데이터 모델의 장점을 결합한 모델
7. 3단계 데이터베이스구조

- 외부스키마
- 일반사용자나 응용프로그래머가 접근하는 계층, 전체 데이터베이스 중에서 하나의 논리적인 부분을 의미
- 여러개의 외부 스키마(external schema)가 있을 수 있음
- 서브스키마(sub schema)라고도 하며, 뷰(view)의 개념임
- 개념스키마
- 전체 데이터베이스의 정의를 의미
- 통합 조직별로 하나만 존재하며 DBA가 관리함
- 하나의 데이터베이스에는 하나의 개념스키마(conceptual schema)가 있음
- 내부스키마
- 물리적 저장장치에 데이터베이스가 실제로 저장되는 방법의 표현
- 내부스키마(intenal schema)는 하나
- 인덱스, 데이터 레코드의 배치 방법, 데이터 압축등에 관한 사항이 포함됨
- 외부/개념매핑
- 사용자의 외부스키마와 개념스키마 간의 매핑(사상)
- 외부스키마의 데이터가 개념스키마의 어느부분에 해당되는지 대응시킴
- 개념/내부매핑
- 개념스키마의 데이터가 내부스키마의 물리적장치 어디에 어떤 방법으로 저장되는지 대응시킴

8. 데이터 독립성
- 논리적데이터독립성(logical data independence)
- 외부단계(외부스키마)와 개념단계(개념스키마)사이의 독립성
- 개념스키마가 변경되어도 외부스키마에는 영향을 미치지 않도록 지원
- 논리적구조가 변경되어도 응용프로그램에는 영향이 없도록 하는 개념
- 개념스키마의 테이블을 생성하거나 변경하여도 외부스키마가 직접 다루는 테이블이 아니면 영향이없음
- 물리적데이터독립성(physical data independence)
- 개념단계(개념스키마)와 내부단계(내부스키마)사이의 독립성
- 저장장치 구조변경과 같이 내부스키마가 변경되어도 개념스키마에 영향을 미치지않도록 지원
- 성능개선을 위하여 물리적저장장치를 재구성할경우 개념스키마나 응용프로그램같은 외부스키마에 영향이 없음
- 물리적독립성은 논리적독립성보다 구현하기쉬움