inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 DB 설계 입문/실전

데이터 타입 (Data Type) 실전 활용 지침

데이터 타입 (Data Type) 질문

207

민지영

작성한 질문수 10

0

True, False 같은 BOLEAN type을 안쓰고 TINYINT type을 사용하는 이유가 궁금합니다

mysql dbms/rdbms database dba

답변 2

0

JSCODE 박재성

안녕하세요 지영님!

MySQL에서는 BOOLEAN이라는 타입이 따로 존재하지 않습니다.

그래서 BOOLEAN으로 설정을 하게 되면 자동으로 TINYINT(1)로 데이터 유형이 설정되게 됩니다:)

 

이 외로 궁금하신 점이 있으시면 언제든 질문 남겨주세요~~

0

인프런 AI 인턴

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

데이터베이스 설계에서 True/False를 나타내기 위해 BOOLEAN 타입 대신 TINYINT 타입을 사용하는 이유는 여러 가지가 있습니다. 여기서 주요 이유를 말씀드리겠습니다.

  1. 호환성 문제: BOOLEAN 타입은 데이터베이스 엔진에 따라 지원 여부가 다를 수 있습니다. MySQL의 경우 BOOLEAN은 내부적으로 TINYINT(1)로 처리됩니다. 즉, BOOLEAN을 지원하지 않는 데이터베이스에서도 TINYINT으로 대체할 수 있기 때문에 호환성을 고려하여 TINYINT을 사용하는 것입니다.

  2. 공간 효율성: TINYINT은 기본적으로 1바이트의 저장 공간을 차지하며, 이는 BOOLEAN과 동일하거나 더 효율적입니다. 또한, TINYINT를 사용하면 명확하게 0과 1로 값을 관리할 수 있어 다양한 환경에서의 활용도가 높아집니다.

  3. 확장성: BOOLEAN 값을 0과 1로 저장하면, 이후에 상태 값이 ‘2’나 ‘3’ 등으로 확장해야 하는 상황에서 쉽게 대처할 수 있습니다. 예를 들어, 상태가 On/Off에서 추가적인 상태가 필요한 경우 TINYINT이 더 관리하기 용이합니다.

  4. 일관된 표현: 시스템에서 데이터 타입을 일관되게 사용하는 것은 코드의 가독성을 높이고, 유지 보수를 용이하게 합니다. TINYINT을 일괄적으로 사용하면 다양한 논리 처리를 동일한 방식으로 적용할 수 있습니다.

관련하여 더 자세한 정보는 아래 링크에서 확인하실 수 있습니다:
- BOOLEAN 대신 TINYINT 사용의 이점

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

0

pm.team

BOOLEAN 대신 TINYINT 사용의 이점

링크 페이지는 전혀 다른 내용입니다만...

진짜중복/가짜중복을 나누는데 있어서

0

34

2

규칙 1에 대해서

0

53

2

강사님도 실제로 구글 시트에 이런식으로 적으면서하는걸까요?!

0

56

2

만약 신고사유가 객관식 다운드롭형태일때는 테이블을 따로 분리하는건가요??

0

56

2

설문 후속강의 쿠폰 제공 이벤트에 대해서

0

76

2

FK 값 중복과 규칙 3 질의

0

76

2

7-42. 역정규화 섹션에 나온 참고글 링크

0

44

2

[JSCODE 쇼핑몰 (2)] 상품 테이블의 등록한 사람 질문 입니다.

0

49

1

몽고DB 강의 계획

0

80

2

프론트단에서 고정 저장 / 백엔드에서 조회 저장

0

90

1

게시글 작성자 Id(사용자 FK) 숫자가 맞나요?

0

96

2

UI를 보고 저장해야할 데이터인지 파악하는 팁이 있을까요?

0

97

2

안녕하세요 강사님 문의 사항이 있습니다

0

110

2

실제 개발에 들어가거나 서비스 운영 중에도 DB설계를 바꾸나요?

0

233

2

관리자 테이블

0

228

2

외래 키 지정은 필수가 아닌 건가요?

0

256

2

게시판 닉네임, 아이디 관련질문

0

126

2

개발자 및 DB 설계 관련 질문

0

155

1

중복데이터 질문 있습니다.

0

104

2

db 컬럼에 JSON 박아도 되나요?

0

316

2

erd 진짜 안그려도 되나요

0

279

2

그냥 하나씩 만들어나가면서 DB 설계를 그때그때 하는건 틀린건가요?

0

107

2

JSCODE 게시판에서 댓글 관련하여 설계

0

130

2

주문수량과 재고량 관련하여 테이블 분리시

0

200

2