|
|
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Уважаемые, посоветуйте, как правильно сделать следующее. Есть таблица с документами-заказами и таблица-справочник рабочих на фирме. Требуется отправить на каждый заказ группу рабочих в составе от 1 до нескольких человек. Вот как в заказе в одном поле сохранить все id отправленных по нему рабочих? 1) Сериализировать в последовательность байтов и сохранить в блобе? 2) То же самое, но использовать JSON array? 3) Добавить новую таблицу (бригада) и в ней хранить состав группы, а в заказе использовать id бригады? Но тут тоже упираюсь в то, что заранее неизвестно кол-во столбцов под состав бригады. 4) еще какие-то варианты? Никаких действий (сортировка, выборочная выборка и пр.) по этому полю в заказе не планируется, только выборка полного состава группы/бригады. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2021, 14:28 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Или, если достоверно известно, что максимальное число рабочих в группе ограничено, скажем, восемью - просто создать в заказе 8 полей id_worker1, ... , id_worker8 с default=NULL и заполнять их необходимое число? И не париться с доп.таблицами, (де)сериализацией и т.п.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2021, 15:25 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Добавить новую таблицу, хранящую ID заказа и ID работника. Если на заказ отправлено несколько работников, в таблице будет несколько записей. Соответственно из таблицы заказов поле работников вообще убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2021, 15:59 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Akina, И точно, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2021, 16:16 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Akina Добавить новую таблицу, хранящую ID заказа и ID работника. Если на заказ отправлено несколько работников, в таблице будет несколько записей. Код: sql 1. 2. 3. 4. 5. Доп. вопрос: правильно ли я создал первичный ключ (из двух полей)? Или он вообще тут не нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2021, 14:29 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
Да как бы он не мешает. Пусть будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2021, 18:36 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
LiYing Доп. вопрос: правильно ли я создал первичный ключ (из двух полей)? Или он вообще тут не нужен? А еще, в зависимости от запросов, может понадобится и индекс по полю id_worker или даже (`id_worker`,`id_order`). Какой именно - зависит от версии MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2021, 00:09 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#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, 08:35 |
|
||
|
Совет, как организовать хранение данных?
|
|||
|---|---|---|---|
|
#18+
LiYing Запрос будет один - выбрать всех работников по заданному приказу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2021, 12:36 |
|
||
|
|

start [/forum/search_topic.php?author=Isaac.Norton&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 444ms |
| total: | 579ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...