ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL 데이터 타입: 데이터베이스 설계의 기초
    🐬 MySQL/MySQL 키워드 2024. 11. 26. 13:09
    728x90

    SQL 데이터 타입: 데이터베이스 설계의 기초

    오늘은 SQL 데이터 타입에 대해 깊이 있게 탐구해보겠습니다.

    데이터 타입은 데이터베이스 설계의 핵심 요소로, 데이터를 어떻게 저장하고 처리할지를 결정합니다.

    올바른 데이터 타입 선택은 성능 최적화와 데이터 무결성 유지에 필수적입니다.

     

    SQL 데이터 타입의 중요성

    데이터 타입은 각 열이 어떤 종류의 데이터를 저장할 수 있는지를 정의합니다. 적절한 데이터 타입을 선택하면 다음과 같은 이점이 있습니다:

    • 저장 공간 절약: 불필요한 공간 낭비를 줄입니다.
    • 성능 향상: 쿼리 실행 속도를 최적화합니다.
    • 데이터 무결성 유지: 잘못된 데이터 입력을 방지합니다.

     

    주요 SQL 데이터 타입

    • 숫자(Number)
    INT 정수 값을 저장합니다. (범위: -2,147,483,648 ~ 2,147,483,647) age=INT
    BIGINT 큰 정수 값을 저장합니다. (범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807) salary=BIGINT
    DECIMAL(p, s) 고정 소수점 숫자를 저장합니다. p는 총 자리수, s는 소수점 이하 자리수입니다. price DECIMAL(10, 2)
    FLOAT 부동 소수점 숫자를 저장합니다. (저장 값에 따라 정밀도 손실 가능) temperature FLOAT
    DOUBLE 더 큰 부동 소수점 숫자를 저장합니다. measurement DOUBLE
    TINYINT 작은 정수 값을 저장합니다. (범위: -128 ~ 127) status TINYINT
    BOOL [참(1), 거짓(0)]  테이터타입을 하지만 실제 컴퓨터가 저장 할때는 0과 1로 저장이 되기 때문에 tinyint로 사용하여 적용 하는것도 가능 하다 true(1), false(0) = BOOL

     

    • 문자열(String)
    CHAR(n)  고정 길이 문자열. (최대 255자) n은 길이를 나타냅니다. code CHAR(5)
    VARCHAR(n) 가변 길이 문자열. (최대 65,535자) n은 최대 길이를 나타냅니다. name VARCHAR(50)
    TEXT 긴 문자열. 최대 65,535자까지 저장 가능. description TEXT
    ENUM 미리 정의된 값 중 하나를 선택합니다. status ENUM('active', 'inactive')
    BLOB 바이너리 데이터(이미지, 파일 등)를 저장합니다. file_data BLOB

     

    • 날짜 및 시간(Date & Time)
    DATE 날짜를 저장합니다. (형식: YYYY-MM-DD) birth_date DATE
    DATETIME 날짜와 시간을 저장합니다. (형식: YYYY-MM-DD HH:MM:SS) created_at DATETIME
    TIMESTAMP 날짜와 시간을 저장하며, 자동으로 현재 시간으로 업데이트할 수 있습니다. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    TIME 시간을 저장합니다. (형식: HH:MM:SS) duration TIME
    YEAR 연도를 저장합니다. (형식: YYYY) graduation_year YEAR

     

    사용 예제

    • 1. 고객 정보를 저장하는 테이블:
    CREATE TABLE customers (
        customer_id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        email VARCHAR(100) UNIQUE,
        phone CHAR(10),
        birth_date DATE,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

     

    • 2. 제품 정보를 저장하는 테이블:
    CREATE TABLE products (
        product_id INT AUTO_INCREMENT PRIMARY KEY,
        product_name VARCHAR(100),
        price DECIMAL(10, 2),
        in_stock TINYINT,
        description TEXT,
        added_date DATETIME );​
     

    데이터 타입 선택 팁

    1. 숫자 데이터
      • 정수는 INT 또는 BIGINT를 사용.
      • 소수점 계산이 필요한 경우 DECIMAL이 정밀도를 보장.
    2. 문자열 데이터
      • 짧고 고정된 문자열은 CHAR 사용.
      • 가변 길이 문자열은 VARCHAR 사용.
      • 긴 텍스트는 TEXT 사용.
    3. 날짜와 시간 데이터
      • 날짜만 저장할 경우 DATE, 시간만 저장할 경우 TIME 사용.
      • 날짜와 시간을 함께 저장하려면 DATETIME 또는 TIMESTAMP 사용.

    SQL 데이터 타입은 효율적인 데이터베이스 설계와 관리에 필수적입니다. 각 유형의 특성과 용도를 이해하면, 더 나은 성능과 무결성을 가진 데이터베이스를 구축할 수 있습니다.

    728x90
Designed by Tistory.