Các loại dữ liệu (Data Types) trong MariaDB
Việc xác định đúng loại dữ liệu và kích thước trường (field) là yếu tố quan trọng để tối ưu hóa cơ sở dữ liệu. Một cách tiếp cận tốt nhất là chỉ sử dụng loại dữ liệu và kích thước cần thiết. Ví dụ: nếu trường dữ liệu chỉ cần 5 ký tự, không nên định nghĩa trường có kích thước 20 ký tự. Các loại dữ liệu (data types) trong MariaDB có thể được chia thành ba nhóm chính: số học (numeric), ngày và giờ (date and time), và chuỗi (string).
Loại dữ liệu số học (Numeric Data Types) trong MariaDB
MariaDB hỗ trợ các loại dữ liệu số sau:
-
TINYINT
Đại diện cho số nguyên nhỏ với phạm vi:- Có dấu: từ -128 đến 127
- Không dấu: từ 0 đến 255
-
BOOLEAN
Liên kết giá trị0
với "false" và giá trị1
với "true". -
SMALLINT
Đại diện cho số nguyên vừa:- Có dấu: từ -32,768 đến 32,767
- Không dấu: từ 0 đến 65,535
-
MEDIUMINT
Đại diện cho số nguyên lớn hơn:- Có dấu: từ -8,388,608 đến 8,388,607
- Không dấu: từ 0 đến 16,777,215
-
INT (hoặc INTEGER)
Đại diện cho số nguyên thường:- Có dấu: từ -2,147,483,648 đến 2,147,483,647
- Không dấu: từ 0 đến 4,294,967,295
-
BIGINT
Đại diện cho số nguyên rất lớn:- Có dấu: từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807
- Không dấu: từ 0 đến 18,446,744,073,709,551,615
-
DECIMAL (hoặc DEC, NUMERIC, FIXED)
Đại diện cho số thập phân chính xác, có thể định nghĩa số chữ số tổng cộng (M) và số chữ số sau dấu thập phân (D).- Số chữ số tối đa: 65
- Số chữ số sau dấu thập phân tối đa: 30
-
FLOAT
Đại diện cho số thực nhỏ:- Phạm vi:
- Có dấu âm: -3.402823466E+38 đến -1.175494351E-38
- Có dấu dương: 1.175494351E-38 đến 3.402823466E+38
- Phạm vi:
-
DOUBLE (hoặc REAL, DOUBLE PRECISION)
Đại diện cho số thực lớn hơn:- Phạm vi:
- Có dấu âm: -1.7976931348623157E+308 đến -2.2250738585072014E-308
- Có dấu dương: 2.2250738585072014E-308 đến 1.7976931348623157E+308
- Phạm vi:
-
BIT
Đại diện cho trường bit, cho phép lưu trữ giá trị dạng nhị phân (0 hoặc 1).
Loại dữ liệu ngày và giờ (Date and Time Data Types) trong MariaDB
MariaDB cung cấp các loại dữ liệu ngày và giờ sau:
-
DATE
Đại diện cho ngày tháng trong phạm vi từ1000-01-01
đến9999-12-31
. Định dạng:YYYY-MM-DD
. -
TIME
Đại diện cho thời gian, bao gồm cả giá trị âm và dương, với phạm vi từ-838:59:59.999999
đến838:59:59.999999
. -
DATETIME
Đại diện cho ngày và giờ, với phạm vi từ1000-01-01 00:00:00.000000
đến9999-12-31 23:59:59.999999
. Định dạng:YYYY-MM-DD HH:MM:SS
. -
TIMESTAMP
Đại diện cho thời điểm, thường dùng để ghi lại thời gian thực hiện thay đổi dữ liệu trong cơ sở dữ liệu (ví dụ: chèn hoặc cập nhật). -
YEAR
Đại diện cho năm, với định dạng 4 chữ số (ví dụ: 2024).
Loại dữ liệu chuỗi (String Data Types) trong MariaDB
MariaDB hỗ trợ nhiều loại dữ liệu chuỗi sau:
Bài viết này được đăng tại [free tuts .net]
-
CHAR
Chuỗi ký tự cố định chiều dài, có thể được điền thêm khoảng trắng bên phải. -
VARCHAR
Chuỗi ký tự có chiều dài thay đổi, với độ dài tối đa 65,535 ký tự. -
BLOB/TEXT
Các loại dữ liệu lớn dùng để lưu trữ văn bản hoặc dữ liệu nhị phân (ảnh, video):- TINYBLOB/TINYTEXT: tối đa 255 byte
- BLOB/TEXT: tối đa 65,535 byte
- MEDIUMBLOB/MEDIUMTEXT: tối đa 16,777,215 byte
- LONGBLOB/LONGTEXT: tối đa 4GB
-
ENUM
Danh sách giá trị cố định, trong đó mỗi cột chỉ lưu được một giá trị từ danh sách đó. -
SET
Danh sách giá trị, cho phép mỗi cột lưu một hoặc nhiều giá trị từ danh sách đã xác định.
Kết bài
Việc lựa chọn đúng loại dữ liệu giúp cơ sở dữ liệu hoạt động hiệu quả hơn và giảm thiểu việc lãng phí tài nguyên. Nắm vững các loại dữ liệu trong MariaDB là nền tảng quan trọng để tối ưu hóa thiết kế và quản trị cơ sở dữ liệu.