▶ 데이터베이스 개념,논리,물리설계
개념 설계 : ERD 그래프 / 엔티티와 엔티티의 관계들을 다이어그램(그림)으로 표현하는 것
논리 설계 : 목표 DBMS 에 맞는 트렌젝션, 인터페이스, 정규화를 진행한다.
물리 설계 : 성능을 고려한 파티션, 인덱스, 뷰 생성, 비정규화 등을 진행
▶ 이상현상
- 삽입이상 : 어떠한 데이터를 삽입할 때 불필요한 것 까지 같이 삽입됨
- 삭제이상 : 삭제할 때 연쇄적으로 삽입되는 현상
- 갱신이상 : 어떠한 필드를 수정했을 때 무결성이 깨지는 것. 정보의 모순이 생기는 것
=> 이 3가지 이상 현상이 생김으로 인해 정규화를 하게된다.
▶ 정규화 과정 (도부이결다조)
- 1NF - 1차 정규형 (제1정규형) : 도메인이 원자값
- 하나의 컬럼에 원자값을 갖도록 조정
- 2NF - 2차 정규형 (제2정규형) : 부분적 함수 종속 제거
- 기본키의 일부가 다른 컬럼과 종속
- 3NF - 3차 정규형(제3정규형) : 이행적 함수 종속 제거
- 릴레이션이 R이 2NF이고 , 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
[ A -> B 이고, B -> C 일때 A -> C를 만족하지 않음]
- BCNF - BCNF 정규형 : 결정자이면서 후보키가 아닌것 제거
- 릴레이션 R에서 결정자가 모든 후보키인 정규형
- 모든 BCNF가 종송성을 보존하는 것은 아님
- 4NF - 제4정규형 : 다치종속 제거
- 릴레이션 R에 다치 종속 A -> B 가 성립하는 경우 , R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
- 5NF - 제5정규형 : 조인 종속
- 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
▶ 비정규화(Denormalization, 반정규화, 역정규화)란?
데이터베이스 정규화 이후 성능향상과 개발편의성 등 정규화 기법에 위배되는 수행기법
물리설계 단계에서 진행됨
예를들어 회원테이블, 주문테이블이 있다라고 있고 회원테이블에 name과 HP가 있을 때 두 테이블의 데이터가 많이 없다면 단순 조인으로 해결가능하다. 다만, 시간이 지나 데이터가 많아졌을 때 서로를 조인하면 속도가 떨어지고 이 때 주문테이블에 name과 hp 를 넣어 조인을 하지 않고 select 가 가능하도록 수정한다. -> 중복을 일부러 허용한 것. 이것이 비정규화 => 성능향상
출처: https://whitestudy.tistory.com/40
https://sosoeasy.tistory.com/538
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 프로그램 구축 및 계획 : EAI 구축사항, 품질요구사항, 자료흐름도, 개발환경 인프라 구성, 성능측정 (0) | 2024.06.28 |
---|---|
[정보처리기사 실기] 데이터베이스 : 설계순서, 모델링 절차, 데이터마트와 데이터웨어하우스, 절차형 SQL 용어, 제약조건, 무결성조건 (0) | 2024.06.28 |
[정보처리기사 실기] 트랜잭션과 병행제어 (1) | 2024.06.28 |
[정보처리기사 실기] 요구사항 확인 (0) | 2024.06.28 |
[정보처리기사 실기] 마크업언어(JSON, xml) (0) | 2024.06.28 |