본문 바로가기

사이버보안 1학년 2학기/데이터베이스

데이터베이스 관리 시스템

데이터베이스 관리 시스템(Database Management System)

: 데이터를 공유하여 정보의 체계적인 활용을 가능하게 관리


1. 파일 시스템(File System)

    : 독립적인 애플리케이션과 상호 연동이 필수이다.

      호환성이 없고 데이터 종속성과 중복성이 있다는 문제점이 있다.

- 데이터 종속성(Data Dependency): 상호 의존 관계가 밀접하여 데이터 구성 방법/형식/접근 방법이 변경되면 애플리케이션도 같이 변경되어야한다.

- 데이터 중복성(Data Redundancy): 데이터 불일치성을 줄이기 위해 중복된 노력이 필요로하며 독립성이 없기때문에 유지보수 비용이 많이 소요되고 공유와 융통성이 부족


2. 데이터베이스 시스템(Database System)

    : 데이터베이스를 통해 데이터를 저장하고 관리하기 위한 목적으로 사용되는 시스템



프로그램들이 DBS로 들어가 결과를 나타내어주고 데이터베이스를 저장한다.


3. 데이터베이스 관리 시스템의 필수 기능

- 정의(definition): 서로 인터페이스를 할 수 있는 방법을 제공

요건 1. 모든 응용 프로그램이 요구하는 데이터 구조를 지원하기 위해 논리적 구조와 그 특성을 목표 데이터베이스 관리 시스템이 지원하는 데이터 모델에 맞게 기술

요건 2. 데이터베이스를 물리적 저장 장치에 저장하는 데 필요한 것

요건 3. 데이터의 논리적 구조와 물리적 구조 사이의 mapping을 포함


- 조작(manipulation): 사용자와 DB 사이의 인터페이스를 위한 수단을 제공

요건 1. 사용하기 쉽고 자연스러워야 한다.

요건 2. 데이터와 데이터 간의 관계를 명확하게하고 원하는 데이터 연산은 무엇이든 자세하게 서술해야한다.

요건 3. 데이터 접근이나 처리가 효율적이여야한다.


- 제어(control): 공용 목적으로 관리되는 DB 내용에 대해 무결성, 정확성, 안전성을 유지


4. 데이터베이스 관리 시스템의 장단점


DB 관리의 장점

(1) 파일 시스템에 비해 데이터 중복을 최소화

(2) 여러 사용자와 응용 프로그램들이 데이터를 공유하는 것

(3) 데이터의 일관성 유지

(4) 조작 방지를 위해 무결성이 유지

(5) 모든 데이터에 대해 보안을 보장

(6) 데이터베이스의 일관성 있는 접근

(7) 유연한 데이터 관리


DB 관리의 단점

(1) 많은 시스템 자원을 요구하게 되기 때문에 운영비 증가

(2) 백업과 복구에 대한 전문적인 기술과 지식이 필요


5. 스키마(Schema)

데이터 구조와 제약조건에 대해 자세하게 기술하는 것


- 외부 스키마(external schema)

개별 사용자가 보는 개인적인 DB에 관한 것을 정의한다.

"개인의 견해"


- 개념 스키마(conceptual schema)

모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB 기술

"기관 전체의 견해"


- 내부 스키마(internal schema)

저장 장치의 입장에서 전체 DB가 저장되는 방법을 설명

"저장 장치의 견해"


6. 데이터 독립성

DB 구조의 변화로 인한 영향을 응용프로그램에 미치지 않도록 하는 것


- 논리적 데이터 독립성

응용 프로그램에 영향을 주지 않고 논리적 데이터 구조를 변경할 수 있게 하는 것


- 물리적 데이터 독립성

응용 프로그램과 DB의 논리적 구조에 영향을 주지 않고 물리적 구조를 변경할 수 있는 것


7. DB 시스템의 구성요소



8. DB 언어


(1) 데이터 정의어(Data Definition Language)

DB 스키마를 정의하거나 수정할 목적으로 사용하는 언어. 데이터 사전이나 시스템 카탈로그에 저장해놓고 필요할때 사용한다.

ex) create 생엉, alter 변경, drop 삭제, rename 객체이름 변경, truncate 삭제


(2) 데이터 조작어(Data Manipulation Language)

DB 내의 데이터 연산을 위한 언어. 

ex) insert 입력, update 수정, delete 삭제

- 절차적 데이터 조작어(procedural DML)

   : 사용자가 원하는 데이터와 방법을 처리하는 초급 데이터 언어로서 독자적으로 사용

컴파일 → 호스트 프로그래밍 언어 컴파일 → 실행

- 비절차적 데이터 조작어(nonprocedural DML)

   : 사용자가 원하는 데이터와 방법을 설명할 필요 없는 고급 데이터 언어로서 한 번에 여러개를 검색한다.


(3) 데이터 제어어(Data Control Language)

DB 내의 데이터를 정확하게 유지하는 언어

ex) 보안, 무결성, 데이터 회복, 병행수행



9. DB 사용자


일반 사용자: 비절차적 DML를 통한 DB 접근

응용 프로그래머: 프로그래밍 언어에 DML 삽입

DB 관리자: 정의어와 제어어를 사용




'사이버보안 1학년 2학기 > 데이터베이스' 카테고리의 다른 글

리눅스 mysql 기본적인 정보  (0) 2014.09.11
정보 시스템  (0) 2014.08.28