데이터베이스 모델의 종류
관계 데이터 모델
네트워크 데이터 모델
- 그래프를 이용해 표현한다.
- 오너-멤버로 1:n 관계
- 사이클을 허용한다 >> 그래프
계층 데이터 모델
- 트리를 이용해 표현한다.
- 부모-자식으로 1:n 관계
- 사이클을 비허용한다 >> 트리
ER 모델
릴레이션
속성의 갯수 : DEGREE
튜플의 갯수 : CARDINALITY
무결성
개체 무결성
참조 무결성
- 외래키는 널이거나 상응하는 PK가 있어야 한다.
도메인 무결성
키 무결성
- 한 릴레이션에서 같은 키를 가지는 튜플이 있어선 안된다.
관계대수
- 릴레이션 조작, 절차적 언어
- 연산의 순서 명시
관계해석
- 릴레이션 정의방법, 비절차적 언어
- 튜플/도메인 관계해석
- Predicate calculus 에 기반을 둠.
뷰
- ALTER를 이용해 정의를 변경할수 없다.
- 뷰 위에 또다른 뷰를 사용할수 있다.
- 뷰를 정의할때 사용한 기본 테이블 삭제시 같이 삭제된다.
데이터베이스 설계 단계
개념적 설계
- 요구사항을 이해해기 쉽게 개념적으로 기술
- DBMS/하드웨어 에 독립
- 트랜잭션 모델링
논리적 설계
- 만들어진 설계를 데이터 모델로 변환
- 트랜잭션 인터페이스 설계
- DBMS에 종속적
물리적 설계
- 논리적 구조를 물리적 저장 장치에 저장할수 있도록 변환
- 저장 레코드 양식, 접근 경로, 레코드 집중 분석 및 설계
- DBMS와 하드웨어에 종속적
DB Recovery
- REDO : 로그를 이용 재실행
- UNDO : 모든 실행을 취소해 장애 발생 전으로 복귀
즉시갱신
지연 갱신
- 트랜잭션 부분 완료시까지 output 연산 지연
- UNDO 불필요
체크포인트
- 체크포인트 이전에 커밋된 트랜잭션은 아무런 작업도 하지 않음
- 이후 커밋된 트랜잭션은 REDO 한다.
- 커밋이 안된 트랜잭션은 전부 UNDO 한다.