powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многние ко многим + иерархия
6 сообщений из 6, страница 1 из 1
Многние ко многим + иерархия
    #38600582
Dmitriy Nikolaevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!

И сразу к делу. Имеется:

1. users [id, parent, ...]
2. devices [id, name, ...]
3. users_devices [user_id, device_id, visible, name, ...]

Есть два типа юзеров: 1. мастер, 2. пользователь. У мастера может быть куча пользователей. У каждого юзера есть свои устройства. Кроме того, мастер может давать видеть свои устройства своим же подопечным юзерам, то бишь пользователям. А они, в свою очередь могут меня имя устройства для себя и только.

Вопрос первый: правильно сделал таблицы или нет.

И второй вопрос: мне нужно 2 запроса.

Первый для мастера:
ид устройства, список имен юзеров, для которых разрешено видеть это устройство, имя...

Второй для юзера:
ид устройства, имя мастера, имя, которое он может изменить для себя в таблице users_devices

Надеюсь, понятно объяснил. Спасибо за внимание.
...
Рейтинг: 0 / 0
Многние ко многим + иерархия
    #38601187
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку ни мастера не могут давать права другим мастерам, ни пользователи не могут давать права другим пользователям, то о иерархии речи быть не может. Все просто скучно линейно и банально.
Связь Мастер - пользователи 1:M или М:M?
Связь Пользователь устройство 1:M или М:M?

Dmitriy Nikolaevich правильно сделал таблицы или нет.Я бы засунул мастеров в отдельную таблицу
Dmitriy Nikolaevich И второй вопрос: мне нужно 2 запроса.Два запроса два ответа
1 Запросы без структуры не имеют смысла.
2 Да и со структурой я лучше буду критиковать ваши усилия
...
Рейтинг: 0 / 0
Многние ко многим + иерархия
    #38601481
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257, у автора темы в описании нет условий, что мастер это нечто, требующее выделения в отдельную сущность. Запросто может возникнуть ситуация, что мастер может быть пользователем другого мастера (связка мастер-старший мастер довольно распространена на производстве). Думается мне, что с мастерами тут всё просто: это те пользователи, id которых хотя бы один раз записан в поле parent. Потому думаю, что таблицы трогать не надо
...
Рейтинг: 0 / 0
Многние ко многим + иерархия
    #38601485
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy Nikolaevich, непонятен смысл поля name в таблице привязки устройств к пользователям (users_devices). Может его оттуда убрать надо?
...
Рейтинг: 0 / 0
Многние ко многим + иерархия
    #38601501
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял смысл поля name в таблице users_devices: если в таблице devices есь запись id=1, name='Штангенциркуль', то в таблице users_devices пользователь может написать, что device_id=1 называется name='Мой штанген' или что-то типа 'Молоток'.
Надо отметить, что это гениальная фишка!
...
Рейтинг: 0 / 0
Многние ко многим + иерархия
    #38601506
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя конечно, если пользователь можент иметь несколько мастеров, то таблички менять надо.
Из таблицы users убрать parent (ну и конкчно надо бы хотя бы для приличия добавить name, ибо думается мне неудобно постоянно держать в голове, что Петя у нас является "пользователь №1", а Вася, это на самом деле не Вася, а "пользователь №2"
Ну и добавить табличку users_links где указывать каких мастеров имеет пользователь
ПОлучается четыре таблицы:
1. users [id, name]
2. users_links [user_id, master_id]
3. devices [id, name]
4. users_devices [user_id, device_id, visible, name]
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многние ко многим + иерархия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]