데이터베이스 구축 - 정규화(Normalization), 물리데이터베이스 설계
이상(Anomaly)
1NF(제1정규형)
- 릴레이션에 속한 모든 도메인이 원자값만으로 되어있는 정규형
2NF(제2정규형)
- R이 1NF이고 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수 종속을 만족하는 정규형
- 부분함수 종속 제거
3NF(제3정규형)
- R이 2NF이고 기본키가 아닌 모든 속성이 기본키에 대하여 이행적 종속을 제거한 정규형
- 이행 종속 제거
BCNF(Boyce_Codd Normal Form)
- 모든 결정자가 후보키, 결정자 이면서 후보키가 아닌 것을 제거
- 두개 이상의 degree, 속성으로 primary key를 설정
물리데이터베이스 설계
- 트랜잭션(Transaction) - 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
- 트랜잭션의 특성(ACID)
- 원자성(Atomicity) - Rollback or All or Nothing
- 일관성(Consistency)
- 독립성(Isolation) - 둘 이상의트랜잭션이 동시에 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- 영속성(Durability) - 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 한다.
CRUD분석
- 생성(create), 읽기(read), 갱신(update), 삭제(delete) 매트릭스를 작성하여 분석
인덱스(Index)
- 키값
- 포인터
- 물리적 구조에 빠르게 접근하는 방법 제공
- 삽입 삭제가 수시로 일어나는 경우에는 인덱스 개수를 최소화
- Clustered Index
- Non Clustered Index
뷰(VIEW)
- 논리적 데이터 독립성
- 관리가 간단
- 보안제공
- 인덱스를 가지지 못한다.
- 삭제 후 재 생성해야하며 부분적으로 변경하지 못한다.
- 삽입, 삭제, 갱신에 제약이 있다.
분산데이터베이스(Distributed Database)
- 논리적으로는 하나의 시스템이지만 물리적으로는 네트워크를 통해 연결된 여러개의 컴퓨터에 분산되어 있는 데이터베이스
- 위치투명성(Location Transparency) - 어디에 엑세스하는지 알 필요없다.
- 중복투명성 / 복제투명성(Replication Transparency) - 여러데이터가 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 사용하고 시스템은 모든 데이터에 작업을 수행한다.
- 병행투명성(Concurrency Transparency) - 트랜잭션들이 동시에 실현되더라도 결과는 영향을 받지 않는다.
- 장애투명성(Failure Transparency) - 장애가 일어나도 트랜잭션을 정확하게 처리한다.
데이터베이스 보안 및 암호화
- 개인키(Private key) 암호화 비법
- 공중키(Public key) 암호화 기법
Data Dictionaries
- 시스템카탈로그 (System Catalog)
- 데이터사전 (Data Dictionary)
- 시스템 자차에 관련 있는 다양한 객체에 관한 정보를 포함하는 데이터베이스
- 데이터베이스 객체정보
- 사용자정보
- 테이블 무결성 제약조건 정보
- 함수 트리거
댓글 영역