У меня есть эти таблицыИспользование нескольких внешних ключей в таблице
Client
id(PK), name, logo
Школа
id(PK), name, logo, client_id (FK)
Класс
id(PK), name, school_id (FK)
Тема
id(PK), name, class_id (FK)
подход 1.
У меня есть предмет идентификатор, мне нужно получить class_id, school_id и client_id субъекта. Я могу написать запрос с JOIN для извлечения идентификаторов от клиента, школы, столы класса
Подход 2
У меня есть дизайн стола как этот
Client
id(PK), name, logo
Школа
id(PK), name, logo, client_id (FK)
Класс
id(PK), name, school_id (FK), client_id (FK)
Тема
id(PK), name, class_id (FK), class_id (FK), school_id (FK), client_id (FK)
В этом случае я могу получить все детали от простого запроса, как
SELECT * FROM Subject WHERE id = '2'
Какой из них лучше, и рекомендовал подход? Мне нравится второй подход, но не уверен, рекомендуется ли его.
ТИА
Почему школа имеет 'client_id' как FK? Что вы пытаетесь сказать по этому поводу? – Vyktor
@Vyktor Каждая школа связана с клиентом. Клиент может иметь несколько школ. – phpsessionid