데이터베이스

[데이터베이스] 2강 데이터베이스의 이해(2)

독고냥이 2016. 5. 8. 18:23

[출처] 방송통신대학교 데이터베이스 강의 정리

 

 

 

1. 데이터베이스 언어

- DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공

- 역할에 따라 두 종류의 언어로 구분

- 데이터 정의 언어 (DDL)

- 데이터 조작 언어 (DML)

 

 

- 데이터 정의 언어

- 데이터베이스 스키마를 정의하기 위한 언어

- 스키마 : 데이터베이스 골격을 정의

 

- DDL의 요구 조건

- 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성이나 특정 규정

- 데이터가 기억장치에 저장되도록 데이터의 물리적 구성을 규정

- 물리적 구성을 논리적 구성으로 변환이 가능하도록 데이터의 물리적 구성과 논리적 구성간의 사상을 규정

 

- 제약사항 기술

- 도메인 제약사항 : 속성값이 도메인 내의 값이어야 함.

- 참조 무결성 : 한 릴레이션에 나타난 값이 다른 릴레이션의 값으로 정확하게 연결됨을 보장

- 검증 : 데이터베이스가 항상 만족해야 하는 조건

- 권한 : 읽기 권한, 삽입 권한, 수정 권한, 삭제 권한 등 

 

- 데이터 조작 언어

- 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)

- DML의 요구 조건

- 데이터 조작 기능이 쉬워야 함.

- 데이터 조작 기능이 정확하고 완전해야 함.

- 사용자의 요청이 시스템 내부에서 효율적으로 처리

 

- 종류

- 절차적 DML

- 선언적 DML (SQL등)

 

 

2. DBMS의 구성요소

- 질의 처리기 : 사용자 요청을 처리, 해석하는 모듈

- 저장 관리자 : 명령어를 처리하는  모듈 (버퍼관리자, 파일관리자, 권한 및 무결성 관리자, 트랜잭션 관리자)

 

3. 트랙젝션 관리

- 하나의 논리적인 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합

- ACID 특성

- 데이터베이스의 일관성을 위해 반드시 만족해야 하는 조건

- 원자성(atomity) : 트랜잭션에 포함된 명령어가 일부분만 실행되지 않는다.

- 일관성(consistency) : 트랜잭션 수행이 완료되면 데이터베이스는 일관적인 상태가 된다.

- 고립성(isolation) :  한 트랜잭션의 실행은 다른 트랜잭션으로 부터 방해 받지 않는다.

- 지속성(durability) : 정상적으로 종료된 트랜잭션의 결과는 DBMS의 어떠한 오류에도 보존된다.

 

 

4. 데이터베이스 시스템 아키텍쳐

- 중앙집중 방식

- 단일 서버가 다수의 클라이언트 장치를 대신하여 작동

- 중앙 컴퓨터의 과부하로 전체적인 성능 저하

 

- 분산 시스템 방식

- 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유

- 클라이언트-서버 데이터베이스 시스템

- 애플리케이션 프로그램의 부하를 분산

- 소프트웨어의 유지보수 비용을 절감

- 소프트웨어 이식성이 증가

 

 

5. 데이터베이스 사용자와 사용자 인터페이스

- 일반 사용자 : 애플리케이션 프로그램을 사용해 데이터베이스 시스템을 접근하는 비전문 사용자

- 애플리케이션 프로그래머 : 애플리케이션 프로그램을 작성하는 컴퓨터 전문가

- 전문 사용자 : 프로그램 없이 SQL, 데이터 분석 소프트웨어를 사용하여 DBMS를 조작하는 사용자

- 특수 사용자 : 전문 사용자 중 특수한 데이터베이스 애플리케이션을 작성하는 사용자

- 데이터베이스 관리자(DBA) : 데이터베이스와 DBMS, 그리고 관련 소프트웨어를 관리, 감독하는 사용자

- 역할

- 여러 사용자(애플리케이션 프로그램)가 필요로 하는 정보에 대한 요건을 결정

- 뷰 제공

- 사용자와 시스템 분석가, 프로그래머 사이의 중재자 역할을 수행

- 데이터 처리의 경제적 효율성을 극대화

- 설계

- 데이터의 논리-물리 사상과 개념-논리 사상을 명시하며 데이터 사전을 구성하고 유지

- 보안, 예비조치, 회복 절차 등을 마련하여 데이터베이스의 무결성을 유지

- 관리

- 사용자 요구에 맞지 않는 부분들을 파악

- 데이터베이스 관리를 위해 데이터 표현 방법과 시스템 문서화에 대한 기준을 결정

- 운용 및 통제

- 변화하는 사용자의 요구에 따른 효율적인 데이터 접근과 처리를 위해 최적의 물리적 저장구조, 저장 매체를 선택하고 성능을 측정

- 데이터베이스에 대한 접근을 통제

- 성능 측정

- 데이터베이스의 효율성과 경제적인 효용성을 높이기 위하여 시스템 내의 자원 사용도, 병목 현상, 장치의 성능 등을 파악하여 시스템 성능을 분석

- 물리적 저장구조를 재구성하여 효율성을 극대화