inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

데이터 타입2 - 날짜와 시간 타입

created_at 관련 구현과 DB ENUM에 대해

64

ZZAMBA

작성한 질문수 12

0

안녕하세요, 강사님. 이번 강의를 듣고 2가지 궁금증이 생겨 질문을 올리게 되었습니다.

  1. created_atupdated_at 구현

     

DB 레벨에서 ON UPDATEDEFAULT CURRENT_TIMESTAMP를 활용할 수 있다고 말씀해 주셨는데요, JPA에서는 @CreatedDate@LastModifiedDate로 애플리케이션 단에서 이를 구현할 수도 있습니다. 실무에서는 각각을 언제 사용할까요? 그리고 권장하는 구현이 따로 있으실까요?

  1. DB ENUM 타입을 잘 사용하지 않는 이유

실무에서 DB ENUM 데이터 타입 사용을 권장하지 않는다는 말씀으로 이해했습니다. 단순히 해당 ENUM 값의 범위가 변경되었을 때 이를 바꿔주는 것 이상으로 성능 이슈가 있어서라고 생각했습니다만, 정확히 알기가 어렵습니다. 자세한 설명을 부탁드려도 될까요?

 

감사합니다.

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

답변 1

0

인프런 AI 인턴

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

두 가지 질문에 대해 각각 요약하여 답변드리겠습니다.

  1. created_atupdated_at 구현 방법: JPA에서는 @CreatedDate@LastModifiedDate를 통해 애플리케이션 단에서 업데이트 시간을 자동으로 관리할 수 있습니다. 이와는 별도로, DB 레벨에서는 DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP를 사용해 동일한 기능을 제공할 수 있습니다. 실무에서는 주로 데이터베이스에서 처리할 경우 DB 자체에서 시간을 관리하기 때문에 데이터 불일치가 적고, JPA를 사용하면 로직 내에서 더욱 세밀한 컨트롤이 가능합니다. 따라서 프로젝트의 요구사항과 구조에 따라 선택할 수 있으며, 둘 다 활용하는 경우도 있습니다.

  2. DB ENUM 타입에 대한 주의점: DB의 ENUM 타입은 수정 시 데이터베이스 스키마를 변경해야 하며, 이러한 구조적 변화가 빈번할 경우 성능과 유지보수에 문제를 일으킬 수 있습니다. 이 포스트는 데이터베이스 ENUM 사용의 다양한 단점과 이점에 대해 설명합니다. 대안으로 VARCHAR 타입을 사용하고 애플리케이션 레벨에서 ENUM을 처리하는 방식을 많이 사용합니다.

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

BCNF 질문

0

49

2

연관 엔티티 네이밍 규칙

0

39

1

진짜 강의 듣는거 너무 고문

0

113

1

28강 sql 파일 어딨나여?

0

78

1

2NF의 엄밀한 정의

0

66

1

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

0

104

3

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

0

92

2

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

0

79

2

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

1

96

2

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

0

70

1

슈퍼/서브 타입 joined 전략

0

64

2

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

0

66

2

데이터 역사성 훼손 문제

0

60

2

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

0

78

1

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

0

117

1

order_item 테이블 (order_id, product_id) 유니크 제약조건 누락

0

97

2

BCNF 정규화에 대한 질문

0

117

2

주문, 결제 엔티티의 분류

1

111

1

실무에서의 복수 항목에 대한 관리 방법이 궁금합니다.

0

86

1

역할 및 발생 시점에 따른 엔티티 분류

0

82

1

대리키의 외부 노출에 대한 질문을 하고 싶습니다.

0

104

2

소프트 딜리트 정책에서 유니크 컬럼 중복 방지 전략

0

91

1

대리키 사용과 정규화

1

106

2

강의자료 까마귀발 잘못된거 아닌가요?

1

125

2