Как хранить несколько значений в одном столбце SQL

Итак, я настраиваю веб-приложение для своего бизнеса, и у меня есть три вещи, которые мне нужно записывать, а именно: номер партии товара и номер детали, а также вес клея. Номер партии и номер детали уже указаны, но мне нужна таблица веса клея, в которой хранится вес клея за каждый час производства изделия.

Обычно я спрашиваю, как можно сохранить несколько значений веса клея только для одного столбца?

Например.
Номер лота: 12345 Каталожный номер: 1234 Приклеиваем гири для лота № 1234: 1.07 2,07 1,56 1,45 (и т. д. За каждый час изготовления предмета)

Какой именно тип sql вы используете? MySql? SqlServer? Если MySql, вы можете сохранить его как json, который поддерживает массивы и объекты.

Brett 18.12.2018 05:53

Я использую MySQL. Если вы не возражаете, не могли бы вы связать меня с информацией по этому поводу?

brandontizzle 18.12.2018 06:29

Я добавил для вас тег MySQL. Для информации вы можете сделать это, RR_1_RПозвонив свой вопрос.

Richardissimo 18.12.2018 06:38
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
2
3
882
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вот примерный пример:

Таблица продуктов:

id | lot_number | part_number
1  | 12345      | 1234
2  | 56789      | 5567

Таблица веса

id | product_id | weight | date_time
1  | 1          | 1.07   | 2001-01-02 12:25:12
2  | 1          | 2.07   | 2001-01-02 13:25:12
3  | 1          | 1.56   | 2001-01-02 14:25:12
4  | 1          | 1.45   | 2001-01-02 15:25:12
5  | 2          | 1.07   | 2001-01-02 12:25:12
6  | 2          | 2.07   | 2001-01-02 13:25:12
7  | 2          | 1.56   | 2001-01-02 14:25:12
8  | 2          | 1.45   | 2001-01-02 15:25:12

Из таблицы веса теперь вы можете выполнить SQL-запрос, чтобы получить все измерения веса за час.

Ответ принят как подходящий

Вы можете хранить несколько значений в столбце для одной строки разными способами; но может быть лучшее решение.

Например, если вы сделали столбец способным содержать большую строку, вы можете хранить данные в формате CSV, с разделением табуляцией, XML, JSON и т. д. Однако, сохраняя такие данные, будет очень сложно исследовать эти данные. при написании SQL-запросов. К счастью, базы данных становятся такими мощными, потому что они могут объединять данные относиться вместе.

В вашем случае вы хотите сохранить несколько весов для одной комбинации номера партии и номера детали. Это называется отношения один-ко-многим. У вас будет таблица для партии и номера детали, где каждая строка имеет уникальный идентификатор (это будет первичный ключ этой таблицы).

В другой таблице будут храниться веса, по одной строке для каждого веса для каждой строки в другой таблице. Каждая строка во второй таблице ссылается на конкретную строку в первой таблице, имея столбец во второй таблице, содержащий значение в столбце уникального идентификатора из первой таблицы (это называется иностранный ключ).

Как только вы это сделали, ваши данные теперь нормализованный. Теперь вы можете использовать присоединитьсяs для объединения данных. И используйте агрегаты, чтобы найти такие вещи, как SUM, MIN, MAX и т. д.

Спасибо за эту информацию, кажется, лучший способ решить эту проблему. И MySQL может хранить столько информации, правильно, или есть другой вариант базы данных, который лучше подходит для этого? Некоторые веса вводятся чаще, чем один раз в час, поэтому будет более 24 записей в день 365 дней в году.

brandontizzle 18.12.2018 07:28

Да, все должно быть хорошо. Если В самом деле станет большим, вам, возможно, придется подумать о переходе на платформу корпоративного уровня; но вы можете пересечь этот мост, когда дойдете до него ... Старайтесь избегать любого SQL-запроса конкретного поставщика, и позже, если вам нужно, будет легко перейти к другому поставщику.

Richardissimo 18.12.2018 07:33

Другие вопросы по теме