43강 SQL 초석 다지기 : PostgreSQL Integer Type
PostgreSQL
SQL 초석 다지기 43강 시작합니다.
본 강의는 PostgreSQL Tutorial을 참조합니다. https://www.postgresqltutorial.com/ |
이번 시간에는
▶ PostgreSQL Integer Data Type
에 대해서 알아보는 시간입니다.
이번 강의에서는 SMALLINT, INTEGER, BIGINT 등 다양한 PostgreSQL 정수 유형을 소개합니다.
Introduction to PostgreSQL integer types
PostgreSQL에서 숫자를 저장하려면 SMALLINT, INTEGER 및 BIGINT 정수 유형 중 하나를 사용합니다.
다음 표는 각 정수 유형의 사양을 보여줍니다.
허용된 범위를 벗어난 값을 저장하려고 하면 PostgreSQL에서 오류가 발생합니다.
MySQL 정수와 달리 PostgreSQL은 unsigned integer 형식 (양수만 사용)을 제공하지 않습니다.
SMALLINT
SMALLINT에는 (-32,767, 32,767) 범위의 정수를 저장할 수 있는 2바이트 저장소 크기가 필요합니다.
SMALLINT 타입은 사람의 나이, 책의 페이지 수 등을 저장하는 데 사용할 수 있습니다.
다음 문은 books라는 이름의 테이블을 작성합니다.
CREATE TABLE books (
book_id SERIAL PRIMARY KEY,
title VARCHAR (255) NOT NULL,
pages SMALLINT NOT NULL CHECK (pages > 0)
);
이 예제에서 페이지 열은 SMALLINT 열입니다. 책의 페이지 수가 양수여야 하므로 이 규칙을 적용하기 위해 CHECK 제약 조건을 추가했습니다.
INTEGER
INTEGER는 저장소 크기, 범위 및 성능 간에 최적의 균형을 제공하기 때문에 정수 유형 중에서 가장 일반적인 선택입니다.
INTEGER 유형에는 (-2,147,483,648 ~ +2,147,483,647) 범위의 숫자를 저장할 수 있는 4바이트 저장소 크기가 필요합니다.
다음 예와 같이 도시 또는 심지어 국가의 인구와 같이 큰 정수를 저장하는 열에 INTEGER type을 사용할 수 있습니다.
CREATE TABLE cities (
city_id serial PRIMARY KEY,
city_name VARCHAR (255) NOT NULL,
population INT NOT NULL CHECK (population >= 0)
);
INT는 INTEGER의 동의어입니다. 줄여서 쓸 수 있습니다.
BIGINT
INTEGER 유형의 범위를 벗어난 전체 숫자를 저장하려는 경우 BIGINT 유형을 사용할 수 있습니다.
BIGINT 유형에는 (-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807) 범위의 숫자를 저장할 수 있는 8바이트 스토리지 크기가 필요합니다.
BIGINT 유형을 사용하는 것은 많은 스토리지를 소비할 뿐만 아니라 데이터베이스의 성능을 떨어뜨리기 때문에 사용할 충분한 이유가 있어야 합니다.
컬럼의 데이터형을 선택할 때, 데이터의 크기를 생각해서 SAMALLINT, INTEGER, BIGINT 중 적절한 유형을 선택해야 합니다.
이번 강의는 여기까지...
수고하셨습니다.
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
45강 SQL 초석 다지기 : PostgreSQL DATE data type (4) | 2022.12.24 |
---|---|
44강 SQL 초석 다지기 : PostgreSQL SERIAL (3) | 2022.12.23 |
42강 SQL 초석 다지기 : PostgreSQL NUMERIC Type (4) | 2022.12.22 |
41강 SQL 초석 다지기 : PostgreSQL Character Types: CHAR, VARCHAR, TEXT (3) | 2022.12.22 |
40강 SQL 초석 다지기 : PostgreSQL Boolean Data Type (3) | 2022.12.22 |
댓글