Форум сайта python.su
Помогите, мозг сломал.
Есть такая структура таблиц:
Мальчики (Boys) - порядка 50000 записей
Девочки (Girls) - порядка 50000 записей
Подарки (Gifts) - порядка 50000000 записей
Болячки (Infections) - порядка 100000 записей
Мальчики ходят с подарками к девочкам, а у девочек бывают болячки. То есть связи такие:
Мальчики (one-to-many) Подарки
Подарки (many-to-one) Девочки
Девочки (many-to-many) Болячки
Задача: для заданного мальчика и заданной болячки получить список девочек, от которых он мог её подхватить. Будет ли решение проще, если все цифры будут на два порядка меньше?
Офлайн
Решение и так простое )
SELECT girl_name
FROM girls
JOIN infections ON girl_id = infection_girl_id
JOIN gifts ON gift_girl_id = girl_id
JOIN boys ON boy_id = gift_boy_id
WHERE infection_name = 'OMG' AND boy_name = 'Boy Name'
Офлайн
возможно о топикстартера Datastorage, а не субд
Офлайн
slav0nicИменно датасторадж. А разве на GAE возможно иначе?
возможно о топикстартера Datastorage, а не субд
Офлайн
http://code.google.com/intl/ru/apis/sql/ уже можно
Офлайн
slav0nicСпасибо, подал заявку на участие в тестировании. Вдруг прокатит. А что, через datastorage это всё не реализуемо?
http://code.google.com/intl/ru/apis/sql/ уже можно
Офлайн
думаю при существующих раскладах врядли, попробуй денормализировать/завести новую таблицу
Офлайн