고양이 여름이의 지식채널

데이터 베이스 정규화 정리 (개요, 예시) 본문

Programming/DBMS

데이터 베이스 정규화 정리 (개요, 예시)

썸머캣 2023. 2. 22. 22:54

정규화를 해보자

 

데이터베이스 설계를 시작할 때는 정규화 프로세스를 고려해야 합니다. 정규화 프로세스는 데이터베이스의 데이터를 체계적으로 구성하는 방법으로, 일관성 있고 관리하기 쉬우며 중복되지 않도록 데이터베이스의 데이터를 구성하는 프로세스를 포함합니다.

 


데이터베이스 정규화 이해

데이터베이스 정규화를 하다는 것은 테이블에서 데이터 중복은 제거되어 구성되며 데이터는 가장 효율적인 방식으로 저장하는 일련의 과정이라고 생각하면 됩니다.

정규화를 수행하면 데이터 중복이나 불일치가 발생하지 않으므로 데이터의 무결성과 정확성을 유지하는 데 도움이 됩니다.

 

정규화 단계

정규화 프로세스에는 일반적으로 사용하는 데이터베이스 설계를 평가하고 세분화하는 작업도 포함됩니다만 정규화를 한다고 하면 다음 3가지 단계를 거치게 됩니다. 3단계는 다음과 같습니다.

 

제1 정규화 (1NF)

제1 정규화에서 각 테이블은 1개의 원자 값만 포함하도록 설계됩니다. 즉, 표의 각 열에는 값이 하나만 포함되어야 합니다.

예를 들어, 고객 정보가 들어 있는 표를 생각해 보자면. 각 열에는 고객의 이름 또는 전화 번호와 같은 단일 정보만 포함되어야 합니다.

 

제2 정규화(2NF)

제2 정규화는 우선적으로 제1정규화가 완료된 테이블에 한해서 

테이블의 각 열은 테이블의 주 키에 종속됩니다. 즉, 테이블의 모든 열이 기본 키(primary key)와 관련되어 데이터 중복이 발생하지 않도록 해야 합니다.

 

제3 정규화(3NF)

제3정규화는 제2정규화가 완료된 테이블에 한해서 이행 함수 종속을 제거하는 과정입니다.

 


반응형

 

정규화 예제

정규화해야 하는 간단한 표의 예제입니다.

 

제1 정규형 테이블

각 열에 각각 1개의 단일정보만 포함되고 있다.

Order.

OrderID ProductName ProductDescription SupplierName SupplierCountry UnitPrice
1 iPhone Latest iPhone model Apple USA 1000
1 AirPods Wireless earbuds Apple USA 200
2 Samsung TV 55" 4K Smart TV Samsung South Korea 1500
3 Sony Camera 20MP Digital Camera Sony Japan 800
3 Camera Lens 50mm Prime Lens for Sony Sony Japan 300

여기서 제2 정규화를 하게 되면.

 

제2 정규형 테이블

OrderDetails. 

OrderID ProductName ProductDescription UnitPrice
1 iPhone Latest iPhone model 1000
1 AirPods Wireless earbuds 200
2 Samsung TV 55" 4K Smart TV 1500
3 Sony Camera 20MP Digital Camera 800
3 Camera Lens 50mm Prime Lens for Sony 300

Suppliers.

SupplierName SupplierCountry
Apple USA
Samsung South Korea
Sony Japan

 

주문정보 테이블과 공급자 테이블로 놔눌수가 있다.

 

그러나 여전히 공급사와 공급국가 간에 종속성이 남아있습니다. 

제3정규화...

 

제3 정규형 테이블

OrderDetails.

OrderID ProductName ProductDescription UnitPrice
1 iPhone Latest iPhone model 1000
1 AirPods Wireless earbuds 200
2 Samsung TV 55" 4K Smart TV 1500
3 Sony Camera 20MP Digital Camera 800
3 Camera Lens 50mm Prime Lens for Sony 300

Suppliers.

SupplierName
Apple
Samsung
Sony

Country.

CountryName SupplierName
USA Apple
South Korea Samsung
Japan Sony

 

 

정리

정규화 프로세스는 데이터 중복 및 종속성을 점진적으로 제거하는 정규화 양식이라는 규칙 집합을 따르는 것을 포함합니다.

* 제 1 정규화는 반복 그룹을 제거하고 테이블의 모든 속성에 단일 원자 값만 포함되도록 합니다.

* 제 2 정규화는 부분 종속성을 제거하고 각 속성이 전체 기본 키에 의존해야 합니다.

* 제 3 정규화는 과도적 종속성을 제거하고 모든 비 키 속성이 기본 키에만 의존하도록 합니다.

정규화는 때때로 더 복잡한 쿼리와 테이블 조인으로 이어질 수 있지만, 잘 정규화된 데이터베이스는 더 효율적이고 확장 가능할 뿐만 아니라 유지관리 및 수정이 더 쉽습니다. 따라서 크기나 복잡성에 관계없이 데이터베이스 설계에 정규화 원칙을 적용하는 것이 중요합니다.


 

 

MySQL 쿼리 explain 설명.

 

MySQL 쿼리 explain 설명.

'EXPLAIN' 키워드는 MySQL 쿼리의 실행 계획을 분석할 수 있는 강력한 도구입니다. 쿼리 실행 계획을 검토하여 병목 현상이나 성능 문제를 식별하고 쿼리를 최적화하는 단계를 수행할 수 있습니다.

summer-cat93.tistory.com

 

728x90
반응형
Comments