А, в этом смысле. Отношения определены именно так, и модель работает только с ними, поэтому "полуотношений" не вернёшь. А практическая проблема-то тут в чём?
Ну на самом деле главная проблема именно в том что концепт не вяжется с некоторыми практическими задачами, критики самого концепта как несостоятельного тут нет. Выборка "автор и топ-10 его книг" встречается в любом обычном приложении, а база не умеет делать это за один запрос, хотя сама задача тривиальна (просто она не вписывается в концепт, и это правильно что ради нее не делают ухищрения, а то получился бы ещё один пхп как выше.)
Ну на самом деле главная проблема именно в том что концепт не вяжется с некоторыми практическими задачами, критики самого концепта как несостоятельного тут нет. Выборка "автор и топ-10 его книг" встречается в любом обычном приложении, а база не умеет делать это за один запрос, хотя сама задача тривиальна (просто она не вписывается в концепт, и это правильно что ради нее не делают ухищрения, а то получился бы ещё один пхп как выше.)
ну выберешь ты в формате: { author: {name, lastname}, book: {title, ... } } и что дальше?)
а потом, автор решил поменять имя, и ты вынужден менять имя автора на всех записях этого автора (а в реляции ты бы поменял только один раз, а остальное подтянулось)
Я про то что физически реляционка могла бы возвращать одну запись Х и N связанных Y в одном ответе на один запрос. Но это вступает в конфликт с концептом, поэтому пхпшник делает два запроса там, где мог быть один.
Я про то что физически реляционка могла бы возвращать одну запись Х и N связанных Y в одном ответе на один запрос. Но это вступает в конфликт с концептом, поэтому пхпшник делает два запроса там, где мог быть один.
ну так придумай что-то, реализуй эту систему, чтобы БД возвращала одну запись)
Ну на самом деле главная проблема именно в том что концепт не вяжется с некоторыми практическими задачами, критики самого концепта как несостоятельного тут нет. Выборка "автор и топ-10 его книг" встречается в любом обычном приложении, а база не умеет делать это за один запрос, хотя сама задача тривиальна (просто она не вписывается в концепт, и это правильно что ради нее не делают ухищрения, а то получился бы ещё один пхп как выше.)
> концепт не вяжется с некоторыми практическими задачами
В смысле "не вяжется"? Задачи-то решаются.
> а база не умеет делать это за один запрос
Ну так cделает за два. Такая модель, да. Как в арифметике, например — "на входе" только число, "на выходе" только число; и яблоки с верблюдами не складываются. ;)
> концепт не вяжется с некоторыми практическими задачами
В смысле "не вяжется"? Задачи-то решаются.
> а база не умеет делать это за один запрос
Ну так cделает за два. Такая модель, да. Как в арифметике, например — "на входе" только число, "на выходе" только число; и яблоки с верблюдами не складываются. ;)
Ну, и на пхп можно параллельный компьютинг сделать, да только вот без примитивов concurrency будет очень тяжко.
Я про то что физически реляционка могла бы возвращать одну запись Х и N связанных Y в одном ответе на один запрос. Но это вступает в конфликт с концептом, поэтому пхпшник делает два запроса там, где мог быть один.
"Физически" некоторые реляционки подобное умеют. Только, что удивительно, почти никто этого не использует. ;)