Текущее занятие, последнее задание и предыдущее задание могут содержать всю ту же таблицу. Если вы отсортируете эту таблицу по дате начала работы с нисходящей, тогда у вас есть текущая, последняя и предыдущая. Таким образом, вам не нужна и не требуется отдельная таблица для каждого из них, которая действительно соответствует понятию «работа». Если сортировки по дате недостаточно, вы можете добавить столбец «Тип задания» (текущий, предыдущий и т. Д.). Опять же, мы все еще используем только одну таблицу.
То же самое касается оборудования. Вам действительно все равно, если лимит равен 3 последним, или 300 последним. Создавая нормализованную таблицу, форма ONE может редактировать все типы, и вы сохраняете МАССИВНЫЕ суммы кодирования и построения таблиц, программного обеспечения пользовательского интерфейса, а также создания запросов для получения + отображения последних трех заданий в форме.
Тот факт, что ваш дизайн с FAR LESS стоимостью разработки позволяет 3 или 300 последних заданий, действительно спорный. Более важно, если какой-то менеджер приходит и теперь хочет, чтобы вы сохранили последние 4 задания, у вас нет большого массива редизайна. И вы можете на лету добавлять новые типы заданий. Таким образом, вместо текущего и, как утверждают ранее, вы также можете иметь незавершенные или неудачные задания. Поэтому добавление новых бизнес-правил означает, что вы не добавляете новый тип таблицы заданий, а только «тип» в один столбец, который вы уже используете, чтобы определить задание как текущее или предыдущее.
Вам необходимо учитывать различные сущности, а затем определить взаимосвязь между ними. Основываясь на том, что вы показали, у меня будет таблица «Employee» с текущей информацией; затем будет иметь связанную таблицу для предшествующего/текущего задания (установить флаг, указывающий текущий); вы не упоминаете, связано ли оборудование с работой, поэтому я предполагаю, что это так, создавая таблицу оборудования и относящуюся к работе сотрудника или сотрудника. функция реляционной базы данных не исключает избыточность ... это избыточность LIMIT ... –
Есть ли способ объединить текущие/прошлые задания в один ключ? Например, есть ли способ определить, прошло ли оно или текущее по дате? –
Я предлагаю ключ «AutoNumber» для каждой таблицы.Это поддерживает уникальный идентификатор для каждой записи в каждой таблице. Затем посмотрите на все атрибуты задания - гайку, только текущую, но прошедшую. Это означает, что таблица «Задания» имеет начало, конец, минимальную и максимальную зарплату, заголовок и т. Д. Одним из способов указать текущее является отсутствие даты окончания, или вы можете иметь флаг, обозначающий «текущий», или вы могли бы использовать самая последняя дата начала. Выделите отношения как «один к одному», так и «один ко многим». 1-1 вы можете рассмотреть возможность включения полей в одну таблицу, а также создать связанную таблицу. –