Общий идеал идет так, как показано ниже. Вы должны быть своего рода таблицей серии и таблицей серии "папа", а также несколькими дочерними таблицами серии.
create table dbo.Seriekind
(
Id int not null primrary key
,Description varchar(50) not null
,ListOfColumns varchar(500) not null
)
create table dbo.Series
(
Id int not null indentity primary key
,TimeStamp datetime not null
,SerieKindId int not null
)
create table dbo.SolarData
(
Id int not null primary key identity
,SerieId int not null
,SiteName
,SolarPanelType
)
create table dbo.WindData
(
Id int not null primary key identity
,SerieId int not null
,WindTurbineNumber
,WindFarmName
,Country
)
create table dbo.GasData
(
Id int not null primary key identity
,SerieId int not null
,PipelineNumber
,CountryOfOrigin
,CountryOfDestination
)
Для того, чтобы вы потеряли сознание, нужна новая таблица для любого нового типа данных. ФК тривиальны.
Редактировать
Как объяснил Эрик, структура SQL не такая гибкая. Замечательно описывать отношения данных и действительно эффективно хранить и извлекать большие порции данных, не говоря уже о том, что это возможно в некоторых видах обработки.
Лучшим решением может быть гибридное решение, возможно, хранение данных в виде гибкого формата, такого как json, в таблице Series или даже использование решения NoSql или гибрид SQL x NoSQL.
Главное здесь - сколько серий вам нужно и как часто могут появляться новые. Дюжина: SQl, Тысяча: NoSQL.