Я разрабатываю онлайн-сайт (используя Django и Mysql). У меня есть таблица «Тесты» и «Таблица пользователей».правильный подход к хранению в базе данных
У меня есть 50 тестов в таблице, и каждый пользователь завершает их в своем собственном темпе. Как сохранить статус тестов в моей БД?
Одна идея, которая пришла мне на ум, - создать дополнительный столбец в таблице User. Эта колонка, содержащая яичка, разделена запятой или любым другим разделителем.
userid | username | testscompleted 1 john 1, 5, 34 2 tom 1, 10, 23, 25
Другой идеей было создать отдельную таблицу для хранения идентификаторов пользователей и testid. Итак, у меня будет только 2 столбца, но тысячи строк (нет тестов * нет пользователей), и они всегда будут продолжать увеличиваться.
userid | testid 1 1 1 5 2 1 1 34 2 10
, но это приведет к росту размера стола. Это общедоступный сайт и предполагается, что все пользователи (скажем, 10000), наконец, завершат тесты, будет 10000 * 50 строк. – John
@John 500 000 строк, похоже, много, но это по-прежнему очень маленькая таблица по стандартам базы данных. Скажем, что каждая строка состоит из 3 столбцов int. Это 12 байт в строке. 12 байтов * 500 тыс. Строк - это всего лишь * 5.7MB *. –
@John: Таблицы должны расти, когда вы помещаете в них полезные данные. –