Nếu bạn đang hỏi về việc sử dụng cơ sở dữ liệu nào, nó thực sự phụ thuộc vào sở thích cá nhân và những gì bạn muốn từ cơ sở dữ liệu đó. Vì tôi chỉ quen với MySQL, tôi sẽ trả lời phần khác của câu hỏi giả sử MySQL:
bạn sẽ muốn sử dụng INNODB
vì bảng của bạn sẽ được viết nhiều và đối với các bảng lớn, tính năng khóa hàng của INNODB sẽ là cứu cánh hơn MyISAM
.
Theo như thiết kế bảng, có vẻ như bạn chỉ thực sự cần một bảng:
CREATE TABLE `wordpress`.`<table_name>` (
`id` smallint(4) NOT NULL AUTO_INCREMENT UNSIGNED,
`user` varchar(30) NOT NULL,
`filename` varchar(255) NOT NULL,
`date_insert` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE `userFile`(user, filename)
) ENGINE=`InnoDB`;
Tôi đã sử dụng một cột 'id' tùy ý được đặt AUTO_INCREMENT
vì khóa chính được sao chép trong mỗi mục nhập của mọi chỉ mục. Vì vậy, thực hiện khóa chính của (người dùng, tên tệp) có thể gây ra sự cố về hiệu suất nếu tên tệp của bạn quá dài.
Kích thước của cột 'id' của bạn phụ thuộc vào mức độ lớn của bảng của bạn. Smallint chưa ký sẽ cung cấp cho bạn 65k hàng.
Tên người dùng và tên tệp là varchar, bởi vì chúng sẽ thay đổi theo chiều dài.
Đây date_insert
chỉ là một cách để đặt hàng kết quả của bạn dựa trên thời điểm nó được chèn (hữu ích cho POP của bạn)