Как лучше организовать структуру базы данных и что будет, если значение null?
Обычно для добавления параметризации добавляют отдельную таблицу для параметров:/* параметры */
CREATE TABLE Parameters (Id INT NOT NULL PRIMARY KEY, Name NVARCHAR(150) NOT NULL)
/* возможные значения параметров */
CREATE TABLE ParametersOptions (Id INT NOT NULL PRIMARY KEY, ParameterId INT NOT NULL, Value NULL NVARCHAR(150))
/* привязка конкретному товару определенного значения параметра */
CREATE TABLE ParametersValues(Id INT NOT NULL PRIMARY KEY,ProductId INT NOT NULL, ParameterId INT NOT NULL, Value INT NOT NULL)
Тут столбец Value таблицы ParametersValues указан как необязательный.
Также можно добавить таблицу навигации для категорий, чтобы можно было связать с определенной категорией серию параметров
Вертикальная структура тебе в помощь.