Мой вопрос связан с разработкой базы данных для ежегодного изменения данных. Эта база данных по существу предназначена для системы управления курсом в колледже, поэтому я буду использовать простой пример в этом сценарии.Совет по проектированию баз данных - Годовые данные
В этом примере существуют две таблицы - CareerField и курс. Эти таблицы могут быть определены как многие для многих. В области карьеры может быть много курсов, и курс может принадлежать во многих областях карьеры (подумайте о базовом классе, таком как английский для любой степени).
Скажите в 2012 году место карьеры, называемое Плотничество, с курсом, называемым Basic Woodworking. В 2013 году поле карьеры называется «Плотничество и дизайн» и имеет курс «Основополагающая древесина».
Область карьеры не нова - просто переименована, но я должен хранить данные за все прошлые годы (в течение последних лет) для исторических целей. Поэтому я не могу просто переименовать столярную запись в «Плотницкие работы и дизайн».
По существу, я должен создать новый год на основе всех данных курса за предыдущий год, тогда изменения нового года будут происходить, если курсы будут удалены, переименованы поля профессии и т. Д. Интерфейс интерфейса будет иметь возможность создать новый год - все табличные данные скопированы для 2013 года из существующих данных (с использованием того, который был выбран в предыдущем году для переноса данных). Существует вероятность добавления новых полей, которые не относятся к предыдущим годам.
Какова наилучшая практика для чего-то подобного? Я использовал более высокое программное обеспечение ERP (например, Datatel), которое бы упало на новую таблицу за каждый год. Это кажется избыточным и плохой практикой, но опять же, я только разрабатываю базы данных менее двух лет.
Я ищу совет, как обращаться с таким сценарием. Реальное решение будет содержать в настоящее время около 16 таблиц, поэтому каждая таблица будет дублироваться в приведенном выше примере.
Спасибо за ввод.
Благодарим за подробный ответ. Это то, что я буду делать. Я ценю это. – dekron