Любопытно, могу ли я иметь один и тот же первичный ключ в 3 разных таблицах? Я собираюсь создать таблицы Employee, FullTime и PartTime. Я хотел бы сделать EmployeeID основным ключом для всех. 3. Любые мысли?Первичный ключ в трех таблицах
ответ
У вас может быть первичный ключ EmployeeId
в таблице под названием Employees
. Это будет иметь общую информацию, такую как дата найма и т. Д.
Затем каждый из ваших подтаблицам могут иметь EmployeeId
, который является одновременно первичным ключом в таблице и внешний ключ ссылки на Employees.EmployeeId
. Это один из способов реализации односторонней связи с использованием реляционных таблиц.
К сожалению, если вы не используете триггеры, этот механизм не мешает одному сотруднику находиться в двух других таблицах, но это не является частью вашего вопроса.
Похоже, что ваш дизайн неправильный.
объект является сотрудником
атрибут работника является их статус занятости [ток ^].
Следовательно, в его простейшей форме вам понадобится одна таблица сотрудников с столбцом, который указывает их статус.
Чтобы улучшить это, столбец статуса сотрудника должен иметь отношение внешнего ключа с другой таблицей, в которой хранятся возможные статусы сотрудников.
^текущий статус отношений 1: 1. Если вам нужна история изменений, это 1: M и требует моделирования по-разному.
- 1. Универсальный первичный ключ базы данных в таблицах
- 2. JPA Первичный ключ в отдельных таблицах последовательности
- 3. Как получить уникальный первичный ключ в двух таблицах?
- 4. varchar() первичный ключ или int первичный ключ?
- 5. Constraint первичный ключ
- 6. Составной первичный ключ против автоинкрементируемого Первичный ключ
- 7. Первичный ключ Multi-Field
- 8. Два Подсчеты в трех таблицах
- 9. Композитный первичный ключ или первичный суррогатный ключ со следующим сценарием?
- 10. руководство как первичный ключ?
- 11. следует ли использовать один первичный ключ или составной первичный ключ?
- 12. Как использовать функцию MAX в трех таблицах?
- 13. первичный ключ в таблице
- 14. Postgresql и первичный ключ, внешний ключ индексации
- 15. Неисправность с помощью оператора select на трех таблицах join
- 16. Как отслеживать идентификатор (первичный) в разных таблицах?
- 17. первичный ключ и внешний ключ
- 18. Mysql Первичный ключ не работает?
- 19. Ссылка на составной первичный ключ
- 20. Композитный первичный ключ или нет?
- 21. Внешний ключ в составной первичный ключ
- 22. первичный ключ и внешний ключ в php
- 23. составной первичный ключ и столбец автоинкремент, но НЕ первичный ключ
- 24. Sqoop импорт: Составной первичный ключ и текстуальное первичный ключ
- 25. Какое хранилище меньше: первичный ключ идентификации или первичный ключ последовательности?
- 26. Джанго модель не возвращает первичный ключ, почему первичный ключ ни
- 27. @OneToMany и другой первичный ключ
- 28. первичный ключ внешнего ключа к внешней/первичный
- 29. Первичный или автоматический сгенерированный первичный ключ?
- 30. PostgreSQL bytea Первичный ключ
Зачем создавать 3 разных стола? Создать 1 и иметь тип сотрудника, который указывает, являются ли они полными/неполными? Мне кажется, вы будете получать одни и те же данные. или таблицу employeeTypes, если есть конкретные атрибуты о полном/неполном времени, которое вам нужно захватить. – xQbert