정보처리기사
데이터 모델링 3단계
- 개념
- ERD 생성
- 트랜잭션 모델링
- 개념 스키마 설계
- 논리
- 정규화
- Transaction Interface 설계
- 개념 스키마를 평가 및 정제
- 물리
- 성능 향상(인덱스, 파티션, 반정규화 등)
E-R 다이어그램(ERD) 속성 표기법
관계해석 논리 기호
- ∀: 모든
- ∃: 어떤 하나라도
- ∨: or
- ∧: and
- ¬: not
용어
- 튜플(Tuple):
- 릴레이션을 구성하는 각각의 행
- 속성의 모임
- 튜플의 수: 카디널리티(Cardinality) 또는 기수
- 속성(Attribute):
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 개체의 특성을 기술
- 속성의 수를 디그리(Degree) 또는 차수
- 도메인(Domain)
- 하나의 속성(attribute)이 취할 수 있는 같은 타입의 원자값들의 집합
관계 대수식
∏이름(σ학과='교육'(학생))
= SELECT 이름 FROM 학생 WHERE 학과='교육'
Transaction
집합 연산자
- UNION: 중복을 제거한 합집합
- UNION ALL: 중복을 제거하지 않은 합집합
- INTERSECT: 교집합
- MINUS: 차집합
분산 데이터베이스
구성요소
- 분산 처리기: 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템
- 분산 데이터베이스: 지리적으로 분산되어 있는 데이터베이스
- 통신 네트워크: 분산처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크
투명성
- 분할 투명성: 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장
- 위치 투명성: 사용하려는 데이터의 저장 장소 명시 불필요
- 지역사상 투명성: 각 지역시스템 이름과 무관한 이름 사용 가능
- 중복 투명성: DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질
- 장애 투명성: 장애에 무관한 Transaction의 원자성 유지
- 병행 투명성: 다수 Transaction 동시 수행 시 결과의 일관성 유지
병행 문제점
- 비완료 의존성: 한 개의 트랜잭션이 수행과정에서 실패하였을 때, 이 트랜잭션이 회복되기 전에 다른 트랜잭션이 수행 결과를 참조하는 경우
- 연쇄 복제: 두개의 트랜잭션 중 한 개의 트랜잭션이 성공적으로 일을 수행하였다 하더라도 다른 트랜잭션이 처리하는 과정에서 실패하게 되면 두 개의 트랜잭션 모두가 복귀되는 경우
- 모순성: 데이터베이스의 일관성을 해치는 경우
- 갱신분실: 두 개의 트랜잭션이 같은 데이터에 대해서 동시에 갱신 작업을 하면 하나의 갱신 작업이 분실되는 경우
병행 제어
- 로킹(Locking)
: 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹을 수행하며 로킹을 한 트랜잭션만이 로킹을 해제할 수 있음 - 타임스탬프(Time Stamp)
: 데이터에 접근하는 시간을 미리 정하여 정해진 시간의 순서대로 데이터에 접근하며 수행 - 낙관적 병행제어(Optimistic Concurrency Control)
: 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사 - 다중 버전 병행제어(Multi-version Concurrency Control)
: 트랜잭션의 데이터 접근 시, 해당 트랜잭션의 타임스탬프와 접근 데이터의 여러 버전의 타임스탬프를 비교하여 현재 실행중인 스케쥴의 직렬 가능성이 보장되는 버전 선택
참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2022년 1회차 (5)정보시스템 구축관리 (0) | 2023.07.09 |
---|---|
[정보처리기사] 2022년 1회차 (4)프로그래밍 언어 활용 (0) | 2023.07.09 |
[정보처리기사] 2022년 1회차 (2)소프트웨어 개발 (0) | 2023.07.08 |
[정보처리기사] 2022년 1회차 (1)소프트웨어 설계 (0) | 2023.07.08 |
[정보처리기사] 2022년 2회차 (5)정보시스템 구축관리 (0) | 2023.07.07 |