Здравствуйте, Аноним, Вы писали:
А>БД: MS SSQL SERVER 2005
А>Нужно записывать в БЛ состояния устройств различных типов, например 10 типов. Конкретно: протоколирование работы оборудования на промышленном объекте. А>Каждый тип устройства имеет свой набор парметров (от 1 до 10).
А>Можно было бы для каждого типа создать таблицу, но получается слишком много таблиц, тем более, что может потребоваться добавить новые типы устройств.
А>Другой вариант записывать соятояния ввиде текстовых строк. Но требуется выборка станистики работы устройств. Со строками не так удобно работакть как с колонками.
А>Как здесь поступить?
Можно создать таблицы "Справочник параметров"(храниться название параметра, тип параметра), "Параметры устройства" (храняться связки параметр — устройство) и таблицу "Значения параметров устройства" (храняться значения параметров конкретных устройств, ссылается на таблицу "Параметры устройства и на таблицу "Устройства", значения можно хранить как sql_variant, всегда можно будет узнать тип хранимого объекта, так же можно хранить id на какие либо другие справочники). Вот такой универсальный вариант со всеми вытекающими его достоинствами и недостаками.