SQL - проблема проектирования базы данных при хранении списка данных

0

У меня есть список записей, которые будут храниться в таблице базы данных, но мне сложно сконструировать базу данных. Следующие данные будут храниться:

Изображение 174551

Класс (строки) и "День" (колонка) будут продолжать расти в будущем. Моя первоначальная идея имеет 2 дизайна.

  1. Конструкция таблицы для дизайна базы данных будет точно такой же, как и в текущей таблице. Но проблема была бы в том, как бы добавить день13? Это будет страдать в будущем, в колонке продолжат расти.

  2. Добавьте 1 столбец в результате:

Изображение 174551

Лучше решить проблему столбца "День", которая будет расти в будущем, но проблема заключается в том, что она будет хранить большое количество записей данных в базе данных, что делает запрос медленнее, когда все больше и больше данных вставляются.

Любая идея или методика оптимизации дизайна базы данных? Спасибо.

  • 1
    Ваша попытка второстепенного абсолютно в порядке.
  • 1
    Ваш трехколонный дизайн хорош и решает большинство проблем с вашим оригинальным дизайном. Хотя вы можете хранить фактические даты вместо / в дополнение к дню.
Показать ещё 6 комментариев
Теги:

2 ответа

0

Таким образом, класс может иметь результат и дату. Просто убедитесь, что у вас есть уникальный первичный ключ в таблице Class и введите правильные типы данных для ваших полей. Я думаю, что вам нужен ClassId для первичного ключа, а затем создайте поле ClassName (varchar) для хранения имени класса. Не пишите Day1, это должен быть формат даты.

0

Может быть, что-то простое.

Одна таблица для классов (ClassID, ClassName)

Одна таблица для дня/периода/того, что вы называете (DayID, DayName, DayInMonth и т.д.)

Одна таблица для результатов (ResultId, DayId, ClassId, Result)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню