정보처리기사
PK 무결성
- 개체 무결성: Not Null & Unique
- 참조 무결성: 외래키 값은 피참조 릴레이션의 기본키 값이거나 NULL 값임
- 도메인 무결성: 속성 (Attribute) 값은 해당 속성 (Attribute) 도메인에 속한 값들 중 하나이어야 함
- 키 무결성: 테이블에 최소 1개의 키가 존재해야 함
트랜젝션 성질
- 원자성(Atomicity): One or Nothing
- 일관성(Consistency): 무결성
- 격리성(Isolation)
- 영속성(Durability)
데이터 모델링 3단계
- 개념
- ERD 생성
- 논리
- 정규화
- Transaction Interface 설계
- 물리
- 성능 향상(인덱스, 파티션, 반정규화 등)
- Transaction 작성
- 특정 DBMS에 종속
E-R 다이어그램(ERD) 속성 표기법
순수 관계 연산자
- SELECT: σ
- PROJECT: ∏, 결과로 반환하는 연산자(SELECT 다음에 위치)
- JOIN: ▷◁
- DIVISION: ÷, 차집합
병행 문제점
- 비완료 의존성: 한 개의 트랜잭션이 수행과정에서 실패하였을 때, 이 트랜잭션이 회복되기 전에 다른 트랜잭션이 수행 결과를 참조하는 경우
- 연쇄 복제: 두개의 트랜잭션 중 한 개의 트랜잭션이 성공적으로 일을 수행하였다 하더라도 다른 트랜잭션이 처리하는 과정에서 실패하게 되면 두 개의 트랜잭션 모두가 복귀되는 경우
- 모순성: 데이터베이스의 일관성을 해치는 경우
- 갱신분실: 두 개의 트랜잭션이 같은 데이터에 대해서 동시에 갱신 작업을 하면 하나의 갱신 작업이 분실되는 경우
병행 제어
- 로킹(Locking)
: 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹을 수행하며 로킹을 한 트랜잭션만이 로킹을 해제할 수 있음 - 2단계 로킹 규약
: 모든 Transaction이 lock과 unlock을 확장단계와 축소단계를 구분하여 실행하며 수행해야 함 - 타임스탬프(Time Stamp)
: Transaction 간의 처리순서를 미리 결정 - 다중 버전 병행제어(Multi-version Concurrency Control)
: 트랜잭션의 데이터 접근 시, 해당 트랜잭션의 타임스탬프와 접근 데이터의 여러 버전의 타임스탬프를 비교하여 현재 실행중인 스케쥴의 직렬 가능성이 보장되는 버전 선택 - 낙관적 병행제어(Optimistic Concurrency Control)
: 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사
Locking
- 단위↑ → 병행성↓ & 오버헤드↓ & 제어기법 복잡성↓
관계 대수(Relation Algebra) & 관계 해석 (Relation Calculus)
관계 대수(Relation Algebra)
- 절차적 언어
- 원하는 정보를 얻기 위해 어떻게 (how) 질의를 해석하는지를 기술관계 해석 (Relation Calculus)
- 비절차적 언어
- 원하는 정보가 무엇 (what) 인지만 명시
정규형
- 데이터베이스 내의 데이터들이 불필요하게 중복돼 릴레이션 조작 시 예상치 못한 문제가 발생하는 이상 현상 제거
- 삽입 이상: 릴레이션(테이블)에 데이터를 삽입할 때 의도와는 상관없는 값들도 함께 삽입되는 현상
- 삭제 이상: 릴레이션에서 한 튜플(행)을 삭제할 때 의도와는 상관없는 값들이 삭제되는 연쇄가 일어나는 현상
- 갱신 이상: 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되며 정보에 모순이 생기는 현상
- 반정규화: 성능향상을 위해 실행
X → Y: Y는 X에 함수 종속이다.
참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2021년 3회차 (5)정보시스템 구축관리 (0) | 2023.07.11 |
---|---|
[정보처리기사] 2021년 3회차 (4)프로그래밍 언어 활용 (0) | 2023.07.11 |
[정보처리기사] 2021년 3회차 (2)소프트웨어 개발 (0) | 2023.07.10 |
[정보처리기사] 2021년 3회차 (1)소프트웨어 설계 (0) | 2023.07.10 |
[정보처리기사] 2022년 1회차 (5)정보시스템 구축관리 (0) | 2023.07.09 |