<aside> <img src="/icons/list-indent_lightgray.svg" alt="/icons/list-indent_lightgray.svg" width="40px" />
Table Of Content
</aside>
ERD(Entity Relationship Diagram)
릴레이션 : 데이터베이스에서 정보를 구분하여 저장하는 기본 단위, 엔터티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다. (관계형 테이터베이스 : 테이블, NoSQL : 컬렉션)
만약 서비스를 구축한다면 가장 먼저 신경 써야 할 부분이며 이 부분을 신경쓰지 않고 서비스를 구축한다면 단단하지 않은 골조로 건물을 짓는 것이나 다름없다.
ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다.
데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다.
ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용할 수 있지만 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다.
정규화 과정 : 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 일어나서 이를 해결하거나, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정
데이터베이스 이상 현상 : 회원이 한 개의 등급을 가져야 하는데 세 개의 등급을 갖거나 삭제할 때 필요한 데이터가 같이 삭제되고, 데이터를 삽입해야 하는데 하나의 필드 값이 NULL이 되면 안 되어서 삽입하기 어려운 현상
정규화 과정은 정규형 원칙을 기반으로 정규형을 만들어가는 과정이며, 정규화된 정도는 정규형(NF, Normal Form)으로 표현한다.
기본 정규형인 제 1 정규형, 제 2 정규형, 제 3 정규형, 보이스/코드 정규형이 있고
고급 정규형인 제 4 정규형, 제 5정규형이 있다.
정규형 원칙