정규화란? : 데이터 정합성*을 위해 엔티티를 작은 단위로 분리하는 과정
→ 정합성 : 데이터의 정확성과 일관성을 유지하고 보장 : 정규화를 할 경우 데이터 조회 성능은 처리 조건에 따라 향상될 수도 저하될 수도 있음
제1정규형 : 모든 속성은 반드시 하나의 값만 가져야 함 : 유사한 속성이 반복되는 경우도 1차 정규화의 대상이 됨 → 하나의 속성이 다중값을 가지면 애플리케이션에서 데이터를 꺼내 쓸 때 불필요한 Split을 사용해야하는 식의 번거로움이 생길 수 있음
제2정규형 : 엔티티의 모든 일반속성은 반드시 모든 주식별자에 종속되어야 함
제3정규형 : 주식별자가 아닌 모든 속성 간에는 서로 종속X
반정규화란? : 데이터의 조회 성능을 향상시키기 위해 데이터의 중복을 허용하거나 데이터를 그룹핑하는 과정
: 주의해야 할 점은 조회 성능은 향상될 수 있으나 입력, 수정, 삭제 성능은 저하될 수 있음
: 데이터 정합성 이슈가 발생할 수 있음
테이블 반정규화
칼럼 반정규화
관계 반정규화 → 중복 관계 추가 : 업무 프로세스 상 JOIN이 필요한 경우가 많아 중복 관계를 추가하는 것이 성능 측면에서 유리할 경우 고려
트랜잭션이란? : 데이터를 조작하기 위한 하나의 논리적인 작업 단위
NULL이란? : 존재하지 않음 → 값이 없음을 뜻함 가로연산 ⇒ NULL이 있으면 결과값이 NULL이 됨 세로연산 ⇒ NULL이 있으면 NULL을 제외하고 결과값을 도출
[SQLD기본 개념]PART1. 데이터 모델링의 이해-제1장 데이터 모델링의 이해 (0) | 2024.05.12 |
---|