7 loại Data Types phổ biến Trong Sequelize
Sequelize cung cấp nhiều data types tương ứng với các kiểu dữ liệu trong SQL databases (MySQL, PostgreSQL, SQLite, MSSQL…). Việc chọn đúng data type giúp:
1. String Types (Chuỗi ký tự)
Chuỗi có độ dài giới hạn (VARCHAR trong SQL).
Ứng dụng thực tế:
Best Practices:
TEXT
Chuỗi không giới hạn độ dài (TEXT trong SQL).
Ứng dụng thực tế:
Khi nào dùng TEXT vs STRING:
2. Number Types (Số)
INTEGER
Số nguyên.
Ứng dụng thực tế:
Best Practices:
FLOAT & DOUBLE
Số thập phân.
⚠️ KHÔNG nên dùng FLOAT/DOUBLE cho tiền tệ!
Ứng dụng hợp lý:
DECIMAL
Số thập phân chính xác tuyệt đối.
Ứng dụng thực tế (QUAN TRỌNG cho e-commerce):
Best Practices cho tiền tệ:
3. Date & Time Types
DATE
Date và time.
Ứng dụng thực tế:
Working with dates:
4. Boolean Type
Ứng dụng thực tế:
5. JSON Type
Lưu trữ dữ liệu JSON (PostgreSQL, MySQL 5.7+, SQLite 3.9+).
Ứng dụng thực tế:
User Settings/Preferences:
⚠️ Lưu ý khi dùng JSON:
6. ENUM Type
Giá trị từ danh sách cố định.
Ứng dụng thực tế:
ENUM vs STRING cho status:
Lợi ích ENUM:
7. UUID Type
Unique identifier.
Ứng dụng thực tế:
UUID vs Auto-increment ID:
Khi nào dùng UUID:
Tổng hợp Best Practices
1. Chọn đúng type cho từng trường hợp
Dữ liệu
Type
Lý do
Username, Email
STRING
Ngắn, có index
Post content
TEXT
Dài, không index
Price, Money
DECIMAL(10,2)
Chính xác tuyệt đối
Quantity, Count
INTEGER.UNSIGNED
Không âm
GPS coordinates
FLOAT
Không cần chính xác tuyệt đối
Status, Role
ENUM
Giá trị cố định
Created date
DATE
Timestamp
Birth date
DATEONLY
Chỉ cần ngày
Active flag
BOOLEAN
True/False
Settings
JSON
Cấu trúc linh hoạt
File ID
UUID
Unique globally
2. Template cho các models phổ biến
User Model:
Product Model:
Order Model:
Đây là tổng hợp đầy đủ về các Data Types trong Sequelize với ứng dụng thực tế trong production. Chọn đúng type giúp database hiệu quả, dễ maintain và scale!
