powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Учет параметров эл.энергии
21 сообщений из 21, страница 1 из 1
Учет параметров эл.энергии
    #35748842
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравсти. Вот озадумался как лучше спроектить модель БД. Есть 24 параметра, значенич кот каждый час пишутся в базу, то есть ведется история(суточная, месячная, годовая). Также на основе этих значений еще расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в каждой такой табличке за мес будет 720 записей, а если одну для всех то получицца 24х24х30...много...вот не знаю как лучше...Подскажите?
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35748865
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtytsмного...вот не знаю как лучше...Подскажите?

для ваших целей EAV самое подходящее решение
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749094
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: rtyts
> Здравсти. Вот озадумался как лучше спроектить модель БД. Есть 24
> параметра, значенич кот каждый час пишутся в базу, то есть ведется
> история(суточная, месячная, годовая). Также на основе этих значений еще
> расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в
> каждой такой табличке за мес будет 720 записей, а если одну для всех то
> получицца 24х24х30...много...вот не знаю как лучше...Подскажите?
>

В познавательных целях. А что за параметры? Можете перечислить первые
несколько?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749099
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: proposed amendment
> для ваших целей EAV самое подходящее решение
>

Позвольте не согласиться. С чего это оно "самое подходящее", если количество
атрибутов фиксировано?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749458
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L,
+1

Параметров мало, всего 24, периодичность - всего раз в час...

Автору:
Заводи таблицу одну на все и не забивай голову.

А вообще на будущее: для каждой таблицы, которую хочешь сделать, дай для себя четкое название во множественном числе по названию объекта, который отражается одной записью в этой таблице. Если названия дать не можешь, значит неправильно спроектировал.
Пример:
таблица называется: ежечасные значения параметров электроэнергии
Структура:
дата/время - час, за который содержатся в строке измерения
парам1 - первый параметр (назовите поле как Вам удобнее)
...
парам24...

обязательно индекс по полю дата/время

Кроме того, Вас, наверное, волнует, что таблица всегда будет рости, когда-нибудь станет большой?
На берегу определитесь - сколько времени будут храниться данные в этой таблице и продумайте как и что с ними будет дальше (с старыми записями).
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749534
RodionAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtytsЗдравсти. Вот озадумался как лучше спроектить модель БД. Есть 24 параметра, значенич кот каждый час пишутся в базу, то есть ведется история(суточная, месячная, годовая). Также на основе этих значений еще расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в каждой такой табличке за мес будет 720 записей, а если одну для всех то получицца 24х24х30...много...вот не знаю как лучше...Подскажите?
Да все равно у Вас счетчиков ограниченное количество. Вам важно подсчитать - сколько потребили за месяц! Вот пусть запрос и считает! А предидущие данные пусть учитываются в отдельной табле, это как регистр в 1С
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749903
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L
> Автор: proposed amendment
> для ваших целей EAV самое подходящее решение
>

Позвольте не согласиться. С чего это оно "самое подходящее", если количество
атрибутов фиксировано?



конечно, можете не соглашаться...

но таблица вида

Timestamp
Parameter
Value

ИМХО как раз то, что нужно для подобной задачи :)
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35749910
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или даже

TimeStamp (дата - время измерения)
MeterID (прибор учета)
Reading (показания прибора)

все остальное получается запросами - и не нужно никакой таблицы с 24-мя полями...

от лукавого это :)
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750247
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proposed amendmentот лукавого это :)Ваши 2 поста - от лукавого. Это реваншизм и упертость :)

А решение вполне очевидно.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750260
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L А что за параметры? Мощность потребляемая, вырабатываемая, вообщем как показания электросчетчика в квартире...пром объект 24 линии, на каждой учет.
proposed amendment TimeStamp (дата - время измерения)
MeterID (прибор учета)
Reading (показания прибора)
Так и делаю сейчас. Дело в том, еще, что на основе этих данных будут отчеты формироваться, посему 24 параметра не совсем будет удобно(ИМХО) группировать. Хотя я этот вариант рассматривал. Тут еще далее такое дело, кроме значения "Reading (показания прибора)" должен еще вести и расчет. РасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750262
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык вот думаю расчетные данные в отдельную табличку. Ввести ID в табличке хранения показаний и расчетный, и связывать записи по ID. Ведь приведенный мной пример содержит один параметр так как их 24, то в приведенной табл будут пачки строк с ЧасСуток повторяющемся 24 раза. Пока тока так придумалось.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750263
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин уже туман в голове. В приведенной мной табличке столбец Параметр1 корректней назвать просто Параметр.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750282
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: rtyts
> Мощность потребляемая, вырабатываемая, вообщем как показания
> электросчетчика в квартире...пром объект 24 линии, на каждой учет.

У вас нет 24 параметров. Их всего три: время замера, линия (ячейка),
показания по потребляемой мощности. Таблица учета выглядит следующим
образом:
Код: plaintext
1.
2.
3.
4.
5.
create table Measure(
  idMeasure  INT NOT NULL, -- PK
  MeasTime  TIMESTAMP NOT NULL,
  idCell  INT, -- FK или просто номер ячейки/линии
  P  FLOAT  NOT NULL, -- пропускаемая мощность
)
Не переживайте о количестве строк в таблице. Их не так уж и много.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750288
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LНе переживайте о количестве строк в таблице. Хорошо, не буду. Ваш вариант с моим концептульно схож. idCell у меня будет 24 разных, idMeasure уникально для каждой строки. По idMeasure я могу связывать строки таблицы Measure со строками другой таблицы, например таблица с расчетными значениями. Я Вас правильно понял? Вот только еще голову ломаю как лучше сделать, то ли производить расчет когда в Час-00 вставятся все 24 строки с одиноковой MeasTime, то ли при вставке одной строки? Событие для запуска процедуры расчета значений и вставки строк с этими значениями в расчетную табличку, триггер на инсерт? Чем больше будет становиться Measure, тем дольше будет выполняться процедура расчета значений, ведь будут селекты с параметрами, для выгребания нужных пар idCell с соответствующими MeasTime.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750295
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"rtyts" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:6664285@sql.ru...
> Автор: rtyts
> Senya_L
> Не переживайте о количестве строк в таблице.
> Хорошо, не буду. Ваш вариант с моим концептульно схож. idCell у меня
> будет 24 разных, idMeasure уникально для каждой строки. По idMeasure я
> могу связывать строки таблицы Measure со строками другой таблицы, например
> таблица с расчетными значениями. Я Вас правильно понял? Вот только еще
> голову ломаю как лучше сделать, то ли производить расчет когда в Час-00
> вставятся все 24 строки с одиноковой MeasTime, то ли при вставке одной
> строки? Событие для запуска процедуры расчета значений и вставки строк с
> этими значениями в расчетную табличку, триггер на инсерт? Чем больше будет
> становиться Measure, тем дольше будет выполняться процедура расчета
> значений, ведь будут селекты с параметрами, для выгребания нужных пар
> idCell с соответствующими MeasTime.
>

Это не просто мой вариант. Это рабочая система и, поверьте, точек учета там
не 24, а гораздо больше. :)
Я не знаю как Вы меня поняли, потому что связи таблицы Measure с "таблицей
расчетных значений" для меня покрыты туманом.
Что Вы собираетесь рассчитывать? Токи по трем фазам? Мой хрустальный шар
замутнен :)

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

Про абстрактные параметры ничего не могу сказать, а вот про
производительность запросов к "Таблице учета" могу рассказать. На MSSQL
сервере, таблица из почти 2 миллионов строк. Кластерный индекс по полям
idCell и MeasTime. По отдельным ячейкам запрос "летает". Запрос вида
Код: plaintext
1.
2.
3.
4.
select
  idCell,
  SUM(P)
from Measure
group by idCell
выполняется не более 6 секунд. С кэшированием и того
меньше.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750300
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LЧто Вы собираетесь рассчитывать? Токи по трем фазам? Мой хрустальный шар
замутнен :)

РасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные
---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1)
---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х)

Senya_LТоки по трем фазам? Зачем их расчитывать, если есть счетчик который считает мощность, то он явно это делает исходя из значений, как минимум, тока и напржения. Хотя нет , правильнее так --> счетчики с которыми я имею дело, это нехилые устройства, которые измеряют, отображают кучу параметров, некоторые хранят в накапливаемом виде(напр счетчик эл энергии), по некоторым строятся графики, кот перезаписываются по мере роста архива и.т.д.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750306
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtytsРасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные
---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1)
---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х)Даже не вникая в суть формул скажу так: в базе данных должно быть зафиксированно некоторое событие, например, измерение датчика. Все остальное, что может быть рассчитано - должно быть рассчитано. Где? Это другой вопрос. Возможно в запросе, а может и на клиенте. Профильная ветка форума Вам в помощь.
А вообще попытайтесь сформулировать для себя технические требования более четко. Чтобы туман ушел из головы :)

ЗЫ. Про токи по фазам это для примера, из своей "кухни" :)
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35750706
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L , мнения, которые я хотел услышать, я услышал здесь. И теперь с более спокойной совестью начну реализацию модели БД. Senya_L , Вам спасибо. Спасибо всем кто высказался.
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35751501
rtyts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L Профильная ветка форума Вам в помощь. А Вы какую ветку имеете ввиду? Тут задачка расширилась до некоторой аналитики информации по счетчикам и другим параметрам(каким еще не знаю, заказчик думает, о как). Ну как минимум чувствую коээфициент использования оборудования, по параметрам простоя, количества включений, токов при стартах, термической модели и т.д. Связь исторических данных с оперативными. Я вот данные то приму, сохраню,...а как мне их анализировать? Это OLAP что ли поднимать? Где-то в СУБД есть стандартные алгоритмы вычисления технико-экономических показателей, работы со статистикой или ето мне на SAP сваливать(типа пусть покупают)? Или ваять приложение на MS Visual Studio например, не знаю вобчем. Кто сталкивался, чего посоветуете?
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35751544
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtytsSenya_L Профильная ветка форума Вам в помощь. А Вы какую ветку имеете ввиду?Судя по Вашей статистике постов эту . Там помогут с запросом. Но пока структуры нет или недоработана - это обсуждается здесь.

Судя дальнейшем словам начинаете забегать вперед. Вы сейчас чем занимаетесь? Системой учета электроэнергии, так ведь? Вот пока ей и занимайтесь. Проект разрастается и это нормально. И даже хорошо: работой обеспечены. :)

По-видимому, Вам следует добавить таблицу ячеек и типов ячеек. Хотя бы для того, чтобы можно было оценить процент использования мощностей.

ЗЫ. Для кого и что пишете?
...
Рейтинг: 0 / 0
Учет параметров эл.энергии
    #35751553
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtytsРасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные
---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1)
---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х) Посмотрел картинку выше по тексту и стал понимать, про какой запрос вы речь ведете. Вобщем-то, ничего сложного. CTE - и дело в шляпе. :)
Будет структура - будет и запрос.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Учет параметров эл.энергии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]