키 종류
기본 키(Primary Key) : 테이블의 각 튜플을 고유하게 식별하는 컬럼
대체 키(Alternate Key) : 후보 키 중에서 기본 키로 선택되지 않은 키
후보 키(Candidate Key) : 테이블에서 각 튜플을 구별하는 데 기준이 되는 컬럼. 기본 키와 대체 키를 합친 키
슈퍼 키(Super Key) : 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키
외래 키(Foreign Key) : 테이블 간의 참조 데이터 무결성을 위한 제약조건. 한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키
집합 연산자
UNION : 중복 행이 제거된 쿼리 결과를 반환
UNION ALL : 중복 행이 제거되지 않은 쿼리 결과를 반환
INTERSECT : 두 쿼리 결과에 공통적으로 존재하는 결과를 반환
MINUS : 첫 쿼리에 있고, 두 번째 쿼리에는 없는 결과를 반환
관계 데이터 모델의 구성요소
릴레이션 : 테이블
튜플(Tuple) : 행
속성(Attribute) : 열
카디널리티(Cardinality) : 튜플의 수
차수(Degree) : 애트리뷰트의 수
절차형 SQL
프로시저 : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
사용자 정의함수 : 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
트리거 : 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
트랜잭션의 주요 특성
원자성(Atomicity) : 분해가 불가능한 작업의 최소 단위
일관성(Consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 하는 특성
격리성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성
영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성
데이터베이스 정규화 단계
데이터베이스 무결성
개체 무결성 : 한 엔티티에서 같은 PK 안 됨, PK 속성 NULL 불가
참조 무결성 : FK는 참조하는 PK와 같은 값이거나 NULL
속성 무결성 : 속성의 값은 기본값, NULL 여부, 도메인이 지정된 규칙을 준수해야하 함
사용자 무결성 : 사용자의 의미적 요구사항을 준수해야 함
키 무결성 : 한 릴레이션에 같은 키값을 가진 튜플들을 허용할 수 없음
회복 기법
로그 기반 회복 기법
-지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법
-즉각 갱신 회복 기법 : 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법
체크 포인트 회복 기법 : 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법
그림자 페이징 회복 기법 : 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하느 기법
암호화 기법
API 방식
애플리케이션 레벨에서 암호 모듈을 적용
Plug-in 방식
암복호화 모듈이 DB 서버에 설치
TDE 방식
DB 서버의 DBMS 커널이 자체적으로 암 복호화 기능을 수행
Hybrid 방식
API 방식 + Plug-in 방식
병행 제어 미보장 시 문제점
갱신 손실 : 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류
현황 파악오류 : 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류
모순성 : 두 트랜잭션이 동시에 실행되어 데이터베이스의 일관성이 결여되는 오류
연쇄복귀 : 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 못하는 오류
DRS 유형
데이터 암호화 전송 기술
IPSec : IP 계층에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
SSL/TLS : 전송 계층과 응용 계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
S-HTTP : 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송하는 프로토콜