|
|
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Здравсти. Вот озадумался как лучше спроектить модель БД. Есть 24 параметра, значенич кот каждый час пишутся в базу, то есть ведется история(суточная, месячная, годовая). Также на основе этих значений еще расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в каждой такой табличке за мес будет 720 записей, а если одну для всех то получицца 24х24х30...много...вот не знаю как лучше...Подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2009, 16:03 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
rtytsмного...вот не знаю как лучше...Подскажите? для ваших целей EAV самое подходящее решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2009, 16:14 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
> Автор: rtyts > Здравсти. Вот озадумался как лучше спроектить модель БД. Есть 24 > параметра, значенич кот каждый час пишутся в базу, то есть ведется > история(суточная, месячная, годовая). Также на основе этих значений еще > расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в > каждой такой табличке за мес будет 720 записей, а если одну для всех то > получицца 24х24х30...много...вот не знаю как лучше...Подскажите? > В познавательных целях. А что за параметры? Можете перечислить первые несколько? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2009, 19:14 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
> Автор: proposed amendment > для ваших целей EAV самое подходящее решение > Позвольте не согласиться. С чего это оно "самое подходящее", если количество атрибутов фиксировано? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2009, 19:16 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_L, +1 Параметров мало, всего 24, периодичность - всего раз в час... Автору: Заводи таблицу одну на все и не забивай голову. А вообще на будущее: для каждой таблицы, которую хочешь сделать, дай для себя четкое название во множественном числе по названию объекта, который отражается одной записью в этой таблице. Если названия дать не можешь, значит неправильно спроектировал. Пример: таблица называется: ежечасные значения параметров электроэнергии Структура: дата/время - час, за который содержатся в строке измерения парам1 - первый параметр (назовите поле как Вам удобнее) ... парам24... обязательно индекс по полю дата/время Кроме того, Вас, наверное, волнует, что таблица всегда будет рости, когда-нибудь станет большой? На берегу определитесь - сколько времени будут храниться данные в этой таблице и продумайте как и что с ними будет дальше (с старыми записями). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2009, 08:02 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
rtytsЗдравсти. Вот озадумался как лучше спроектить модель БД. Есть 24 параметра, значенич кот каждый час пишутся в базу, то есть ведется история(суточная, месячная, годовая). Также на основе этих значений еще расчеты будут. Вот думаю как, мож каждому параметру свою табличку, тогда в каждой такой табличке за мес будет 720 записей, а если одну для всех то получицца 24х24х30...много...вот не знаю как лучше...Подскажите? Да все равно у Вас счетчиков ограниченное количество. Вам важно подсчитать - сколько потребили за месяц! Вот пусть запрос и считает! А предидущие данные пусть учитываются в отдельной табле, это как регистр в 1С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2009, 10:21 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_L > Автор: proposed amendment > для ваших целей EAV самое подходящее решение > Позвольте не согласиться. С чего это оно "самое подходящее", если количество атрибутов фиксировано? конечно, можете не соглашаться... но таблица вида Timestamp Parameter Value ИМХО как раз то, что нужно для подобной задачи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2009, 17:38 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
или даже TimeStamp (дата - время измерения) MeterID (прибор учета) Reading (показания прибора) все остальное получается запросами - и не нужно никакой таблицы с 24-мя полями... от лукавого это :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2009, 17:43 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
proposed amendmentот лукавого это :)Ваши 2 поста - от лукавого. Это реваншизм и упертость :) А решение вполне очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 01:30 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_L А что за параметры? Мощность потребляемая, вырабатываемая, вообщем как показания электросчетчика в квартире...пром объект 24 линии, на каждой учет. proposed amendment TimeStamp (дата - время измерения) MeterID (прибор учета) Reading (показания прибора) Так и делаю сейчас. Дело в том, еще, что на основе этих данных будут отчеты формироваться, посему 24 параметра не совсем будет удобно(ИМХО) группировать. Хотя я этот вариант рассматривал. Тут еще далее такое дело, кроме значения "Reading (показания прибора)" должен еще вести и расчет. РасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 01:54 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Дык вот думаю расчетные данные в отдельную табличку. Ввести ID в табличке хранения показаний и расчетный, и связывать записи по ID. Ведь приведенный мной пример содержит один параметр так как их 24, то в приведенной табл будут пачки строк с ЧасСуток повторяющемся 24 раза. Пока тока так придумалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 02:00 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Блин уже туман в голове. В приведенной мной табличке столбец Параметр1 корректней назвать просто Параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 02:02 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
> Автор: rtyts > Мощность потребляемая, вырабатываемая, вообщем как показания > электросчетчика в квартире...пром объект 24 линии, на каждой учет. У вас нет 24 параметров. Их всего три: время замера, линия (ячейка), показания по потребляемой мощности. Таблица учета выглядит следующим образом: Код: plaintext 1. 2. 3. 4. 5. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 02:48 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_LНе переживайте о количестве строк в таблице. Хорошо, не буду. Ваш вариант с моим концептульно схож. idCell у меня будет 24 разных, idMeasure уникально для каждой строки. По idMeasure я могу связывать строки таблицы Measure со строками другой таблицы, например таблица с расчетными значениями. Я Вас правильно понял? Вот только еще голову ломаю как лучше сделать, то ли производить расчет когда в Час-00 вставятся все 24 строки с одиноковой MeasTime, то ли при вставке одной строки? Событие для запуска процедуры расчета значений и вставки строк с этими значениями в расчетную табличку, триггер на инсерт? Чем больше будет становиться Measure, тем дольше будет выполняться процедура расчета значений, ведь будут селекты с параметрами, для выгребания нужных пар idCell с соответствующими MeasTime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 03:12 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
"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. меньше. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 03:27 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_LЧто Вы собираетесь рассчитывать? Токи по трем фазам? Мой хрустальный шар замутнен :) РасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные ---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1) ---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х) Senya_LТоки по трем фазам? Зачем их расчитывать, если есть счетчик который считает мощность, то он явно это делает исходя из значений, как минимум, тока и напржения. Хотя нет , правильнее так --> счетчики с которыми я имею дело, это нехилые устройства, которые измеряют, отображают кучу параметров, некоторые хранят в накапливаемом виде(напр счетчик эл энергии), по некоторым строятся графики, кот перезаписываются по мере роста архива и.т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 03:41 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
rtytsРасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные ---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1) ---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х)Даже не вникая в суть формул скажу так: в базе данных должно быть зафиксированно некоторое событие, например, измерение датчика. Все остальное, что может быть рассчитано - должно быть рассчитано. Где? Это другой вопрос. Возможно в запросе, а может и на клиенте. Профильная ветка форума Вам в помощь. А вообще попытайтесь сформулировать для себя технические требования более четко. Чтобы туман ушел из головы :) ЗЫ. Про токи по фазам это для примера, из своей "кухни" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 03:57 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_L , мнения, которые я хотел услышать, я услышал здесь. И теперь с более спокойной совестью начну реализацию модели БД. Senya_L , Вам спасибо. Спасибо всем кто высказался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 13:19 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
Senya_L Профильная ветка форума Вам в помощь. А Вы какую ветку имеете ввиду? Тут задачка расширилась до некоторой аналитики информации по счетчикам и другим параметрам(каким еще не знаю, заказчик думает, о как). Ну как минимум чувствую коээфициент использования оборудования, по параметрам простоя, количества включений, токов при стартах, термической модели и т.д. Связь исторических данных с оперативными. Я вот данные то приму, сохраню,...а как мне их анализировать? Это OLAP что ли поднимать? Где-то в СУБД есть стандартные алгоритмы вычисления технико-экономических показателей, работы со статистикой или ето мне на SAP сваливать(типа пусть покупают)? Или ваять приложение на MS Visual Studio например, не знаю вобчем. Кто сталкивался, чего посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 22:33 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
rtytsSenya_L Профильная ветка форума Вам в помощь. А Вы какую ветку имеете ввиду?Судя по Вашей статистике постов эту . Там помогут с запросом. Но пока структуры нет или недоработана - это обсуждается здесь. Судя дальнейшем словам начинаете забегать вперед. Вы сейчас чем занимаетесь? Системой учета электроэнергии, так ведь? Вот пока ей и занимайтесь. Проект разрастается и это нормально. И даже хорошо: работой обеспечены. :) По-видимому, Вам следует добавить таблицу ячеек и типов ячеек. Хотя бы для того, чтобы можно было оценить процент использования мощностей. ЗЫ. Для кого и что пишете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 23:12 |
|
||
|
Учет параметров эл.энергии
|
|||
|---|---|---|---|
|
#18+
rtytsРасчетныйПараметр1=Reading (показания прибора1)ЗаЧасХ-Reading (показания прибора1)ЗаЧас(Х-1), РасчетныйПараметр2=РасчетныйПараметр2_ЗаЧас(Х-1)+Reading (показания прибора1)ЗаЧасХ, то бишь РасчетныйПараметр2 идет нарастающим итогом. В приаттаченной табличке столбцы Разность и Сумма расчетные ---Разность=(ПоказанияСчетчика1 где ЧасСуток=х)-(ПоказанияСчетчика1 где ЧасСуток=х-1) ---Сумма=(Сумма где ЧасСуток=х-1)+(Разность где ЧасСуток=х) Посмотрел картинку выше по тексту и стал понимать, про какой запрос вы речь ведете. Вобщем-то, ничего сложного. CTE - и дело в шляпе. :) Будет структура - будет и запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 23:24 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35750282&tid=1543487]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
206ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 541ms |

| 0 / 0 |
