-
데이터베이스
2.1 데이터베이스 언어
-
데이터베이스 언어
- DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
-
역할
- 데이터 정의 언어(Data Definition Language, DDL)
-
데이터 조작 언어(Data Manipulation Language, DML)
-
데이터 정의 언어(DDL)
-
데이터베이스 스키마를 정의하기 위한 언어
-
DDL의 요구조건
- 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성, 특징을 규정
- 데이터가 기억장치에 저장되도록 데이터의 물리적 구성을 규정
- 물리적 구성을 논리적 구성으로 변환이 가능하도록 데이터의 물리적 구성과 논리적 구성간의 사상을 규정
-
제약사항 기술
- 도메인 제약사항: 속성 값이 도메인 내의 값이어야 함
- 참조 무결성: 한 릴레이션에 나타난 값이 다른 릴레이션의 값으로 정확하게 연결됨을 보장
- 검증: 데이터베이스가 항상 만족해야하는 조건
-
권한: 읽기 권한, 삽입 권한, 수정 권한, 삭제 권한 등
-
-
데이터 조작 언어(DML)
- 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)
-
DML의 요구조건
- 데이터 조작 기능이 쉬워야 함
- 데이터 조작 기능이 정확하고 완전해야 함
- 사용자의 요청이 시스템 내부에서 효과적으로 처리
-
종류
- 절차적 DML : 어떤 순서에 입각하여 처리, 효율성 높음
-
선언적 DML(비절차적) : 필요한 데이터가 무엇인지만 기술, 내부의 처리과정은 사용자가 기술하지 않음, 효율성 낮음
Ex) SQL
2.2 DMBS의 구성요소
-
질의 처리기
-
저장 관리자와 디스크 저장소
2.3 트랜잭션 관리
- 트랜잭션은 하나의 논리적인 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
-
ACID 특성
-
데이터베이스의 일관성을 위해 반드시 만족해야 하는 조건
- 원자성(atomicity): 트랜잭션에 포함된 명령어가 일부분만 실행되지 않는다
- 일관성(consistency): 트랜잭션 수행이 완료되면 데이터베이스는 일관적인 상태가 된다
- 독립성(isolation): 한 트랜잭션의 실행은 다른 트랜잭션으로부터 방해 받지 않는다
-
지속성(durability): 정상적으로 종료된 트랜잭션의 결과는 DBMS의 어떠한 오류에도 보존된다.
2.4 데이터베이스 시스템 아키텍처
-
중앙 집중식 방식
- 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
- 중앙 컴퓨터의 과부하로 전체적인 성능 저하
-
분산 시스템 방식
- 클라이언트 장치의 성능 향상으로 자체적인 처리능력 보유
-
클라이언트-서버 데이터베이스 시스템
- 애플리케이션 프로그램의 부하를 분산
- 소프트웨어의 유지보수 비용을 절감
- 소프트웨어 이식성이 증가
-
클라이언트-서버 구조
=> 3계층의 경우 애플리케이션 서버가 존재하므로 앱 프로그램의 유지보수가 간편하며, 가볍다.
2.5 데이터베이스 사용자 및 관리자
-
데이터베이스 사용자와 사용자 인터베이스
- 일반 사용자: 애플리케이션 프로그램을 사용해 데이터베이스 시스템이 접근하는 비전문 사용자
- 애플리케이션 프로그래머: 애플리케이션 프로그램을 작성하는 컴퓨터 전문가
- 전문 사용자: 프로그램 없이 SQL, 데이터 분석 소프트웨어를 사용하여 DBMS를 조작하는 사용자
-
특수 사용자: 전문 사용자 중 특수한 데이터베이스 애플리케이션을 작성하는 사용자
=> 각 사용자마다 봐야 할 부분이 다르며 이는 뷰가 필요한 이유임
-
데이터베이스 관리자(Database Administrator; DBA)
- 데이터베이스와 DBMS, 그리고 관련 소프트웨어를 관리, 감독하는 사용자
-
역할
- 여러 사용자(애플리케이션 프로그램)가 필요로 하는 정보에 대한 요건을 설정
- 뷰 제공
- 사용자와 시스템 분석가, 프로그래머 사이의 중재자 역할을 수행
-
데이터 처리의 경제적 효율성을 극대화
-
설계
- 데이터의 논리-물리 사상과 개념-논리 사상을 명시하며 데이터 사전을 구성하고 유지
- 보안, 예비조치, 회복 절차 등을 마련하여 데이터베이스의 무결성을 유지
-
관리
- 사용자 요구에 맞지 않는 부분들을 파악
- 데이터베이스 관리를 위해 데이터 표현 방법과 시스템 문서화에 대한 기준을 결정
-
운용 및 통제
-
변화하는 사용자의 요구에 따른 효율적인 데이터 접근과 처리를 위해
최적의 물리적 저장구조, 저장매체를 선택하고 성능을 측정
- 데이터베이스에 대한 접근을 통제
-
-
성능측정
-
데이터베이스의 효율성과 경제적인 효용성을 높이기 위하여 시스템 내의 자원 사용도,
병목현상, 장치의 성능 등을 파악하여 시스템 성능을 분석
- 물리적 저장구조를 재구성하여 효율성을 극대화
-
-
'데이터베이스' 카테고리의 다른 글
06 정규화 I (0) | 2016.03.10 |
---|---|
05 SQL (0) | 2016.03.09 |
04 관계형 모델 (0) | 2016.03.09 |
03 데이터베이스 모델링 (0) | 2016.03.08 |
01 데이터베이스 개요 (0) | 2016.03.06 |