데이터베이스 개요
Updated:
강의
http://www.kocw.net/home/search/kemView.do?kemId=317898
데이터베이스
- 파일시스템의 문제점인 의존성, 중복성 문제로 이를 해결하기 위해 DB가 나옴
1. 데이터베이스
1.1 정의
- 어느 한 조직의 여러 응용 시스템이 공유할 수 있도록 통합, 저장된 운영 데이터의 집합
1. 2 의미
- 통합데이터
- 사용할 데이터를 한곳에 통합
- 원칙적으로 데이터 중복하지 않음
- 저장데이터
- 기억 장치에 저정되어야 함
- 응용프로그램이 접근할 수 있어야 함
- 운영데이터
- 조직의 공유 기능을 수행하기 위한 필수 데이터
- 일시적 데이터는 운영데이터가 아님
- 공유데이터
- 응용 프로그램이 공통으로 사용 가능한 데이터
- 공유데이터는 이익목적으로 사용가능
1.3 목적
- 데이터 독립성 유지
- 응용프로그램이나 저장구조에 의존하지 않는 독립적인 구성
- 데이터 무결성 유지
- 최신의 정확한 데이터 유지
- 데이터 보안성 유지
- 데이터 접근 통제로 안전하게 보호
- 데이터 공유
- 다수의 사용자 또는 응용 프로그램이 공동 사용
- 데이터 중복의 최소화
- 데이터의 일관성과 정확성이 유지될 수 있도록 중복 회피
2. 데이터 베이스 관리 시스템 (DBMS)
- 응용 프로그램, 사용자와 데이터 베이스의 중계자로서 모든 응용 프로그램이 데이터베이스를 공유할 수 있도록 관리해주는 시스템 소프트웨어
2.1 DBMS의 필수 기능
- 정의 기능
- 데이터의 형태, 구조, 저장을 정의한다.
- 다양한 응용 프로그램과 데이터 베이스간 인터페이스를 제공한다.
- 데이터베이스의 논리적 구조와 특성을 정의한다.
- 데이터베이스의 논리적 구조와 물리적 구조(저장구조) 간의 변화를 제공한다.
- 조작 기능
- 데이터의 검색, 갱신, 삽입, 삭제 등의 기능을 지원한다.
- 사용하기 쉽고 명확해야 한다.
- 효율적이어야 한다.
- 제어 기능
- 정당한 사용자가 허용된 데이터에만 접근하도록 권한과 보안통제를 할 수 있다.
- 데이터베이스 조작이 정확히 실행되고 무결성을 유지한다.
- 다수 사용자가 동시에 접근해 정확한 결과를 얻을 수 있도록 병행 제어를 한다.
2.2 장단점
- 장점
- 데이터 중복의 최소화
- 데이터 공유
- 일관성, 무결성 유지
- 데이터 보안성 유지
- 표준화 가능
- 단점
- 유지비가 많이 듬
- 복잡성 증가
- 백업과 복구의 어려움
- 데이터 처리 성능 향상이 어려움
3. 데이터 베이스 구조
- 내부스키마(물리적 스키마) : 데이터를 저장하는 파일의 형태를 말함. 이진파일, 텍스트 등의 형태로 저장하겠다라고 정의
- 개념스키마(논리적 스키마) : 데이터를 저장하기 위한 개념적 형태. 학생 데이터를 저장한다면 학생 데이터에는 이름, 학번, 학과 이렇게 구성된다~ 라는 것을 말함
-
외부스키마 : 사용자나 응용프로그램이 개념스키마에서 필요한 데이터 골라서 만든 데이터. 학생데이터에서 김씨성을 가진 데이터들을 원한다라는 것을 말함.
- 데이터를 설계한다? 보통 개념 스키마를 만든다고 함.
3.1 데이터의 독립성
- 데이터 베이스 구조가 변화하더라도 응용 프로그램이나 저장구조에 영향을 미치지 않도록 하는 것
- 논리적 데이터 독립성 : 개념 스키마가 바뀌어도 외부에서 원하는 데이터는 바뀌지 않음
- 물리적 데이터 독립성 : 개념 스키미가 바뀌어도 저장하는 파일의 형태가 바뀌지 않음
4. 데이터 언어
-
데이터 베이스를 정의하고 접근하여, 데이터베이스를 처리하고 관리하는 언어. 대표적으로 SQL(structured Query Language)이 있음
- 데이터 정의어(DDL)
- 데이터 베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어
- 데이터 베이스의 구조 정의
- 데이터 사전 또는 시스템 카탈로그를 생성
- 데이터 조작어(DML)
- 데이터의 검색, 삽입, 삭제, 변경등 원하는 처리를 지정하는 언어
- 데이터 제어어(DCL)
- 데이터를 정확하게 사용하기 위한 규정이나 규칙등을 정의하는 언어
- 주로, 데이터베이스 관리자(DBA)가 이용
- 데이터 보안, 정확성을 유지하기 위한 무결성 규칙, 장애에 대배한 데이터 복구 방법, 동시 접근을 위한 병행 제어등을 정의
5. 사용자
- 일반사용자
- 응용 프로그래머
- 데이터베이스 관리자