2강. 데이터베이스 기본
추천글 : 【데이터베이스】 데이터베이스 목차
1. 데이터베이스 개요 [목차]
⑴ 데이터베이스의 정의
⑵ 데이터베이스의 특징
① 실시간 접근성(Real Time Accessibility) : 사용자 질의에 대하여 즉시 처리하여 응답하는 특징
② 계속적인 진화(Continuous Evolution) : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지
③ 동시 공유(Concurrent Sharing) : 여러 사용자가 동시에 원하는 데이터를 공용
④ 내용에 의한 참조(Content Reference) : 데이터를 참조할 때 튜플의 주소에 의하지 않고 내용에 따라 참조
⑤ 데이터의 논리적, 물리적 독립성(Independence)
○ 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용프로그램은 변경되지 않는 특징
○ 물리적 독립성 : 응용 프로그램과 보조기억장치와 같은 물리적 장치를 독립시킴으로써, 데이터베이스 관리 시스템의 성능향상을 위해 새로운 디스크를 도입하더라도 응용프로그램에는 영향을 주지 않고 데이터의 물리적 구조만 변경될 수 있는 특징
⑶ 스키마(Schema) : 데이터베이스의 구조와 제약조건에 관한 전반적인 명세(Specification)
① 예 : 데이터 개체, 속성, 관계 및 제약조건
② 특징 1. 스키마는 데이터 사전(Data Dictionary)에 저장
③ 특징 2. 스키마는 시간에 따라 불변인 특성을 갖는다.
④ 종류 : 외부 스키마, 논리 스키마, 내부 스키마
○ 외부 스키마(서브 스키마)
○ 논리 스키마
○ 내부 스키마
⑷ 데이터베이스 예시
① amazonaws
② google firebase : 앱 푸시 알람 같은 것도 절대적으로 firebase를 거쳐서 씀
2. 데이터 프로세스 [목차]
⑴ 데이터베이스 사용자
① 일반 사용자
○ 데이터베이스를 실제로 사용하는 사람
○ 외부 스키마를 통해 DBMS에게 질의어(Query)를 전송
② 응용 프로그래머
○ 일반 사용자가 DB를 쉽게 사용하도록 응용 프로그램 개발
○ 외부 스키마를 통해 DBMS에게 DML을 전송
③ 데이터베이스 관리자(DBA, Database Administrator)
○ DBMS를 거쳐 DB 시스템의 전체적인 관리 운영
○ 개념 스키마를 통해 DBMS에게 DDL, DCL을 전송
④ data architect : 데이터를 체계적, 구조적으로 정의/모델링
⑤ data administrator : 데이터의 모델링, 보안, 활용을 담당
⑵ DBMS
① 목표
○ data independence
○ resource management (e.g., memory, disk, CPU)
○ transaction
○ log recovery
○ concurrency control
② 구성
○ 질의어 처리기 : 질의어를 처리하고 런타임 데이터베이스 처리기에게 전송
○ DML 컴파일러 : DML을 처리하고 런타임 데이터베이스 처리기에게 전송
○ DDL 컴파일러 : DDL을 처리하고 저장 데이터 관리자에게 전송
○ 트랜잭션 관리자 : 런타임 데이터베이스 관리자의 업무를 스케줄링
○ 런타임 데이터베이스 처리기 : 스케줄링에 따라 할당된 일을 처리. 각 결과는 저장 데이터 관리자에게 전송
○ 저장 데이터 관리자 : 데이터 사전, DB(물리 스키마)에 입력하거나 외부스키마나 개념스키마에 출력
⑶ 데이터 사전(Data Dictionary) = 시스템 카탈로그(System Catalog)
3. 모델링 [목차]
⑴ 데이터베이스 모델링 : 요구조건 분석 → 설계 → 구현 → 운영 및 개선
⑵ 설계 : 개념적 설계 또는 트랜잭션 설계 → 논리적 설계 → 물리적 설계
① 개념적 설계 : 데이터베이스를 구성할 데이터의 조건과 표현에 치중하여 설계
○ 도구 1. E-R 모델
Figure. 1. E-R 모델
○ P. Chen 박사에 의해 최초로 제안
○ 개체는 직사각형, 속성은 타원, 관계는 마름모로 표현
○ 도구 2. 객체 지향 모델
Figure. 2. 객체 지향 모델
② 트랜잭션 설계 : 트랜잭션 명세를 기준으로 설계
③ 논리적 설계 : 개념적 설계 결과물을 논리적으로 구현 가능한 데이터 모델로 변환하고 스키마를 정의
○ 매핑룰(Mapping Rule) : 개념적 설계 결과를 관계형 데이터베이스 구조로 변환하는 과정
○ 개체는 릴레이션으로, 속성은 릴레이션의 항목으로, 식별자는 기본키로, 관계는 외래키로 변환
④ 물리적 설계 : 논리적 설계 결과물을 실제 처리하기에 알맞게 내부 저장 장치 구조와 접근 경로 등을 설계
⑶ 데이터 모델링
① 관계 데이터 모델 : 표 데이터 모델링이라고도 함. 2차원 구조의 테이블(릴레이션) 형태로 표현. 가장 일반적
② 네트워크 데이터 모델 : 망 데이터 모델이라고도 함. 레코드 타입 간 관계를 그래프로 표현
③ 계층 데이터 모델 : 트리 데이터 모델이라고도 함. 트리 구조로 표현
4. 트랜잭션 [목차]
⑴ 개요
① 데이터베이스 내에서 하나의 작업 처리를 위한 논리적 작업 단위
② 즉, 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합
③ 하나의 트랜잭션은 정상적으로 종료될 경우 COMMIT 연산이 수행됨
④ 비정상적으로 종료될 경우 ROLLBACK 연산이 수행됨
⑵ 트랜잭션의 특성 : 데이터의 무결성을 보장하기 위하여 갖추어야 하는 특성. ACID
① 원자성(atomicity) : 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 함
② 일관성(consistency) : 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환함
③ 독립성(격리성, isolation) : 여러 트랜잭션들이 동시에 수행되어도 그 결과는 순차적으로 실행된 결과와 같아야 함
④ 영속성(durability) : 시스템에 오류가 발생하더라도 트랜잭션에 의해 변경된 내용은 영구적으로 유지되어야 함
⑶ 트랜잭션 연산 : COMMIT, ROLLBACK
⑷ 트랜잭션의 상태도
① 실행 : 현재 실행 중인 상태
② 부분완료 : 실행을 모두 마치고, 데이터베이스에 결과를 저장하기 직전 상태
③ 완료 : 트랜잭션의 연산을 정상적으로 마치고, 연산 결과를 데이터베이스에 저장한 상태
④ 실패 : 트랜잭션 실행 중 오류에 의해 더 이상 진행될 수 없는 상태
⑤ 철회 : 트랜잭션 실행이 실패되어 복귀되는 상태
입력: 2017.10.02 08:00
'▶ 자연과학 > ▷ 데이터베이스∙빅데이터분석기사' 카테고리의 다른 글
【데이터베이스】 3-1강. 정규화 (0) | 2017.10.02 |
---|---|
【데이터베이스】 3강. 관계형 데이터베이스 (0) | 2017.10.02 |
【데이터베이스】 12-1강. SQL example (0) | 2017.08.19 |
2016. 09. 13. [Seminar] 차세대 비휘발성 메모리를 활용한 데이터베이스 성능향상 기법 (0) | 2016.09.14 |
【데이터베이스】 6강. 분산 데이터베이스 (0) | 2016.06.27 |
최근댓글