MARIADB USEFUL RESOURCES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Dãy số (Sequences) trong MariaDB

Trong phiên bản 10.0.3, MariaDB đã giới thiệu một engine lưu trữ mới có tên là sequence. Engine này tự động tạo ra một dãy số nguyên để phục vụ các phép toán, sau đó dừng lại. Dãy số được tạo ra chứa các số nguyên dương theo thứ tự tăng dần hoặc giảm dần, dựa trên giá trị bắt đầu, giá trị kết thúc và bước nhảy (increment) được xác định.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Do bản chất ảo (không được ghi vào đĩa) của nó, dãy số chỉ có thể được sử dụng trong truy vấn ban đầu mà không được tái sử dụng trong nhiều truy vấn. Tuy nhiên, các bảng sequence có thể được chuyển đổi thành các bảng tiêu chuẩn thông qua lệnh ALTER. Nếu bảng đã chuyển đổi bị xóa, bảng sequence gốc vẫn tồn tại. Ngoài ra, dãy số không thể sinh ra các số âm hoặc quay vòng khi đạt đến giá trị tối thiểu/tối đa.

Cài Đặt Engine Sequence trong MariaDB

Để sử dụng dãy số, bạn cần cài đặt engine sequence, engine này được MariaDB phân phối dưới dạng plugin thay vì một file nhị phân độc lập. Bạn có thể cài đặt nó bằng lệnh sau:

INSTALL SONAME "ha_sequence";

Sau khi cài đặt, hãy xác minh lại bằng lệnh:

Bài viết này được đăng tại [free tuts .net]

SHOW ENGINES\G

Lưu ý rằng sau khi cài đặt engine, bạn không thể tạo một bảng tiêu chuẩn với tên sử dụng cú pháp của sequence; tuy nhiên, bạn có thể tạo một bảng tạm (temporary table) với tên theo cú pháp sequence.

Tạo dãy số trong MariaDB

Có hai phương pháp để tạo dãy số:

Tạo bảng và sử dụng thuộc tính AUTO_INCREMENT:
Bạn có thể định nghĩa một cột trong bảng với thuộc tính AUTO_INCREMENT để tự động tăng giá trị, qua đó tạo ra dãy số.

Sử dụng truy vấn SELECT theo cú pháp sequence:
Sử dụng một truy vấn SELECT đặc biệt để sinh ra dãy số. Cú pháp của truy vấn này thường theo mẫu:

Phương pháp thứ hai thường được khuyến khích vì tính linh hoạt và dễ dàng trong việc thao tác với dữ liệu.

  • seq_[FROM]_to_[TO]
  • hoặc seq_[FROM]_to_[TO]_step_STEP

Ví dụ:
Để tạo một dãy số từ 77 đến 99, bạn có thể sử dụng truy vấn:

SELECT * FROM seq_77_to_99;

Ứng dụng của dãy số trong MariaDB

Dãy số có rất nhiều ứng dụng hữu ích, chẳng hạn:

  • Xác định giá trị bị thiếu:
    Bạn có thể xác định các giá trị thiếu trong một cột nhằm đảm bảo tính toàn vẹn của dữ liệu.

SELECT myseq.seq FROM seq_22_to_28 myseq 
LEFT JOIN table1 t ON myseq.seq = x.y 
WHERE x.y IS NULL;
  • Kết hợp các giá trị:

Dãy số có thể được dùng để kết hợp các giá trị với nhau.

SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 
JOIN seq_5_to_9 x2 ORDER BY 5, 6;
  • Tìm bội số của một số:
SELECT seq FROM seq_3_to_100_step_4;
  • Tạo dãy số cho ngày tháng:
    Dãy số có thể được sử dụng để tạo ra dãy số ngày, phục vụ cho các ứng dụng như hệ thống đặt phòng.

  • Tạo dãy số cho thời gian:
    Tương tự, bạn có thể tạo dãy số cho các giá trị thời gian.

Với các chức năng trên, dãy số trong MariaDB cung cấp một công cụ mạnh mẽ để tạo và quản lý các giá trị số tự động, hỗ trợ rất nhiều cho các thao tác xử lý dữ liệu nâng cao và tự động hóa trong cơ sở dữ liệu.

Kết bài

Việc sử dụng dãy số (sequences) trong MariaDB cho phép bạn tự động sinh ra các giá trị số nguyên theo thứ tự được xác định, giúp tối ưu hóa các phép toán và quản lý dữ liệu một cách hiệu quả. Dù có những hạn chế về việc sử dụng trong nhiều truy vấn, nhưng với khả năng chuyển đổi bảng sequence sang bảng tiêu chuẩn và ứng dụng đa dạng trong xử lý dữ liệu, sequences là một công cụ hữu ích không thể thiếu trong quá trình quản lý cơ sở dữ liệu. Hãy áp dụng kiến thức này để nâng cao hiệu suất và độ tin cậy của hệ thống cơ sở dữ liệu của bạn!

Cùng chuyên mục:

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Table Cloning trong MariaDB

Table Cloning trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Indexes & Statistics Tables trong MariaDB

Indexes & Statistics Tables trong MariaDB

Alter Command trong MariaDB

Alter Command trong MariaDB

Transactions trong MariaDB

Transactions trong MariaDB

Biểu thức chính quy trong MariaDB

Biểu thức chính quy trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Mệnh đề WHERE trong MariaDB

Mệnh đề WHERE trong MariaDB

Các kiểu dữ liệu (Data Types) trong MariaDB

Các kiểu dữ liệu (Data Types) trong MariaDB

Tìm hiểu Select Database trong MariaDB

Tìm hiểu Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Cú pháp PHP trong MariaDB

Cú pháp PHP trong MariaDB

Top