정보처리기사
용어
- 튜플(Tuple):
- = 개체 인스턴스, 릴레이션 인스턴스
- 릴레이션을 구성하는 각각의 행
- 하나의 릴레이션에 포함된 튜플은 모두 상이
- 속성의 모임
- 튜플의 수: 카디널리티(Cardinality) 또는 기수
- 속성(Attribute):
- = 개체 스키마, 릴레이션 스키마
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 개체의 특성을 기술
- 속성의 수를 디그리(Degree) 또는 차수
- 도메인(Domain)
- 하나의 속성(attribute)이 취할 수 있는 같은 타입의 원자값들의 집합
- 릴레이션(Relation)
- 테이블
- 스키마(Schema)
- 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
트랜젝션 성질
- 원자성(Atomicity): One or Nothing
- 일관성(Consistency): 무결성
- 격리성(Isolation)
- 영속성(Durability)
PK 무결성
- 개체 무결성: Not Null & Unique
- 참조 무결성: 외래키 값은 피참조 릴레이션의 기본키 값이거나 NULL 값임
- 도메인 무결성: 속성 (Attribute) 값은 해당 속성 (Attribute) 도메인에 속한 값들 중 하나이어야 함
- 키 무결성: 테이블에 최소 1개의 키가 존재해야 함
스키마
: DB의 구조와 제약 조건에 관한 전반적이 명세(Specification)를 기술(Description) 한 메타데이터(DB에 대한 데이터)의 집합
- 외부 스키마
: 사용자의 입장에서 필요로 하는 DB의 논리적 구조 - 개념 스키마
: DB의 전체를 정의, 조직 전체의 DB로 하나만 존재 - 내부 스키마
: 물리적인 저장장치의 입장에서 본 DB의 논리적 구조
- 독립성
- 논리적 독립성: 개념 스키마의 변경은 외부 스키마에 영향을 미치지 않음
- 물리적 독립성: 내부 스키마의 변경은 개념, 외부 스키마에 영향을 미치지 않음
(varchar2(10) ▶ varchar2(30)으로 변경한다고 해서 외부스키마와 개념스키마에 영향 X)
투명성
- 분할 투명성(Division Transparency): 하나의 데이터가 여러 장소에 저장
- 위치 투명성(Location Transparency): 호출된 데이터의 위치
- 지역사상 투명성: 각 지역시스템 이름과 무관한 이름 사용 가능
- 중복 투명성(Replication Transparency): 자료의 중복
- 장애 투명성(Failure Transparency): 장애에 무관한 Transaction의 원자성 유지
- 병행 투명성(Concurrency Transparency): 다수 Transaction 동시 수행 시 결과의 일관성 유지
관계 대수(Relation Algebra) & 관계 해석 (Relation Calculus)
관계 대수(Relation Algebra)
- 주어진 릴레이션 조작을 위한 연산 집합
- 일반 집합 연산: 합집합(∪), 교집합(∩), 차집합(-), 카티션 프로덕트(X)
- 순수 관계 연산: SELECT(σ), PROJECT(∏), DIVISION(÷), JOIN(▷◁)
- DIVISION(÷)
- R ÷ S: R 튜플 중 S에 속한 튜플 중 S에 속하지 않은 속성값 추출
- DIVISION(÷)
- 절차적 언어
- 원하는 정보를 얻기 위해 어떻게 (how) 질의를 해석하는지를 기술관계 해석 (Relation Calculus)
- 비절차적 언어
- 원하는 정보가 무엇 (what) 인지만 명시
데이터 베이스 회복 기법
- 로그 기반 회복 기법
- 즉각 갱신 기법
- 데이터 변경 시 로그와 DB에 즉시 갱신
- 커밋되기 전에 장애가 나면 UNDO, 커밋 후에 장애가 나면 REDO를 수행
- 지연 갱신 기법
- 트랜잭션 커밋 완료까지 갱신 내용을 로그에만 저장하고 DB에 저장하지 않고 지연
- 중간에 갱신을 하지 않았음으로 UNDO가 필요 없고, REDO만 하면 됨
- 체크포인트 회복기법
- 로그 기록을 이용하되, 일정 시간 간격으로 검사 시점(Checkpoint)을 만들어두고 장애가 발생하면 가장 최근 검사 시점 이전의 트랜잭션에는 회복 작업을 수행하지 않고, 이후의 트랜잭션에만 회복 작업을 수행
- 즉각 갱신 기법
- 비로그 기반 회복 기법
- 그림자 페이징 기법
- 로그를 사용하지 않고, 트랜잭션 실행동안 현재 페이지 테이블과 그림자 페이지 테이블 2개를 관리하는 기법
- 데이터 변경 시 현재 페이지 테이블만 변경, 회복 시 현재 페이지 테이블을 그림자 테이블로 대체
- 미디어 회복기법
- 디스크와 같은 비휘발성 저장 장치의 내용이 손상되는 장애 발생 시 회복을 위한 기법
- 그림자 페이징 기법
REDO는 영속성을 보장 / UNDO는 원자성을 보장
데이터 모델링 3단계
- 개념
- ERD 생성
- 트랜잭션 모델링
- 개념 스키마 설계
- 논리
- 정규화
- Transaction Interface 설계
- 개념 스키마를 평가 및 정제
- 물리
- 성능 향상(인덱스, 파티션, 반정규화 등)
- 물리적 스키마(저장 레코드 양식, 접근 경로) 설계
정규형
- 데이터베이스 내의 데이터들이 불필요하게 중복돼 릴레이션 조작 시 예상치 못한 문제가 발생하는 이상 현상(Anomaly) 제거
- 삽입 이상: 릴레이션(테이블)에 데이터를 삽입할 때 의도와는 상관없는 값들도 함께 삽입되는 현상
- 삭제 이상: 릴레이션에서 한 튜플(행)을 삭제할 때 의도와는 상관없는 값들이 삭제되는 연쇄가 일어나는 현상
- 갱신 이상: 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되며 정보에 모순이 생기는 현상
- 반정규화: 성능향상을 위해 실행
트랜젝션 상태 변화
참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2020년 3회차 (5)정보시스템 구축관리 (0) | 2023.07.18 |
---|---|
[정보처리기사] 2020년 3회차 (4)프로그래밍 언어 활용 (0) | 2023.07.18 |
[정보처리기사] 2020년 3회차 (2)소프트웨어 개발 (0) | 2023.07.17 |
[정보처리기사] 2020년 3회차 (1)소프트웨어 설계 (0) | 2023.07.17 |
[정보처리기사] 2020년 4회차 (5)정보시스템 구축관리 (0) | 2023.07.17 |