본문 바로가기

Sparta/면접준비

정규화, 무결성에 대해 알아보자

 

1. 정규화의 개념과 목적에 대해 설명하라

 

정규화(Normalization)란 데이터 모델링의 핵심 중 하나라고 할 수 있으며, 중복데이터와 이상현상을 제거함으로써 데이터 정합성과 무결성을 확보하기 위해 테이블을 나누는 것이다. 정합성(Consistency)는 데이터가 모순없이 일치해야 함을 의미하며 중복데이터가 제거되지 않은 이상현상이 발생할 경우 정합성이 깨지게 된다. 데이터 베이스 변경 시 이상현상 제거가 가능하고 새로운 데이터 형의 추가 시 구조변경 소요가 줄어든다.  단점으로는 릴레이션 분해로 인해 JOIN연상이 많아지고, 요청응답 시간이 느려질 수 있다.

 

2. 무결성에 대해 설명하라

 

무결성(Integrity)은 데이터 값이 정확한 상태를 의미하며 정규화의 한 조건이다. 종류는 인스턴스는 고유한 값(유일성) 또는 Null값을 가지지 않은(Not Null) 속성이나 속성그룹을 가져야 한다는 개체무결성(Entity -), 엔티티의 특정 속성은 사전에 정의된 범주의 값(동일한 데이터 타입, 길이, Null혀용여부 등)만 존재해야 한다는 도메인무결성(Domain -), 참조되는 엔티티의 주식별자 값과 일치하거나 Null값이여야 한다는 참조무결성(Referential -), 마지막으로 업무를 수행하는 방법이나 데이터를 처리하는 규칙인 업무무결성(Business -)이 있다.