inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

실전 논리적 모델링 - ERD 작성

컬럼 분리관련

54

최승현

작성한 질문수 1

0

강의중 로직이 복잡해지면, 테이블에서 관련 컬럼들을 다시 분리해야 하는날이 올 수 있다고하셨는데
컬럼을 다시 분리해야 할 때, 실무에서는 어떤 절차로 나누는지와 생길 수 있는 문제점에는 어떤 게 있나요?

sql mysql dbms/rdbms 소프트웨어-설계 SQLD

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 최승현님.

컬럼 분리와 관련된 질문에 대해 답변 드리겠습니다.

컬럼을 다시 분리하는 것은 주로 로직이 복잡해지거나 데이터가 지속적으로 변경될 때, 테이블 구조를 더 효율적으로 관리하고자 할 때 이루어집니다. 이를 통해 성능 최적화 및 데이터 관리 효율성을 높일 수 있습니다.

실무에서 컬럼을 분리하는 절차

  1. 요구사항 분석: 먼저, 컬럼 분리가 필요한 이유를 명확히 이해합니다. 데이터의 어떤 측면이 복잡한지를 분석하고, 이를 해결하기 위한 정확한 요구사항을 설정합니다.

  2. 데이터 모델링: 이후, 새로운 데이터 모델을 설계합니다. 물리적 데이터 모델링을 통해 새로운 엔티티와 관계를 정의하고, 그에 맞는 테이블 구조를 만듭니다.

  3. 마이그레이션 계획: 기존 데이터베이스에서 데이터를 새로운 구조로 이동하는 계획을 세웁니다. 데이터 변환(scripting 포함), 검증, 및 백업 절차를 포함해야 합니다.

  4. 테스트: 모든 데이터 이동과 변경 절차는 테스트 환경에서 철저히 검증되어야 합니다. 데이터 무결성과 성능을 면밀히 관찰합니다.

  5. 실행: 모든 테스트가 완료되었으며 문제가 없는 경우 실제 데이터베이스에 변경 작업을 적용합니다.

생길 수 있는 문제점

  1. 데이터 무결성 위협: 잘못된 데이터를 이관하거나, 이관 중 데이터가 유실될 위험이 있습니다.

  2. 성능 문제: 컬럼 분리가 오히려 성능의 하락을 초래할 수도 있습니다. 특히, 지나치게 많은 조인과 복잡한 쿼리가 발생하는 경우가 그렇습니다.

  3. 종속성 문제: 기존에 구축된 다른 시스템, API, 또는 보고서가 변경된 테이블 구조에 영향을 받을 수 있습니다.

  4. 기술 부채: 조직 전체의 시스템에 대한 이해도가 낮은 상태에서 구조 변경을 할 경우 기술 부채가 증가할 수 있습니다.

관련 질문 및 답변

유사한 논의를 다루는 질문과 답변을 참조하시면 더 도움이 되실 것입니다: 1대1 연관관계

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

아주 작은 정오표 전달드립니다.

0

52

2

실제로 작은 기업에서 기획 롤

1

27

1

order_product 까마귀발

0

44

2

[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.

0

53

1

자연키 vs 대리키 실무질문

0

28

1

1:N 관계에서 중간테이블 (연관엔티티)

0

57

2

일대일 fk 위치

0

43

1

제 3 정규형 vs BCNF 정규형 차이점?

0

106

3

BCNF 질문

0

78

2

연관 엔티티 네이밍 규칙

0

53

1

진짜 강의 듣는거 너무 고문

0

139

1

28강 sql 파일 어딨나여?

0

94

1

2NF의 엄밀한 정의

0

74

1

comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.

0

124

3

학습중인 수업자료를 받아볼 수 있을까요??

0

103

2

수업자료 pdf파일관련 건의 - 제목 링크위치 개선

0

88

2

서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문

1

107

2

실무적인 설계로 접근했을 때 제 2정규형 항상 만족?

0

82

1

슈퍼/서브 타입 joined 전략

0

74

2

created_at 관련 구현과 DB ENUM에 대해

0

75

1

M:N 관계의 연관 엔티티 설계 순서

0

81

2

데이터 역사성 훼손 문제

0

67

2

실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.

0

84

1

구글이 이메일 변경을 허용하는 이유

0

126

1