코드 그라데이션

DB 핵심 정리 (5) 데이터 모델링, 정규화, 자료형 본문

Database/SQL

DB 핵심 정리 (5) 데이터 모델링, 정규화, 자료형

완벽한 장면 2024. 3. 11. 16:35

데이터 모델링 관련 참고 내용

https://mangkyu.tistory.com/27

 

[Database] 6. 데이터 모델링(Data Modeling)

[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ]이번 장에서는 데이터 모델링(Data Modeling), ER 모델(ER Model)에 대해 알아보겠습니다. 1. 데이터 모델링

mangkyu.tistory.com

 

정규화 관련 참고 내용

https://mangkyu.tistory.com/28

 

[Database] 7. 정규화(Normalization)

[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ] 이번에는 이상현상(Anomly), 함수 종속성(Functional Dependency), 그리고 정규화(Normalization)에 대해 알아보

mangkyu.tistory.com

https://mangkyu.tistory.com/110

 

[Database] 정규화(Normalization) 쉽게 이해하기

지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz

mangkyu.tistory.com

 

정규화 관련 보충

 

제1정규화가 지켜져야 제2정규화도 수행할 수 있다.


자료형 

숫자형 데이터 타입

타입 정의 범위 UNSIGNED
사용가능여부
TINYINT(n) 정수형 데이터 타입 1 Byte(2^8) - 128 ~ + 127 또는
   0 ~ 255 수 표현 가능 
1Byte(2^8) - 128 ~ + 127 또는
    0 ~ 255 수 표현 가능
O
SMALLINT(n) 정수형 데이터 타입 ○ 2 Byte(2^16) - 32,768 ~ 32,167 또는
   0 ~ 65536 수 표현 가능
O
MEDIUMINT(n) 정수형 데이터 타입 ○ 3 Byte - 8,388,608 ~ 8,388,607 또는
  0 ~ 16,777,215 수 표현 가능
O
INT(n) 정수형 데이터 타입 ○ - 4 Byte - 2,147,483,648
   ~ 2,147,483,647 또는 
   0 ~ 4,294,967,295 수 표현 가능
O
BIGINT(n) 정수형 데이터 타입
(LONG)
○ - 8 byte - 2^64 - 1 표현 가능
   (무한 수 표현 가능이라고도 함)
O
DECIMAL(m, d) 고정 소수형 데이터 타입고정
(길이 + 1byte)
화폐 데이터와 같이 데이터의
   정확도를 요하는 경우에 
   주로 사용
M의 최대값은 65,
   D는 소수 자릿수이며 0이면
   소수점 가지지 않음
○ 소수점을 사용한 형태 
Default : m ⇒ 10
X
FLOAT(n) 부동 소수형 데이터 타입 ○ 4 byte 
○ 부동 소수점을 사용한 형태
X
DOUBLE(n) 부동 소수형 데이터 타입 - 8 byte
○ DOUBLE을 문자열로 저장
X

 

 

날짜형 데이터 타입

타입 정의 범위 형식 길이
DATE 날짜(년도, 월, 일) 형태의   기간 표현 데이터 3 byte 0000-00-00
(YYYY-MM-DD)
1000-01-01 ~
9999-12-31
TIME 시간(시, 분, 초) 형태의 
   기간 표현 데이터
3 byte 00:00:00 .
DATETIME 날짜와 시간 형태의
   기간 표현 데이터
8 byte 0000-00-00
00:00:00
(YYYY-MM-DD
hh:mm:ss)
1000-01-01
00:00:00.000000
~ 9999-12-31
23:59:59.999999
TIMESTAMP 날짜와 시간 형태의
   기간 표현 데이터
타입 시스템 변경 시 
   자동으로
   그 날짜와 시간이 저장
4 byte Integer .
YEAR 연도 표현 데이터 타입 1 byte 0000 .

 

 

문자형 데이터 타입

타입 정의
CHAR(n) 고정 길이 데이터 타입 
  지정된 길이보다 짧은 데이터 입력 시 나머지 길이는 공백으로 채워짐 
  검색시, PAD_CHAR_TO_FULL_LENGTH 모드를 설정하지 않으면
    공백은 제거됨
  값을 받아 올 때 이 공백은 자동으로 제거되며
    PAD_CHAR_TO_FULL_LENGTH 모드를 활성화하면 공백까지 
    다 읽어온다
0 ~ 255 (byte)
VACHAR(n) 가변 길이 데이터 타입
지정된 길이보다 짧은 데이터 입력 시 공백으로 채우지 않음
 저장시 1-byte 혹은 2-byte 길이 Prefix 데이터를 저장. 
   이 Prefix 데이터는 값의 바이트 수에 대한 정보를 담는다.
0 ~ 65,535
(byte)
TINYTEXT(n) 문자열 데이터 타입(최대 255 byte) - TINYBLOB와 같은 길이값을 
   저장 가능
   (단 차이점은 저장 될 때 nonbinary string으로 저장)
0 ~ 255 (byte)
TEXT(n)  문자열 데이터 타입(최대 65,535 byte) - BLOB와 같은 길이값을 
    저장 가능(단 차이점은 저장 될 때 nonbinary string으로 저장)
0 ~ 65,535
(byte)
MEDIUMTEXT(n) 문자열 데이터 타입(최대 16,777,215 byte)
MEDIRMBLOB와 같은 길이값을 저장 가능
  (단 차이점은 저장 될 때 nonbinary string으로 저장)
0 ~ 16,777,215
(byte)
LONGTEXT(n)  문자열 데이터 타입(최대 4,294,967,295 byte) 
LONGBLOB와 같은 길이값을 저장 가능
  (단 차이점은 저장 될 때 nonbinary string으로 저장)
0 ~ 4,294,967,295
(byte)

 

 

이진 데이터 타입

타입 정의 길이
BINARY(n) & BYTE(n) CHAR 형태의 이진 데이터 타입 최대 255 byte
VARBINARY(n) VARCHAR 형태의 이진 데이터 타입 최대 65,535 byte
TINYBLOB(n) 이진 데이터 타입 최대 255 byte
BLOB(n) 이진 데이터 타입 최대 65,535 byte
MEDIUMBLOB(n) 이진 데이터 타입 최대 16,777,215 byte
LONGBLOB(n) 이진 데이터 타입 최대 4,294,967,295 byte

 

이외에도 JSON, Spatial 등 다른 자료형도 있다.

728x90
Comments