Se stai chiedendo quale database utilizzare, dipende davvero dalle preferenze personali e da cosa desideri. Poiché ho familiarità con MySQL, risponderò all'altra parte della domanda assumendo MySQL:
vorrai utilizzarlo INNODBperché la tua tabella sarà ad alta intensità di scrittura e per le tabelle di grandi dimensioni, il blocco delle righe di INNODB ti farà risparmiare la vita MyISAM.
Per quanto riguarda il design dei tavoli, sembra che tu abbia davvero bisogno di un solo tavolo:
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`;
Sono andato con una colonna 'id' arbitraria impostata su AUTO_INCREMENTperché la chiave primaria è replicata in ogni voce di ogni indice. Pertanto, eseguire una chiave primaria di (utente, nome file) potrebbe causare problemi di prestazioni se i nomi dei file sono estremamente lunghi.
La dimensione della colonna "id" dipende dalla dimensione della tabella. Smallint non firmato ti darà 65.000 righe.
L'utente e il nome del file sono varchar, perché varieranno drasticamente in lunghezza.
Il date_insertè solo un modo per ordinare i risultati in base a quando è stato inserito (utile per il vostro POP)