데이터베이스 리팩터링
Database refactoring데이터베이스 리팩터링은 데이터베이스 스키마의 단순한 변경으로 동작과 정보의 의미를 모두 유지하면서 설계를 개선합니다.데이터베이스 리팩터링은 데이터의 해석이나 사용 방법을 변경하지 않으며 버그를 수정하거나 새로운 기능을 추가하지도 않습니다.데이터베이스를 리팩터링할 때마다 시스템은 동작 상태로 유지되며, 따라서 운영 환경에 의미 있는 데이터가 존재할 경우 유지보수 지연이 발생하지 않습니다.
데이터베이스 리팩터링은 개념적으로 코드 리팩터링보다 어렵습니다.코드 리팩터링은 동작 시멘틱스만 유지하고 데이터베이스 리팩터링은 정보 시멘틱스도 유지해야 합니다.
데이터베이스 스키마는 일반적으로 다음 중 하나의 이유로 리팩터링됩니다.
- 시스템의 나머지 부분의 진화적 설계와 병행하여 진화적인 방식으로 스키마를 개발한다.
- 기존 데이터베이스 스키마의 설계 문제를 해결합니다.데이터베이스 리팩터링은 일반적으로 데이터베이스 설계를 "정리"하기 위해 기존 실가동 데이터베이스의 데이터베이스 정규화에 대한 욕구가 동기부여되는 경우가 많습니다.
- 일련의 작고 리스크가 낮은 변화에 따라 큰(그리고 잠재적으로 위험한) 변화를 구현한다.
데이터베이스 리팩터링
데이터베이스 리팩터링의 예:
- 의 [sentence fragment]프로세스에서 집약 테이블을2개의 다른 테이블로 분할합니다.
- 용도를 명확히 하기 위해 기존 열의 이름을 변경합니다.
- 두 열이 동일한 용도로 사용되었기 때문에 하나의 열로 결합하는 것입니다.
- 여러 용도로 사용되는 기존 열을 각각 단일 목적을 가진 두 개 이상의 열로 분할합니다.
- 데이터의 일관성을 높이기 위해 열에 공통 데이터 형식을 적용합니다.
- 저장 프로시저나 트리거 등의 데이터베이스 코드에 대한 공통 코드 리팩터링(Rename Method, Introduct Variable, Rename Variable 등)
- 데이터에 대한 공통 액세스 경로를 구현하기 위한 보기 소개
데이터베이스 리팩터링 프로세스
데이터베이스 리팩터링 프로세스는 기존 데이터베이스 스키마를 진화시키기 위해 데이터베이스 리팩터링을 적용하는 행위입니다(데이터베이스 리팩터링은 진화적 데이터베이스 설계의 핵심 프랙티스입니다.고려해야 할 세 가지 고려사항이 있습니다.
- 단일 리팩터링 구현 방법
- 조직 내에서 데이터베이스 리팩터링을 추적하고 공유하는 방법
- 일련의 데이터베이스 리팩터링 적용 방법
「 」를 참조해 주세요.
레퍼런스
외부 링크
- Pramod Sadalage의 데이터베이스 리팩터링 웹사이트