데이터베이스 정규화 (DB normalization)
위키피디아를 많이 참조했습니다. 먼저 정규화(Normalization)란 무엇일까요? – 정규화란 관계형 데이터베이스(테이블간에 관계를 맺을 수 있는 상황)에서 중복을 최소화 하기 위해서 데이터를 구조화 하는 작업. 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF 가 있으며 보통 3NF 가 되었으면 ‘정규화 되었다’ 라고 한다. 하지만 실무에서는 대규모 데이터 처리시 성능(Performance)향상을 위해 정규화를 안쓰거나 낮은 수준의 정규화를 만족하는 경우가 많다. 예를 들어서 어떤 고객의 정보를 2개의 테이블로 나누어 두었다고 했을 때 정보를 불러오려면 2개의 테이블에 각각 접근해야 하므로 부하(load)가 걸린다. 하지만 하나의 테이블에 몰아두었을 경우 당연히 더 빠른 성능을 보장한다. (아래의 그림 1(비 정규화), 그림 2(1NF 정규화) 참고) 1NF(First Normal Form) : 행과 열의 순서에 영향을 받지 않으며 (원래 DB 는 영향을 안받는다.), 모든 항목에 값이 있어야하며(NULL 허용안함), 중복 기능 열이 없어야…