Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.06.2021, 14:28
|
|||
---|---|---|---|
|
|||
Совет, как организовать хранение данных? |
|||
#18+
Уважаемые, посоветуйте, как правильно сделать следующее. Есть таблица с документами-заказами и таблица-справочник рабочих на фирме. Требуется отправить на каждый заказ группу рабочих в составе от 1 до нескольких человек. Вот как в заказе в одном поле сохранить все id отправленных по нему рабочих? 1) Сериализировать в последовательность байтов и сохранить в блобе? 2) То же самое, но использовать JSON array? 3) Добавить новую таблицу (бригада) и в ней хранить состав группы, а в заказе использовать id бригады? Но тут тоже упираюсь в то, что заранее неизвестно кол-во столбцов под состав бригады. 4) еще какие-то варианты? Никаких действий (сортировка, выборочная выборка и пр.) по этому полю в заказе не планируется, только выборка полного состава группы/бригады. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.06.2021, 15:25
|
|||
---|---|---|---|
|
|||
Совет, как организовать хранение данных? |
|||
#18+
Или, если достоверно известно, что максимальное число рабочих в группе ограничено, скажем, восемью - просто создать в заказе 8 полей id_worker1, ... , id_worker8 с default=NULL и заполнять их необходимое число? И не париться с доп.таблицами, (де)сериализацией и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.06.2021, 15:59
|
|||
---|---|---|---|
Совет, как организовать хранение данных? |
|||
#18+
Добавить новую таблицу, хранящую ID заказа и ID работника. Если на заказ отправлено несколько работников, в таблице будет несколько записей. Соответственно из таблицы заказов поле работников вообще убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.06.2021, 16:16
|
|||
---|---|---|---|
|
|||
Совет, как организовать хранение данных? |
|||
#18+
Akina, И точно, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.07.2021, 14:29
|
|||
---|---|---|---|
|
|||
Совет, как организовать хранение данных? |
|||
#18+
Akina Добавить новую таблицу, хранящую ID заказа и ID работника. Если на заказ отправлено несколько работников, в таблице будет несколько записей. Код: sql 1. 2. 3. 4. 5.
Доп. вопрос: правильно ли я создал первичный ключ (из двух полей)? Или он вообще тут не нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.07.2021, 18:36
|
|||
---|---|---|---|
Совет, как организовать хранение данных? |
|||
#18+
Да как бы он не мешает. Пусть будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.07.2021, 00:09
|
|||
---|---|---|---|
Совет, как организовать хранение данных? |
|||
#18+
LiYing Доп. вопрос: правильно ли я создал первичный ключ (из двух полей)? Или он вообще тут не нужен? А еще, в зависимости от запросов, может понадобится и индекс по полю id_worker или даже (`id_worker`,`id_order`). Какой именно - зависит от версии MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.07.2021, 08:35
|
|||
---|---|---|---|
|
|||
Совет, как организовать хранение данных? |
|||
#18+
miksoft Нужен. А еще, в зависимости от запросов, может понадобится и индекс по полю id_worker или даже (`id_worker`,`id_order`). Какой именно - зависит от версии MySQL. Спасибо. Запрос будет один - выбрать всех работников по заданному приказу, примерно такой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Для такого запроса в `order_worker` все же ключи созданы верно? MySQL v8.0.25 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.07.2021, 12:36
|
|||
---|---|---|---|
Совет, как организовать хранение данных? |
|||
#18+
LiYing Запрос будет один - выбрать всех работников по заданному приказу ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1828020]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 347ms |
total: | 518ms |
0 / 0 |