카테고리 없음

[mysql] enum대신 tinyint(4), boolean 사용

SIXXXX_ 2022. 11. 2. 16:14
728x90

enum 사용

https://jaehoney.tistory.com/80

 

[Mysql] enum vs tinyint, boolean 차이점

MySQL enum? ERD 설계, 엔터티 설계, DTO 설계를 할 때 고민되는 부분이 있습니다. enum vs boolean, enum vs tinyint 어떤 차이가 있을까요? 비교 ERD를 많이 보신 분들이라면, enum('Y', 'N')을 사용하는 경우를 종

jaehoney.tistory.com

https://velog.io/@leejh3224/%EB%B2%88%EC%97%AD-MySQL%EC%9D%98-ENUM-%ED%83%80%EC%9E%85%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90%EC%95%84%EC%95%BC-%ED%95%A0-8%EA%B0%80%EC%A7%80-%EC%9D%B4%EC%9C%A0

 

[번역] MySQL의 ENUM 타입을 사용하지 말아야 할 8가지 이유

이 글은 Chris Komlenic의 글 8 Reasons Why MySQL's ENUM Data Type Is Evil을 번역한 글입니다. 원문은 링크에서 찾아보실 수 있습니다.

velog.io

 

 

 

대안1)

enum 대신 tinyint(4)를 사용해 컬럼에 comment 를 달고, api 문서에 정의해서 내려주는 방법

ex. 상태 >> 1 : 취소, 2 : 정지, 3 : 진행, 4 : 완료

 

 

대안2)

code table 만들어서 관리 : 정규화 관점에서도 바람직하다

공통코드 테이블 설계해보기

 

 

 

 

REFERENCE)

 

도움)

http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/

 

8 Reasons Why MySQL's ENUM Data Type Is Evil - Chris Komlenic

MySQL's ENUM data-type is a hot spot that sometimes generates strong opinions among developers. At first glance it seems like an efficient solution for declaring a set of permitted values from which only one can be chosen for each record. A good example is

komlenic.com

 

코드테이블 설계하기 예시1-쇼핑몰)

https://cskstory.tistory.com/entry/%EC%BD%94%EB%93%9C-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%84%A4%EA%B3%84%ED%95%98%EA%B8%B0

 

공통코드 테이블 (Code Table) 설계하기

아무리 소규모의 시스템이라도, 데이터 모델에 코드 테이블은 존재합니다. 오늘은 이 코드들이 모여서 어떻게 공통코드 테이블로 만들어 지게되며, 이 공통코드 테이블은 어떤 특징을 가지는지

cskstory.tistory.com

코드테이블 설계하기 예시2-기고)

https://blog.b2en.com/366

 

[기고] 공통코드 어떻게 설계하나?

▣ 공통코드 어떻게 설계하나? 거의 모든 시스템에서 업무에서 사용하는 모든 코드(개별 엔티티로 관리하는 목록성 코드를 제외)를 공통코드 엔티티에서 통합하여 관리하는 것이 일반적이다.

blog.b2en.com

코드테이블 설계하기 예시3-백신)

https://sowon-dev.github.io/2021/09/14/210915DB-commonCodeGrup/

 

[DB설계]공통코드는 어떻게 만들까?(예시)

회사에서 스터디를 진행하고있다. 스터디속에 부장님의 특급 강의도 함께 있어서 정말 많이 배우고있다.스터디 넘 재밌다!!!스터디동안에 각자 만들 사이트를 하나씩 정했다. 나는 백신후기웹

sowon-dev.github.io