Я хочу сохранить excel в базе данных с данными на 3 листах

Я хочу сохранить файл excel в базе данных SQL Server с 3 листами. Итак, какой вариант лучше будет следующим.

1-й вариант Создание 3 таблиц для каждого листа и сохранение данных.

2-й Добавление столбцов в одну таблицу и добавление номера листа в качестве префикса к столбцам

3-й преобразовать все данные столбца в одну строку (через запятую) и сохранить в одном столбце

Что будет лучшим вариантом из приведенных выше с точки зрения гибкости хранения данных и доступа, места, необходимого для хранения и т. д.

Если есть другие варианты, подскажите

Данные Sheet3 будут избыточными для всех строк. означает, что данные в 1-й строке листа 3 и последней строке листа 3 в большинстве случаев будут одинаковыми.

Данные Sheet1 Sheet2 и Sheet3 будут иметь логическую связь (не формула Excel)

заранее спасибо


person Prasad Joshi    schedule 07.10.2016    source источник


Ответы (2)


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

person user3798397    schedule 07.10.2016
comment
Данные моего листа3 будут избыточными для всех строк. означает, что данные в 1-й строке листа 3 и последней строке листа 3 в большинстве случаев будут одинаковыми. - person Prasad Joshi; 07.10.2016
comment
Я согласен с @user3798397. Одна таблица для каждого листа. Если есть избыточные данные, вы можете просто реплицировать их в view, не сохраняя избыточные данные в table. Этот вариант обеспечивает наилучшую гибкость, скорость и наименьший объем памяти. - person Ralph; 07.10.2016

Я думаю, что смешать 2-3 способа будет лучшим вариантом. Данные, к которым вам нужно часто обращаться, вы можете хранить в столбце, а данные, которые нечасто полезны, вы можете хранить в одном столбце, например, используя JSON или данные с разделителями-запятыми и т. д.

person Prasad    schedule 07.10.2016
comment
OP хочет оптимизировать гибкость, хранение данных и доступ к данным. Тем не менее, вы предлагаете сохранять в значениях, разделенных запятыми, или даже (хуже) в формате JSON. В обоих случаях потребуется дополнительное место для хранения, чтобы сохранить запятые или дополнительное форматирование для JSON. Ни один из них не позволил бы прямой выбор, поскольку SQL не распознал бы данные, хранящиеся в этих столбцах. Следовательно, доступ к данным также будет более сложным. Итак, не могли бы вы уточнить, почему вы вообще рассматриваете эти варианты? - person Ralph; 07.10.2016