목차
📌 Index
Q) 이상 현상이 뭘까요?
이상 현상
- 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류
- 갱신이상, 삽입이상, 삭제이상으로 구성됨
Q) 삽입 이상(Insertion Anomaly)에 대해서 설명해주세요.
삽입 이상
- 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상
Q) 갱신 이상(Update Anomaly)에 대해서 설명해주세요.
갱신 이상
- 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상
Q) 삭제 이상(Deletion Anomaly)에 대해서 설명해주세요.
삭제 이상
- 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상
Q) 함수 종속성이 무엇인가요?
함수 종속
- X -> Y
- X가 Y를 함수적으로 결정한다 = Y가 X에 함수적으로 종속되어 있다
- 릴레이션 내의 모든 튜플을 대상으로 하나의 X값에 대한 Y값이 항상 하나인 경우
Q) 완전 함수적 종속은 뭔가요?
완전 함수적 종속
- 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을경우 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우
Q) 부분 함수적 종속은 뭔가요?
부분 함수적 종속
- 릴레이션에서 종속자가이 기본키가 아닌 다른 속성에 종속되거나, 기본키가 여러 속성으로 구성되어 있을경우 기본키를 구성하는 속성 중 일부만 종속되는 경우
Q) 이행적 함수적 종속은 뭔가요?
이행적 함수적
- 릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 때
- 즉, X를 알면 Y를 알고 그를 통해 Z를 알 수 있는 경우
Q) 정규화(Normalization)에 대해서 설명해주세요.
정규화
- 이상 현상을 제거하기 위해서 릴레이션을 의미 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정
- 함수적 종속성을 판단하여 정규화를 진행
Q) 제 1 정규형에 대해서 설명해주세요.
제1정규형(1NF)
- 릴레이션의 모든 속성의 도메인이 원자 값만으로 구성되어 있어야 함
- 제1 정규형만 만족한다면 데이터의 중복으로 인해 이상 현상이 발생할 수 있음
- 기본키에 완전 함수 종속되지 못한 칼럼이 있다면 갱신, 삭제, 삽입 이상이 일어날 가능성이 있음
- 부분 함수 종속을 제거 -> 제2 정규형을 만족
Q) 제 2 정규형에 대해서 설명해주세요.
제2정규형(2NF)
- 릴레이션이 제1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되어야 함
- 이행적 함수 종속을 제거하도록 릴레이션을 분해 -> 제3 정규형을 만족
(* 이행적 종속: A->B,B->C가 성립할 때 A->C가 성립되는 함수 종속성)
Q) 제 3 정규형에 대해서 설명해주세요.
제3정규형(3NF)
- 릴레이션이 제2 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속되지 않아야 함
Q) BCNF 정규형에 대해서 설명해주세요.
BCNF 정규형
- 릴레이션 R에서 함수 종속성 X->Y가 성립할 때 모든 결정자 X가 후보키
Q) 반정규화에 대해서 설명해주세요.
반정규화
- 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
- 데이터 무결성이 깨질 수 있음
반정규화 하는 이유
- 데이터를 조회할 때 디스크 I/O량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상될 때
- 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상될 때
📌 참고자료
https://dev-coco.tistory.com/63
https://zz132456zz.tistory.com/36
https://zz132456zz.tistory.com/37
https://spidyweb.tistory.com/116
'CS > DB' 카테고리의 다른 글
[DB 스터디 5주차] 트랜잭션, 회복 (0) | 2024.04.04 |
---|---|
[DB 스터디 3주차] Index (0) | 2024.03.21 |
[DB 스터디 2주차] SQL (2) | 2024.03.14 |
[DB 스터디 1주차] 데이터베이스 & 관계형 데이터베이스 기본 개념 (4) | 2024.03.06 |