хранение 2-мерного массива в БД

Народ всем привет, подскажите плиз кто знает как хранить в БД данные которые находятся в двумерном массиве, вот пример

++++++++
+@@@@  +
+@@@@  +
+$$$$$ +
+&&&-- +
+&&&***+
+&&&***+
++++++++

это типо грузовик с грузами разного вида. Класс хранящий этот массив представляет

public class FullTruck {
    private String nameTruck;
    private List<String> nameParcels;
    private char[][] parcels;
} 

Ответы (3 шт):

Автор решения: Игорь

Если по уму, то надо от строк в БД уходить. Делайте таблицу с полями

ID int,
X int,
Y int.
TypeId int refere­nce dbo.CargoTypes(Id)

Вторая таблица с типами, где каждому типу соответствует представление. В данном случае символ.

ID int, 
View varchar
→ Ссылка
Автор решения: Andrey Smelik

PostgreSQL позволяет определять столбцы таблицы как многомерные массивы переменной длины. Элементами массивов могут быть любые встроенные или определённые пользователями базовые типы, перечисления, составные типы, типы-диапазоны или домены.

Вы можете создать таблицу с помощью такого запроса:

CREATE TABLE full_truck (
 name_truck varchar,
 name_parcels varchar[],
 parcels char[][]
);

Затем вы можете добавить в эту таблицу данные следующим образом:

INSERT INTO full_truck(name_truck, name_parcels, parcels) VALUES
('Truck', '{"Parcels1", "Pracels2"}', '{{"+","+","+","+","+","+","+","+"},{"+","@","@","@","@"," "," ","+"}}');

За более подробной информацией обращайтесь к документации PostgreSQL

→ Ссылка
Автор решения: Celios
  1. В случае, если есть необходимость прикладного использования данных массива (поиск, аналитика, изменение и т.д.), то нужно организовывать хранение в таблицах (отдельная таблица для грузов, и отдельная - состава этого груза. При этом можно будет улучшать такое решение до бесконечности - добавить ссылочную целостность между таблицами, типы грузов можно реализовать словарем, индексировать колонки для ускорения поиска и т.д.
  2. В случае если никаких требований по разбору к "внутрянке" данных нет (например, данные о грузах нужно просто сохранить временно и передать как есть дальше в виде payload) - то можно просто хранить в строковом поле сериализованную строку в формате JSON например. Всякие "колдунства" с ссылочной целостностью, первичными ключами здесь будут лишними
  3. Еще можно создать поле с типом JSON\JSONB и туда складывать сериализованный в JSON объект. К таким полям можно даже SQL запросы по данным внутри JSON делать. Это как некий гибрид первых двух решений
→ Ссылка