dev._.note

[JAVA] 역정규화 본문

Dev/JAVA

[JAVA] 역정규화

Laena 2023. 3. 16. 23:33

역정규화

데이터베이스의 물리적 설계 과정에서 성능을 향상시키기 위해 역정규화를 실행.

💡 정규화된 릴레이션은 하나의 릴레이션을 분해하기 때문에 원하는 자료가 하나의 릴레이션에 존재하지 않아 외래키를 이용해 참조해야한다. 이는 데이터베이스에 저장된 자료를 검색하는 시간을 증가시키며 성능을 저하시킬수 있다.

 


 

  1. Relation 역정규화
    • Relation 병합
    • Relation 분할
      • 릴레이션의 데이터를 검색할때는 목록중의 데이터를 순차적으로 테이블 검색. 자주 사용하지 않는 속성이나 튜플이 릴레이션에 있을 경우 검색시 성능을 저하를 야기함. 이 경우에는 자주 사용하는 속성이나 튜플을 분해하여 성능을 향상시킬 수 있다.
      • 수직분할 : 자주 사용하지 않는 속성(컬럼) 분할
      • 수평분할 : 자주 사용하지 않는 튜플(행) 분할
  2. Attribute 역정규화
    • 릴레이션의 성능을 향상시키기 위해 속성 또는 파생속성을 추가

 

💡 파생 속성(Delivered Attribute) 이란? 현재 릴레이션에는 없는 속성이지만 작업의 효율을 위해 한 속성으로부터의 계산이나 가공에 의해 파생되는 속성

 

 

'Dev > JAVA' 카테고리의 다른 글

이클립스에 emmet 추가하기  (0) 2023.03.19
[JAVA] Servlet(서블릿)이란?  (0) 2023.03.18
[JAVA] Jsp 개요  (0) 2023.03.02
[JAVA] 객체지향의 3대 요소 & 5대 원칙  (0) 2023.02.22
[JAVA] 객체지향(Object oriented)  (1) 2023.02.21