반응형
💡 정규화에 대해 설명해주세요.
더보기
정규화는 데이터 무결성을 유지하기 위해 잘 정의 된 방식으로 테이블을 분할하여 데이터베이스에서 중복 데이터를 제거하는 프로세스입니다.
💡 비정규화에 대해 설명해주세요.
더보기
비정규화는 복잡한 쿼리 속도를 높이고 성능을 향상시키기 위해 테이블에 중복 데이터를 추가하는 프로세스입니다.
💡 정규화의 장점과 단점을 설명하세요.
더보기
장점
데이터베이스 변경 시 이상 현상을 제거하며 데이터베이스 구조 확장시 재디자인을 최소화 할 수 있습니다.
단점
릴레이션 분해로 인하여 릴레이션간의 연산이 많아집니다. 이로 인해 응답 시간이 느려질 수 있습니다.
💡 정규화를 하는 이유?
더보기
- 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지하기 위해서
- 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할하기 위해서
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 하기 위해서
- 데이터 삽입 시 릴레이션을 재구성할 필요성 감소
- 효과적인 검색 알고리즘 생성 가능
💡 이상현상이란 무엇입니까?
더보기
정규화를 거치지 않은 데이터베이스에서 발생할 수 있는 현상으로 데이터들이 불필요하게 중복되어 릴레이션(테이블) 조작에 예기치 못한 문제가 발생하는 것을 의미합니다.
애트리뷰트(속성)들의 종속관계를 하나의 릴레이션에 표현하기 때문에 발생합니다.
💡 이상현상의 종류를 설명해주세요.
더보기
- 삽입 이상(Insertion Anomaly)
- 데이터 삽입 시 의도와 다른 값들도 삽입됨
- 삭제 이상(Delete Anomaly)
- 데이터 삭제 시 의도와 다른 값들도 연쇄 삭제됨
- 갱신 이상(Update Anomaly)
- 속성값 갱신 시 일부 튜플만 갱신되어 모순 발생
반응형
'CS 지식 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 뷰 (0) | 2023.04.12 |
---|---|
[데이터베이스] 인덱스 (0) | 2023.04.12 |
[데이터베이스] 정규화 정리 (0) | 2023.03.30 |
[데이터베이스] JDBC 정리 (0) | 2023.02.13 |
[데이터베이스] MySQL 정리 (0) | 2023.02.12 |