Cách thích hợp để triển khai một tập hợp trong SQL sẽ là với hai bảng bổ sung:
CREATE TABLE set (
id int unsigned PRIMARY KEY AUTO_INCREMENT
);
CREATE TABLE set_member (
set_id int unsigned NOT NULL,
FOREIGN KEY (set_id) REFERENCES set(id),
member <whatever_type_your_set_is_of> NOT NULL,
UNIQUE (set_id, member)
);
(Bạn có thể tránh được set
bảng, nếu bạn chỉ muốn lưu trữ các tập hợp trong một bảng và bảng đó có một ID duy nhất và bạn sẽ chỉ lưu trữ một tập hợp cho mỗi bản ghi trong bảng)
Vì rất có thể bạn đang không tìm kiếm một cách tiếp cận SQL thích hợp (thực tế là tốt, nếu bạn sẽ không bao giờ thực hiện bất kỳ thao tác nào trong cơ sở dữ liệu trên các tập hợp đó, ngoài việc lưu trữ và truy xuất), bạn có thể sẽ lưu trữ tập hợp của mình không chuẩn hóa trong một trường duy nhất trên bảng thay vì tuân theo các phương pháp được khuyến nghị; trong trường hợp đó, không có kiểu dữ liệu MySQL gốc nào có thể đại diện cho một tập hợp Python và bạn sẽ cần phải tuần tự hóa tập hợp của mình trong một varchar
hoặc một text
cột. Bạn hoàn toàn tùy thuộc vào việc chọn định dạng tuần tự hóa phù hợp với nhu cầu của mình.