Должен ли я удалить поле id?
Я бы порекомендовал сохранить его.
Вам может не понадобиться поле сейчас , но в будущем оно действительно может вам помочь - что, если вам нужно будет хранить данные о файлах для каждой записи журнала?
Я не знаю, насколько большой будет эта таблица и как быстро, но добавление столбца в большую таблицу обычно является дорогостоящей операцией. Если таблица сравнительно небольшая, то с точки зрения места хранения не составляет особого труда. ИМО, держите колонку и сохраните потенциальную головную боль позже.
Должен ли я иметь первичный ключ в messageId или exportedDateTime или в обоих?
Это не звучит так, как если messageId
бы один был уникален в этой таблице (хотя я могу ошибаться), и создание уникальности только для одного столбца даты / времени может потенциально создать дубликаты (и, следовательно, ошибки). Единственный оставленный вариант - это ключ с двумя столбцами, который не особенно привлекателен, учитывая сценарий, который я изложил выше.
По сути, моя точка зрения на этот ответ заключается в том, что сохранение столбца не имеет большого значения (я полагаю), но необходимость в нем позже может оказаться очень сложной и / или потребовать дополнительной работы, чтобы вернуть ее обратно.