Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > СУБД, общие вопросы > Свойство объекта - список, как запроектировать? |
Автор: Nickolaz 22.6.2016, 13:45 | ||||||
Доброго времени суток. Столкнулся с тем, что не могу представить как спроектировать реляционную модель представления данных для класса. В программе имеется класс, например тако, для простоты объяснения:
Списки хранят какой-то набор числовых значений, которые в дальнейшем будут в программе представлены в виде графиков, зная, что временной диапазон между этими значениями - какая-то константа. Вообщем, это показания полученные с прибора который измеряет давление или температуру с какой-то переодичностью. Значений в этих списках может быть от нескольких десятков тысяч, вплоть до миллиона. Не могу представить как реализовать реляционную модель представления данных для описания этой связи с полями - списками? Понятно, что будет сущность Measurement со свойствами:
Но как описать список? Если сделать его внешним ключом, тогда сущности firstArray и mSecondArray со свойствами:
При такой реализации в таблице firstArray по строкам хранились-бы все массивы данных и мы ссылались-бы на них из основной таблицы. Но кол-во точек не известно заранее и сделать такую таблицу не получится, но как по другому, не понимаю, подскажите пожалуйста Типа данных - массив в СУБД нет, есть только varchar и-то который нужно ограничивать размером байт или символов. Подскажте пожалуйста, как реализуется хранение свойства класса типа список в реляционной модели данных? |
Автор: Akina 22.6.2016, 17:04 |
Это у тебя в программе они - списки. А с точки зрения SQL-сервера это тупо множественный атрибут. И нормализуется он так же тупо дополнительной таблицей, где хранится ссылка на экземпляр сущности и значение экземпляра атрибута. Ежели сильно надо - то ещё и порядковый номер этого экземпляра (впрочем, если порядок имеет значение, и действия с данными выходят за рамки SELECT, то это уже дерево, и подход к хранению соответствующий). |