Хорошо ли иметь детали работы в самом таблице очереди работы или иметь детали в отдельной таблице?
-
12-12-2019 - |
Вопрос
Я в настоящее время проектирую модуль, где сервисное или консольное приложение будет чтение задания от таблицы Mobqueue.Я разработал таблицу Mobqueue со следующей информацией:
JobiD: INT PrimaryKey
jobtype: int notnull
Состояние: varchar notnull
Создание: DateTime Notnull
lastModifiedon: datetime nullable
Завершен: DateTime Nullable
Атрибут Jobtype в основном представлен, чтобы сохранить эту таблицу более универсальными, чем к определенному типу задании.Мой вопрос заключается в том, следует ли сохранять детали для выполнения задания в самой этой таблице или какой-либо другой таблице с идентификатором задания, ссылаться на него?Это потому, что у меня есть данные, доступные в какой-то другой таблице.Поэтому, выполняя работу, мы можем косвенно получать данные.Чтобы не продублирование информации, я подумал о чем-то вроде этого.Это хороший подход?Нужен ваш совет по этому поводу
Решение
Держите любые данные, которые у вас есть в этом «другой таблице» в этой таблице.Что нужно учитывать, так как вы собираетесь использовать данные.
Если вы собираетесь отобразить некоторую индексированную работу, откуда можно выбрать, чтобы просмотреть детали, вы можете получить ваши данные в двух отдельных выборах.Или если вам нужно все данные (данные в таблице Jobqueue Plus products в этой «другой таблице»), связанные с заданием, вы всегда можете выполнить одну выборку с Joins.Я не думаю, что сохранение данных JobDetails на отдельной таблице приведет к любой проблеме.
Другие советы
Я не вижу много атрибутов здесь (может быть, вы не полагали их?)
Я вижу идентификатор (ABLEID), четко необходимый, тип и информацию (не вижу, как вы можете сделать без этих данных.)
, а затем у вас есть аудита, созданная, модифицированная и завершена.Я люблю надевать там, кто создал и кто изменил, но у меня есть эта аудита в каждой таблице, которую я создаю.Это всегда полезно, когда вы не уверены, что произошло, и вы пытаетесь сохранить базу данных.