본문 바로가기
Programming/SQL

정규화 [正規化, regularization]

by 딩길딩길 2022. 3. 24.
반응형

 IT(정보기술) 용어로, 노멀라이즈(Normalize)·카노니컬라이즈(canonicalize)라고도 한다. 정규화는 전분야에서 사용되고 있는 용어로, 사용하는 분야에 따라 그 의미가 크게 달라진다.

사용빈도가 가장 높은 것은 '관계형데이터베이스(RDB:relational database)의 정규화'이다. 관계형데이터베이스에서는 데이터의 보존성을 높이는 등의 목적에서 데이터베이스 내에서 같은 정보가 2번 이상 기록되지 않고, 테이블 하나하나는 주 키에서 직접 연상되는 데이터만으로 구성되도록 설계하는 것이 이상적이다. 관계형데이터베이스의 정규화란 이런 방침에 따라 데이터베이스를 구축하는 것으로, 정규화의 정도에 따라 제1정규화에서 제5정규화까지로 나누고 있다.

이외에 '부동소수점수의 정규화'도 사용빈도가 높다. 부동소수점수는 그 성질상 하나의 값을 복수의 표현으로 나타낼 수 있다. 그러나 표현형식이 다른 부동소수점수가 혼재하고 있으면, 비교 등의 처리를 할 때 지장이 초래되기 때문에 부동소수점수를 표현할 때의 규격이 메이커나 업계에 의해 정해져 있다.

이 규격에 따라 부동소수점수의 표현을 실제의 값을 바꾸지 않은 채 조정하는 것이 부동소수점수의 정규화이다. 정규화의 기본적인 방침은 어느 규격에서나 동일하다. 즉, 수치의 가장 위 자릿수가 소수점 바로 위나 아래에 오도록 소수점의 위치를 조정하여, 유효숫자의 자릿수를 최대한 확보하는 것이다.

최근에는 'XML문서의 정규화'라는 개념이 자주 쓰이고 있다. XML문서는 텍스트 형식을 채용하고 있기 때문에 화이트스페이스(화면상에는 표시되지 않는 문자)의 취급이나 요소의 출현순서 등에 크게 구애를 받지 않는다.

그러나 어플리케이션에 XML문서의 데이터를 전달하는 경우나 데이터가 수정되지 않았다는 것을 증명하기 위한 서명 등을 하는 경우에는 XML문서를 일정한 규정에 따라 다시 수정할 필요가 있다. 이 과정을 'XML문서의 정규화'라고 한다.

반응형

'Programming > SQL' 카테고리의 다른 글

PL/SQL 트리거 생성  (0) 2022.03.24
MYSQL 허접한 10가지 TIP  (0) 2022.03.24

댓글