Я бы сказал, что если все они имеют одинаковые атрибуты, то все они будут находиться в одной таблице в общем столбце ID
.
Например, таблица person
:
- ID
- имя
- тип (
employee
, customer
, supplier
)
Это позволит вам запрашивать каждый из отдельных типов с помощью чего-то вроде:
SELECT * FROM person WHERE type = customer
Если есть информация, уникальная для каждого типа идентификатора, вы можете обозначить атрибуты, связав их с другой таблицей. Например, скажем, employee
имеет более подробную дополнительную информацию (например, manager
). И employee
, и * * manager
будут находиться в одной общей таблице, и вы создадите 'таблицу мостов' (или 'ассоциативную сущность') , чтобы связать их вместе :
employee_manager
Соединительный стол:
Таким образом, вы можете найти всех сотрудников, которые принадлежат определенному менеджеру с:
SELECT * FROM employee_manager WHERE manager_id = 1
И сопоставьте их с таблицей person
с JOIN
в зависимости от типа информации, которую вы хотите получить.