📌 트랜잭션 특징
- Atomicity(원자성) : 트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 함(=데이터베이스에 완전히 반영되거나 완전히 반영되지 않아야 함)
- Consistency(일관성) : 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 함
- Durability(영속성, 지속성) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
- Isolation(독립성, 격리성) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음
📌 데이터베이스의 설계 단계
- 개념적 설계
- 트랜잭션 모델링
- VIEW 통합 방법 및 애트리뷰트 합성 고려
- DB 종류와 관계 없음
- 산출물로 E-R 다이어그램을 만들 수 있음
- 논리적 설계
- 트랜잭션 인터페이스 설계(=인터페이스를 사용자 입장에서 편리하도록 셜계)
- 관계형 데이터베이스에서는 테이블 설계
- DBMS에 맞는 논리적 스키마를 설계
- 논리적 데이터베이스 구조로 매핑
- 스키마의 평가 및 정제
- 정규화 수행
- 물리적 설계
- 목적 : 효율적인 방법으로 데이터를 저장하는 것
- 트랜잭션 처리량과 응답시간, 디스크 용량 등을 고려
- 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 설계
📌 Candidate Key(후보키)
- 키의 종류 중 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
- 기본키 + 대체키를 합친 키
📌 반정규화(Denormalization)
- 시스템의 성능 향상과 개발 운영의 단순화를 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 등 의도적으로 정규화 원칙을 위배하는 행위
- 과도한 반정규화는 오히려 성능을 저하시킬 수 있음
- 반정규화 방법 : 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가
- 중복 테이블을 추가하는 방법 : 집계, 진행, 특정 부분만을 포함하는 테이블 추가
📌 관계 데이터베이스의 정규화
- 함수적 종속성 등의 종속성 이론을 이용, 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
- 정규화를 거치지 않으면 여러 가지 상이한 종류의 정보를 하나의 릴레이션으로 표현하여 그 릴레이션을 조작할 때 이상 현상 발생 가능
- 이상 현상은 데이터들 간에 존재하는 함수 종속이 하나의 원인이 될 수 있음
- 정규화가 잘못되면 데이터의 불필요한 중복이 야기되어 릴레이션을 조작할 때 문제 발생 가능
📌 로킹 기법 - 2단계 로킹 규약
- 새로운 LOCK은 수행할 수 있지만 UNLOCK은 수행할 수 없는 확장 단계, 새로운 UNLOCK은 수행할 수 있지만 LOCK은 수행할 수 없는 축소 단계가 있음
- 직렬성을 보장하는 장점
- 교착상태를 예방할 수 없다는 단점
📌 외래키
- 후보키 중 기본키를 제외한 나머지를 의미
- NULL을 입력할 수 있음
- 중복이 허용되므로 유일성과 최소성을 가질 수 X
- 참조 무결성과 관련이 있음
📌 데이터 모델에 표시해야 할 요소
- Structure(구조)
- Operation(연산)
- Constraint(제약조건)
📌 E-R 다이어그램 표기법
📌 관계대수 vs 관계해석
- 관계대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술 → 절차적인 언어
- 연산자와 연산규칙 제공 → 피연산자가 릴레이션, 결과도 릴레이션
- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서 명시
- 순수 관계 연산자 → SELECT, PROJECT, JOIN, DIVISION
- 일반 집합 연산자 → UNION, INTERSECTION(교집합), DIFFRENCE(차집합), CARTESION PRODUCT(교차곱)
- 관계해석
- 수학의 프레디킷 해석에 기반을 두고 있음
- 관계대수로 표현한 식은 관계해석으로 표현할 수 있음
- 관계 데이터의 연산을 표현하는 방법
- 원하는 정보가 무엇이라는 것만 정의 → 비절차적 언어
- 질의어로 표현
- 튜플 관계 해석
- 도메인 관계 해석
- 관계해석 관련 기호
📌 병행제어 기법의 종류
- 로킹
- 타임 스탬프 기법
- 최적 병행수행(검증 기법, 확인 기법, 낙관적 기법)
- 다중 버전 기법
📌 데이터웨어하우스의 기본적인 OLAP(On-Line-Analysis-Processing) 연산
- Roll-Up, Drill-Down, Drill-Through, Drill-Across, Pivoting, Slicing, Dicing
📌 물리 데이터 저장소의 파티셔닝 유형
- 범위(range)
- 지정한 열의 값을 기준으로(월별, 분기별 등) 범위를 지정하여 분할
- 해시(hash)
- 해시 함수를 적용한 결과 값에 따라 데이터를 분할
- 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완 → 데이터를 고르게 분산할 때 유용
- 특정 데이터가 어디에 있는지 판단할 수 X
- 고객번호, 주민번호 등과 같이 데이터가 고른 컬럼에 효과적
- 조합(composite)
- 범위 분할로 분할 → 해시 함수를 적용 → 다시 분할
- 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용
- 리스트(List)
- 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할
- [국가]라는 열에 한국, 미국, 일본이 있는 경우 “미국”을 제외할 목적으로 [아시아]라는 목록을 만들어 분할
- 라운드로빈(Round Robin)
- 레코드를 균일하게 분배하는 방식
- 각 레코드가 순차적으로 분배, 기본키가 필요 X
📌 스키마(Schema)
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
- 종류
- 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
- 개념 스키마 : 데이터베이스의 전체적인 논리 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재함 / 개체 간의 관계와 제약 조건을 나타내고, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의
- 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조로서, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 | 2024년 수제비 FINAL 모의고사 개념 정리(484개) (2) | 2024.07.24 |
---|---|
정보처리기사 필기 요약 정리 | 5과목 정보시스템 구축관리 (0) | 2024.06.17 |
정보처리기사 필기 요약 정리 | 4과목 프로그래밍 언어 활용 (0) | 2024.05.27 |
정보처리기사 필기 요약 정리 | 2과목 소프트웨어 개발 (0) | 2024.05.24 |
정보처리기사 필기 요약 정리 | 1과목 소프트웨어 설계 (0) | 2024.05.21 |