Базы данных не предназначены для этого. Но вы можете попробовать несколько разных способов.
Наивный способ сделать это - создать версию One Table To Rule All All. То есть создайте гигантскую универсальную таблицу, все типы которой (n) varchars, в которой достаточно столбцов, чтобы охватить любую видимую электронную таблицу. Затем вам понадобится вторая таблица для хранения метаданных о первой, например, какое имя столбца электронной таблицы Column1, какой тип он хранит (чтобы вы могли вводить и выводить) и т. Д. Затем вам понадобятся триггеры для запуска. вставки, которые проверяют поступающие данные и метаданные, чтобы убедиться, что данные не повреждены и т. д. и т. д. и т. д. Как вы можете видеть, этот путь представляет собой полный и полный кластер. Я бегу, крича от этого.
Второй вариант - сохранить ваши данные в формате XML. Большинство современных баз данных имеют типы данных XML и некоторую поддержку xpath в запросах. Вы также можете использовать XSD для проверки данных и xslts для преобразования этих данных в CSV. В настоящее время я делаю что-то похожее с файлами конфигурации, и пока все работает нормально. Пока нет слов о проблемах с производительностью, но я доверяю Кнуту в этом вопросе.
Первый вариант, вероятно, намного проще для поиска и быстрее извлекает данные, но второй, вероятно, более стабилен и определенно проще для программирования.
Сейчас такие времена, я бы хотел, чтобы у Селко был такой счет.