I. 키(Key) 유형 가. 키(Key)의 정의 데이터베이스에서 조건을 만족하는 튜플(레코드)을 찾거나 순서대로 정렬할 때 기준이 되는 속성 나. 키(Key)의 유형 키(Key) 설명 후보키 (Candidate Key) 릴레이션(테이블)을 구성하는 속성 중 튜플(레코드)을 유일하게 식별할 수 있는 속성의 부분 집합 기본키 (Primary Key) 후보키 중 유일성과 최소성을 가지며 튜플(레코드)을 식별하기 위해 반드시 필요한 키, Null 값 불가 대체키 (Alternate Key) 후보키 중 기본키를
I. 데이터 모델링 무결성 위한, 키(Key)의 제약 유형 구현 형태 설명 본질적 제약 – 데이터 모델 구조적 특성 제약 – 반드시 Primary Key 있어야하고 테이블 셀 단일 값(1차 정규화) – Primary Key – Unique Key 내재적 제약 – 의미를 정확히 표현, 오류 방지 – DB 스키마 지정 제약 – 영역 제약, 참조 무결성 제약 – Foreign Key – Check – Not null 명시적 제약 – 프로그램에 명시하거나 사용자 수작업으로 생성 –
I. RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능 II. 없던 레코드 발생 현상, Phantom Read 가. Phantom Read 상태절차도 개념 – 한 트랙잭션
I. NoSQL의 BASE 속성 Basically Available, Soft state, Eventually Consistence의 약자로, 가용성과 성능을 중시하는 분산 시스템의 NoSQL 특성 가. BASE의 속성 속성 특성 세부 설명 Basically Available 가용성 – 데이터는 항상 접근 가능 – 다수 스토리지에 복사본 저장 Soft-state 독립성 – 노드의 상태는 외부에서 전송된 정보를 통해 상태를 결정 Eventually Consistency 일관성 – 일정 시간 경과 시 데이터의 일관성 유지되는 속성 나. BASE속성과 ACID 속성 비교 항목 BASE ACID 적용대상
I. RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능 II. 결과값이 상이한
I. 트랜잭션 격리 수준의 개념 하나의 트랜잭션 수행 시 다른 트랜잭션으로부터 독립성을 가지는 수준 II. 트랜잭션의 격리 수준 트랜잭션 격리 수준 격리 수준 내용 Read Uncommitted – 트랜잭션 중 Commit 되지 않은 데이터를 다른 트랜잭션이 읽기 허용 Read Committed – 트랜잭션이 Commit되어 확정된 데이터만 다른 트랜잭션이 읽기 허용 Repeatable Read – 트랜잭션 진행 중 외부
I. 데이터베이스 처리 단위, 트랜잭션 데이터베이스 상태를 변화시키는 하나의 논리적 작업 단위를 구성하는 일련의 연산 집합 트랜잭션 완료 시 Commit, 미완료 시 Rollback을 통해 데이터베이스의 일관성 유지 II. 트랜잭션의 특성, ACID 트랜잭션의 4가지 조건 ACID 특성 설명 보장방안 원자성 (Atomicity) – 모든작업 완벽수행 또는 전부 취소 – 트랜잭션의 ‘all or nothing’의 특성 회복 기법 일관성