본문 바로가기
데이터베이스/SQL

[SQLD] 데이터 모델과 SQL

by qkzkdo 2023. 8. 17.
728x90

01 정규화

데이터의 정합성(데이터의 정확성과 일관성을 유지하고 보장)을 위해 엔터티를 작은 단위로 분리하는 과정이다.

 

제1정규형

모든 속성은 반드시 하나의 값만 가져야 한다.

 

제2정규형

엔터티의 모든 일반속성은 반드시 모든 주식별자에 종속되어야 한다.

 

제3정규형

주식별자가 아닌 모든 속성 간에는 서로 종속될 수 없다.

 

주의사항

적절한 정규화는 성능상 이롭지만 지나친 정규화는 오히려 성능 저하를 일으킬 수 있다.

 

 

02 반정규화

데이터의 조회 성능을 향상시키기 위해 데이터의 중복을 허용하거나 데이터를 그룹핑하는 과정이다.

반정규화 과정은 정규화가 끝난 후 거치게 된다.

데이터 정합성 이슈가 발생할 수 있다.

 

테이블 반정규화

  • 테이블 병합
  • 테이블 분할
  • 테이블 추가

컬럼 반정규화

  • 중복 컬럼 추가
  • 파생 컬럼 추가
  • 이력 테이블 컬럼 추가

관계 반정규화(중복관계 추가)

업무 프로세스상 JOIN이 필요한 경우가 많아 중복 관계를 추가하는 것이 성능 측면에서 유리할 경우 고려한다.

 

 

03 트랜잭션

데이터를 조작하기 위한 하나의 논리적인 작업 단위이다.

 

 

 

04 NULL

NULL은 존재하지 않음, 즉 값이 없음을 의미한다.

 

 

 

출처 : 정미나. 「유선배 SQL개발자(SQLD) 과외노트」. (주)시대교육. 2023

728x90

'데이터베이스 > SQL' 카테고리의 다른 글

[SQLD] SQL 활용 (1) - 서브쿼리, 뷰, 집합연산자  (0) 2023.08.20
[SQLD] SQL 기본 (3)  (0) 2023.08.19
[SQLD] SQL 기본 (2)  (0) 2023.08.19
[SQLD] SQL 기본 (1)  (0) 2023.08.18
[SQLD] 데이터 모델링의 이해  (0) 2023.08.16