Кілька відповідей на питання схеми бази даних запропонували додаткову таблицю для нормалізації бази даних щодо функції, яка не є частиною поточних вимог (таблиця UserDepartment, щоб забезпечити багато-багато-багато стосунків між працівниками / користувачами та різними відділами, які вони можуть належати.).
Не проти нормалізації. Схоже, коли справа доходить до дизайну баз даних, є сильний поштовх до включення функцій, які вони "впевнені", що хтось захоче в майбутньому. Чи так складно додати таблиці / поля до бази даних для розміщення функцій, що є схильність до надмірного інженеру? Чи не будуть вони реконструйовані або оновлені так само, як і решта програми, якщо потрібно? Повторне редагування речей ніколи не цікаве, але переміщення даних з однієї таблиці в нову можна зробити. Просто не впевнений, де закінчиться цей напрямок мислення.
Редагувати: Існує стільки відрази до цього, мені цікаво, скільки проектів в кінцевому підсумку не додає функції, яка вимагає кардинальної зміни бази даних або ненормованих підходів, таких як додавання поля DepartmentID2 замість нової таблиці. Потреба в декількох відділах для працівника є загальною проблемою домену. Я просто не помічав багатьох схем баз даних, які всіяні багатьма стосунками.