363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
|
|||||||||||
1 | |||||||||||
Как организовать данные, использующие JOIN?29.05.2013, 16:02. Показов 2374. Ответов 3
Метки нет (Все метки)
Недавно начал знакомство с nosql-движками, пока эксперементирую. Решил сделать аналог существующей SQL базы.
Есть таблицы:
0
|
29.05.2013, 16:02 | |
Ответы с готовыми решениями:
3
нужно вывести данные. думаю с join, но как? Как записать Left Join (Right Join) при помощи Linq, используя fluent-синтаксис Как лучше организовать данные Создание БД. Как организовать данные? |
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
|
||||||||||||||||||||||||||
30.05.2013, 15:28 | 2 | |||||||||||||||||||||||||
Не совсем понял, зачем в users_block поле block и зачем в orders два поля user.
И user0 и user1 стоило бы переименовать более осмысленно, типа owner(для orders) и т.д. Разве это не то же самое, что и
Если да, то примерно так (монго):
Хорошее пояснение тут: http://stackoverflow.com/quest... ct-queries Так же там есть предложение определить в БД функцию, если это работает, то можно получить список блокировки функцией и выбирать заказы примерно так:
0
|
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
|
|
30.05.2013, 23:49 [ТС] | 3 |
korvin_, block использую как набор флагов, в данном запросе важно лишь наличие записи, в других местах разбирается содержимое: блокировку может поставить и user0 (не хочу видеть заказы user1) и user1 (не хочу видеть заказы user0), их начальник или админ (tiyint пока на всех хватает, если придётся ещё перегружать - поменяю на create_user). user0, user1 - это ForeignKey, называть их так во всех таблицах удобнее - сразу понятно, кто это и не надо потом вспоминать, что и как обозвал. Да, в orders 2 ссылки, потому-что создатель (user0) и исполнитель (user1) чаще всего разные (но может быть и один, тогда user1=user0).
Как я понял - вы предлагаете хранить информацию о блокировках прямо в заказе. Не раздует ли это базу почём зря? Пока читал ссылку, пришло в голову разбить запрос на 2: а) Выбрать всех, чьи заказы user0 видеть не должен (можно хранить в таблице users) б) Выбрать заказы, чей создатель не в первом списке. На sql это делается средствами движка, чтобы данные зря не гонять, если запрос будет быстрее, почему нет?. Позже проверю, что получилось.
0
|
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
|
|
31.05.2013, 08:13 | 4 |
Может и раздует, но это, в некотором смысле, «Mongo-way» — встраивание документов.
0
|
31.05.2013, 08:13 | |
31.05.2013, 08:13 | |
Помогаю со студенческими работами здесь
4
Посоветуйте как организовать данные работы приложения Как организовать данные в xml файле и связать их с listView Как организовать стрим, передающий данные из апплета сервлету? Лишние данные при JOIN Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |