Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Вниз

---|Ветка была без названия|---   Найти похожие ветки 

 
KSergey   (2003-03-13 14:16) [120]

Да, к стати.
Так и не названа программа, написанная в 8 лет... Вот так всегда...

PS: помнится в пионерские годы по телеку услышал я такую фразу от одного близкого по возрасту пионера: "Ну я копирую программы для Spectrum и продаю. Зарабатываю своим интелектом". Я долго смеялся. И дело не втом что я такой умный, а в том, что, к сожалению, часто верх своего интелекта выдают за абсолютную вершину развития человечества... (Все это не относится к обсуждаемой ветке, так, к слову пришлось. К сожалению автор, так и не смог понять то, что ему пытались объяснить все: нельзя решить (вернее, нельзя решать!) его задачу теми методами, которыми он хочет. Но он, к сожалению, лишь заявил, что не хочет ничего менять (не нашел я дословно как именно, но смысл такой), вот подскажи ему один винтик, чтобы все полетело и все тут!)


 
Danilka   (2003-03-13 14:18) [121]

>Каждая запись в Base.db Должна хранить в себе 1024 Double
> значений из memos.db
>Структуру memos.db я сделал следующую ID, I1,i2,i3,i4....i254
> т.е у меня уместилось только 254 поля с данными.
>4 строчки в этой таблице приндлежат 1 строчке в таблице base.db!

Супер!!! Кто-бы мог подумать! Ты когда-нибудь слышал такие слова "Реляционная БД", "отношение один-ко-многим"?
млин, ежели кто-то кто перед кем эта докторская (надеюсь не колбаса) будет защищаться хоть чуть-чуть знаком с БД, то работу порвут в клочья, а потом это твой друг порвет тебя...

Style (13.03.03 14:08)
>Что мне было делать??
Я уже сказал - почитать книги по БД. А вообще, прежде чем выбрать тип БД надо думать а потянет ли она эту задачу?
У тебя через пол-года 80тыс.строк, а что будет через 2 года?

Кроме понятий "Реляционная БД" есть еще такая вещь - индексы называется. Из твоих 80 или 100 или 1000 тысяч записей если тебе нужна 1 запись, то ты ее возьмешь быстрее чем глазками моргнешь.

Реально могу посоветовать следующее:
1. Почитать введение в БД, какие они бывают, какие типы для каких целей.
2. Нарисовать ПРАВИЛЬНУЮ модель данных со всеми связями.
3. Прикинуть свою БД, сколько записей максимум в ней будет, коль-во пользователей, и выбрать под этот максимум*2 БД.
4. Если ты нарисуешь модель данных в Ервине или чем-то подобном, то она тебе создаст все таблицы индесы, связи и т.д., иначе сделать все ручками.
5. Если интерфейс у тебя уже готов - прикручивай его его к бд на здоровье! и перекачивай данные.


 
Style   (2003-03-13 14:20) [122]

KSergey © У меня была такая машина как ZX-Spektrum И я уже писал игрульки всякого рода на Basic..
Как появилась PC Стал изучать C++

А в 16 лет устоился на работу программистом инженером :))
Пришлось соскочить на Delphi!



 
Danilka   (2003-03-13 14:22) [123]

а кроме скорости, поставив нормальный сервер БД получишь еще и СТАБИЛЬНОСТЬ


 
KSergey   (2003-03-13 14:25) [124]

Ну вот уже и до противоречий самому себе дошло, как обычно. Начиналось с того, что

> Уже в течении полугода пишу программу ядерной безопасности.

И вдруг:

> Программа сама по себе не управляет безопасностью..

Это как же так понимать?

PS: такую историю рассказывали. На (если не ошибаюсь) Саяно-Шушенской ГЭС стояла система управления уровнем воды на ЕС ЭВМ. Сделано было так, что если машина висла, то на всякий случай створки плотины полностью перекрывались. Таким образом персонал станции (которая находилась над плотиной и обзор был хороший) периодически мог наблюдать такую картину: а плотиной вгруг раз - и нету "речки". Утекла (прямо хвостик от нее буквально видать). Камушки, там, на солнышке переливаются ;) Ну и тут же срочно кто-нибудь бежал кнопку Reset нажимать. Вот такая вот система нипель.


 
Style   (2003-03-13 14:27) [125]

Danilka © >> "Реляционная БД" = Я каждый день на работе слышу это слово!

Индексы..->> Видать в Парадоксе нет так уж шустро они работают Как мне нужно было..

А чтобы сейчас переходит на другой формат БД.. Нужно тщательно все осмыслить нужно ли это..?? И что мне это даст!

Так как Memos.db 80000 строк больше не будет.
Это 2 Спектра на 4 канала! для 10000 строк..

ПРосто нельзя забывать про скорость это очень выжно.. Нельзя забывать что все значения это Double!


 
uw   (2003-03-13 14:34) [126]

Самая классная ветка, которую я читал.


 
Danilka   (2003-03-13 14:38) [127]

Style (13.03.03 14:27)
1. числа, кстати, мало места занимают, и быстро работают по сравнению с текстом.
2. у меня на домашнем не самом быстром компе орокол работает с таблицами>2млн. строк безо всяких тормозов.
3. если все правильно описано, пересадить программу с парадокса на другую БД гемороя будет мало, максимум неделя.
4. если известно, что "2 Спектра на 4 канала! для 10000 строк"=const, то можно вообще обойтись без БД... сделать все в одном файле, скорость будет просто офигительная.


 
nikkie   (2003-03-13 14:51) [128]

>Style
>...Электросталь...
Не шутишь? Боже мой, у меня там родственники, да и Москва под боком - всего 50 км...

1. Скажи честно - что будет, если программа сбойнет и вернет в этот прибор не те данные, не вовремя или вообще ничего не вернет?

2. Конечно, ID должен быть индексирован (а проще - primary key). Конечно это будет быстрее на порядки. Элементарная математика. Нет ключа - в среднем 80000/2 сравнений при поиске. Есть ключ - порядка log_2(80000) ~ 17 сравнений.

3. Проблема тормозов может быть просто в том, как написана программа. Общее соображение - основное время уходит на открытие query. Если тебе надо получить 1000 значений и ты ради этого запускал 1000 query - разумеется все тормозит.

4. Sheriff дело предложил. Если тебе нужно всегда 10000 значений - пусть у тебя будет всегда ровно 10000 записей. Вместо добавления новой / удаления старой - просто переписывай данные в это записи. База не будет разрастаться, не будет требоваться pack. Храни ID последней переписанной записи - последние 10000 значений идут в следующем порядке
ID, ID-1, ID-2,... 1, 10000, 9999, 9998, ... ID + 1

PS. Как страшно... Все-таки, чтобы писать такие программы надо же хоть минимальным опытом обладать.


 
Ksanka   (2003-03-13 14:53) [129]


> Soft © (12.03.03 14:02)
> Своему знакомому, когда он с таким примерно вопросом ко
> мне пришел я сказал, чтоб взял Access. Теперь у него все
> без проблемм работает, быстро и стабильно.


Access и ядерная безопасность.... мда...
Soft, вы никогда не видели в Ваших программах в Access приколов, когда в вычисляемых полях, где использовались только встроенные функции Access, вместо результата выдается #Ошибка? или #Имя?, если закрыть базу, потом опять открыть - все ОК? Или перестают работать запросы, с которыми было все ОК, и лечится все вышеописанным способом? Благо, база просто для облегчения труда нескольких людей, и в случае чего-нить нехорошего миру ничего не угрожает...
Вышеописанные штучки Access и подвигли меня на прощание с ентой "СУБД" и изучение Delphi...
Кста,в Access"овом хэлпе написано о том, что сей продукт не предназначен для таких серьезных задач.

Надеюсь, программы оборонного значения под управлением Access реально не используются, иначе выход один - срочно эмигрировать куда-нить подальше, например - на Марс :-(




 
Style   (2003-03-13 14:59) [130]

nikkie ->> Open естественно один!!

4. если известно, что "2 Спектра на 4 канала! для 10000 строк"=const, то можно вообще обойтись без БД... сделать все в одном файле, скорость будет просто офигительная
>> Наверное это действительно класcное решение.

Только времени у меня не было.
Главное что бы файл не гакнулся..
в Памяти хранить pointer"ы на на № строки.. Что бы быстро делать Seek!

Но если так подумать то у меня сейчас тоже самое. Только в Paradox"e Я храню в памяти BookMark - указатели
TBookMark = pointer тот же самый Seek..

И скорость очень быстрая.!



 
nikkie   (2003-03-13 14:59) [131]

>Danilka
>4. если известно, что "2 Спектра на 4 канала! для 10000 строк"=const, то можно вообще обойтись без БД... сделать все в одном файле, скорость будет просто офигительная.

Дело говоришь! Действительно, никакая база не нужна. Будет 1 Файл размером 80 Mb (10000 записей * 1024 значения * 8 байт на значение). Скорость и надежность - будет супер.


 
Style   (2003-03-13 15:04) [132]

nikkie -> Если записи однаковые в размере Paradox Append после Delete вставляет запись на место удаленных - файл не разростается!


 
Leon Crom   (2003-03-13 15:05) [133]

мля люди много разговоров а помощи почти ни какой...

ТО Style
а можно конкретнее узнать как долго твоя программа работает...


 
Style   (2003-03-13 15:08) [134]

nikkie © -> Да пожалуй лучше отказатся от базы.. вообще. Хранить в самом файле Pointer на последнюю удаленную и перезаписывать новой... Это действительно хорошая идея.

В принципе Paradox сейчас у меня делает тоже самое.. Мне остается незаметно от глаз заказчика перевести прогу на свой формат файла.. Наверное пока лучше написать для этого компонентик.


 
Style   (2003-03-13 15:10) [135]

Leon Crom© > На одно рабочей станции уже больше 1 месяца.. Файл размеры не меняет!


 
Leon Crom   (2003-03-13 15:24) [136]

to Style (13.03.03 15:10)
я к чему веду по ходу удали пока глюки все и баги... а так ну она ведь РАБОТАЕТ... по хорошему ну хрен с ним что тормозит... мои программы тоже иногда тормозят...:)при чем гораздо существенее... заказчику объясни там в терминах что она работает в приципе быстро, а главное стабильно.... я в таких случаях ставлю гаугу и пишу круно PLEASE WAIT... прогресс бежит глаза радует, а недовольных посылай к разработчику майкросфта...


 
Style   (2003-03-13 15:29) [137]

Leon Crom © > В том то и дело что уже не Тормозит..используя Теперь я просто прыгаю по файлу Базы спомощью BookMark


 
Satirus   (2003-03-13 15:36) [138]

> Да и про безопасность ничего вы незнаете..
ЗАПОРОЖСКАЯ АЭС

СИСТЕМА ДИСТАНЦИОННОГО КОНТРОЛЯ

Информационная подсистема

Комплекс программ регистрации параметров

Руководство программиста
Руководство системного программиста
Руководство по эксплуатации
...
СОДЕРЖАНИЕ


1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ. 4
2. СОСТАВ И ХАРАКТЕРИСТИКИ КОМПЛЕКСА 5
3. УСТАНОВКА И НАСТРОЙКА КОМПЛЕКСА 8
4. РАБОТА С КОМПЛЕКСОМ 11
4.1. РАБОТА С АРХИВАТОРОМ. 11
4.2. РАБОТА С СЕРВЕРОМ АРХИВА 13
5. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ 15
5.1. СТРУКТУРЫ ДАННЫХ АРХИВАТОРА 15
5.1.1. Настроечные таблицы 15
5.1.2. Файлы данных, срезов и индексов 16
5.2. СТРУКТУРЫ ДАННЫХ СЕРВЕРА АРХИВА 18
5.2.1. Пакет запроса 18
5.2.2. Пакет ответа 19
6. СООБЩЕНИЯ ПРОГРАММ КОМПЛЕКСА 20
6.1. СООБЩЕНИЯ АРХИВАТОРА 20
6.1.1. Информационные сообщения 20
6.1.2. Предупреждения 20
6.1.3. Сообщения об ошибках 20
6.2. СООБЩЕНИЯ СЕРВЕРА АРХИВА 21
6.2.1. Информационные сообщения 21
6.2.2. Предупреждения 21
6.2.3. Сообщения об ошибках 21

...
Все, что я могу посоветовать тебе лично от себя, просто откажись от этой работы и скажи заказчику, пусть наймёт высококлассного специалиста из области работы с БД промышленного уровня.
А тренироваться на таких проектах должно быть, если не страшно, так хотя бы стыдно.

Сразу чуствуется раненая психология молодого бойца...


 
Danilka   (2003-03-13 15:38) [139]

я считаю, что надо всегда делать по-максимому красивоую и быструю вещь.

Style
Думаю, что тебе надо на самом деле уйти от БД.
Скорость, размер программы, место отведенное под данные, стабильность, прожорливость (памяти) - все это станет намного более привлекательным. Тем более что тебе, вроде, эта область более знакома чем БД.

Особенно если учесть что для твоей задачи надежность - главный фактор.
Извиняюсь, ежели где нагрубил.

Ksanka © (13.03.03 14:53)
полетишь на марс, возьми меня с собой ;)


 
Danilka   (2003-03-13 15:39) [140]

Satirus (13.03.03 15:36)
здесь, вроде-как БД и ни к чему...


 
T2   (2003-03-13 15:46) [141]

Рекомендую использовать алгоримы сжатия перед записью в таблицу.
Например использвать комп. ZipTv или VCLZip.
Полученные данные переводить в строки (или в Stream). Сжимать.
Хранить эти мелкие данные в обычной таблице.
При отображении - все поля Calk и обратное преобразование.


 
Leon Crom   (2003-03-13 15:51) [142]

ТО Danilka © (13.03.03 15:38)
эх, (со вздохом) иногда не получается быструю и красивую....
по началу все так классно здорово и прямо шикарно, но когда заказчик переносит сроки и требует проект раньше вся красота летит сам знаеш куда... главное чтоб без глюков... (хотя бы в третьем релизе)


 
KSergey   (2003-03-13 15:51) [143]

> T2 © (13.03.03 15:46)

Ну-ну


 
KSergey   (2003-03-13 15:58) [144]

> Leon Crom © (13.03.03 15:51)
> ТО Danilka © (13.03.03 15:38)
> эх, (со вздохом) иногда не получается быструю и красивую....
> по началу все так классно здорово и прямо шикарно, но когда
> заказчик переносит сроки и требует проект раньше вся красота
> летит сам знаеш куда... главное чтоб без глюков... (хотя
> бы в третьем релизе)

Мля! Я тоже так пишу свои программы, но они НЕ УПРАВЛЯЮТ ЯДЕРНЫМИ РЕАКТОРАМИ!!! Потому и требования и отношение к ним соответствующее. Ну даже если и пропадут все данные у заказчика, ну "обсудим" мы с ним этот вопрос, найдем компромисс как справиться с ситуацией - и понеслась далее. И все нормально.
Но вот после Чернобыля - все. Ничего (и никто) далее уже не несется. Вы это понимаете, в конце-то концов?!! Вот если бы автор ветки не упоминал громких слов о "ядерной безопасности" - и все нормально. Ну регистрит себе приборчик, ну поругали бы все дружно парадокс, ну потрепали бы нерадивого что книжки не читает - и все бало бы нормально. Но с такими заявочками - не смешно это, понимаете?!!


 
Satirus   (2003-03-13 16:00) [145]

2Danilka © (13.03.03 15:39)
да это я просто первый попавшийся документ открыл, чтоб опровергнуть аксиому:)
а БД как-раз очень и к чему, только нет у меня желания что-то кому-то доказывать.

Есть только пожелания к исполнителю, чтоб потом совесть автора не замучала на старости лет...


 
Style   (2003-03-13 16:04) [146]

Satirus >> Где ты это откопал..
Моя программа это лишь маленькая часть этого комплекса.. ЕЕ также и настраивают специалисты..

(хотя бы в третьем релизе)>> Это уже версия 7.4.4
Я начал с 7 ой.. До меня ее делали на Visal Basic


 
Style   (2003-03-13 16:08) [147]

KSergey © >> Вопервых это не Ядерный реактор... Это так назывемый Патчук...

И это не U235 в чистом виде это Раствор!


 
Style   (2003-03-13 16:09) [148]

Я бы и не взялся за такую хрень.. :)


 
Satirus   (2003-03-13 16:11) [149]

>Но вот после Чернобыля - все.
Кстати, если кто не в курсе, Чернобыль полетел по вине вояки, который решил провести "уникальный" эксперимент на рабочем реакторе. И несмотря на все уговоры технарей, он его таки провёл...
Программисты там не причём. Софт, который там до сих пор используется, ещё ни разу не давал серьёзного сбоя с момента его установки (задолго до аварии) и сейчас используется для мониторинга различных показателей ЯРБ (ядерной и радиационной безопастности). Говорю это, как человек, который работает в этой конторе, которая уже многие годы занимается разработкой аппаратной и програмной части для поставок и внедрения на атомные станции. Контора образовалась в результате распада института ядерной физики в г. Киев.


 
KSergey   (2003-03-13 16:26) [150]

> Satirus (13.03.03 16:11)
> Кстати, если кто не в курсе, ...
> Программисты там не причём.

На всякий случай замечу, что я не имел в виду программистов. Просто к слову.
А по поводу самого поста Satirus (13.03.03 16:11) сразу вспоминается Выбегалло... Но это опять же так, к слову.


 
Style   (2003-03-13 16:28) [151]

Еще раз о моей задаче..

Так что База Данных или Файл??

Как Test вариант программы начал делать ее на Paradox..

1. Получаемая информация..
С определенным интервалом времени программа получает данные от Прибора.
4-ре спектра по 256 Double значений.
2. 4 спектра умножаются на матрицу дабы немного сгладить исходный образец.
3. Производятся математические вычисления. И подается сигнал прибору.
4. в результате появляется около 400 констант на данный отрезок времени.

Все это я записываю в БД!

Структура базы данных. Как планировалось с Мемо полями!

@DateTime datetime,
@Er1 int, - ошибка датчика 1
@Er2 int, - ошибка датчика 2
@Er3 int, - ..
@Er4 int - ..
@Const Memo - Константы
@U2351 float
@U2352 float
@U2353 float
@U2354 float
@Data1 - Memo - 512 Double значений (исходный, сглаженный спектр)
@Data2 - Memo - 512 Double значений (исходный, сглаженный спектр)
@Data1 - Memo - 512 Double значений (исходный, сглаженный спектр)
@Data1 - Memo - 512 Double значений (исходный, сглаженный спектр)

Мемо поля вызаваль попросту крах всей DB
пришлось поступить так

base.db
@DateTime datetime,
@U2351 float
@U2352 float
@U2353 float
@U2354 float
@Er1 int, - ошибка датчика 1
@Er2 int, - ошибка датчика 2
@Er3 int, - ..
@Er4 int - ..
@ID float

const.db

@ID
@double1, float
@double2, float
@double3, float
...
@double254, float


const2.db

@ID
@double1, float
@double2, float
@double3, float
...
@double254, float


memos.db

@ID
@double1, float
@double2, float
@double3, float
...
@double254, float

В memos.db занашу 8 строк 4 спектра и 4 сглашенных спектра..


Перемещаюсь по базе с помощью BookMark?? Скорость летает!!

Так что Файл или БД

Если БД то какая должнабыть структура что бы все было быстро подумайте сами!


 
Satirus   (2003-03-13 16:51) [152]

2KSergey © (13.03.03 16:26)
Согласен. Мой пятак в этой ветке лишний.


 
REA   (2003-03-13 17:00) [153]

>Уже в течении полугода пишу программу ядерной безопасности.

Мне тоже как то не по себе стало, но все же: в чем эта самая "ядерная безопасность"? Если спрогнозировать попадание осколков в кремль - это одно, если моделировать ядерный взрыв или там принимать решения в реальном времени это другое.
Для серьезных задач ни Delphi ни Paradox ни Windows не подходят...


 
Satirus   (2003-03-13 17:08) [154]

2REA © (13.03.03 17:00)
>Для серьезных задач ни Delphi ни Paradox ни Windows не подходят...
Ты забыл ещё добавить:
"Для серьезных задач ни Delphi, ни Paradox, ни Windows, ни форум Мастаков Дэлфи "Потрепаться" не подходят..."


 
Style   (2003-03-13 17:10) [155]

REA © >> Эта не такая ядерная безопасность как себе сразу все вообразили.. Это не ядреный реактор.. Это небольшой патчук куда вливается раствор. И цель всего комплекса (и аппартной части тоже) запретить переполнение патчука. дабы эта хрень не вышла наружу...


 
Style   (2003-03-13 17:15) [156]

"Потрепаться" >> это не моя инициатива! Вообще я вся ветка была посвещена одной проблемме.. До которой народ так и не догнал..

Почему я не использую SQL??

потому что мне нужен быстрый доступ к информации..
Все предлажения и структуры базы данных были не существенны для моей проблеммы.. (кроме создания своего формата файла)

Представьте если я буду делать Update.. Его придется делать не
одной записи а к примеру 1000 а то и более. (если их раскидать как строки Мемо)

Какая тут будет Скорость???


 
Anatoly Podgoretsky   (2003-03-13 17:28) [157]

Ну вот опять у тебя народ виноват, интересно когда же будешь ТЫ


 
Style   (2003-03-13 17:39) [158]

Anatoly Podgoretsky © >> Товарищь модератор.. Откройте глаза!
Я не просто так не использую SQL.. Вообще какой формат БД не был наверное быстро не будет Если только Мемо поля не использовать! (Но мемо поля - это глюк)..

Если мне предлагают такую структуру.

Как мемо можно описать в БД подругому??

@Memo =

@ID (Master Detail)
@StrID номер строки в Мемо
@String строка из мемо..

Если у меня этих строк 1000 то мне придется делать 1000 Update!!
Какая тут будет скорость?? Подумайте люди!



 
Anatoly Podgoretsky   (2003-03-13 17:43) [159]

Style (13.03.03 17:39)
Я к тебе не как модертор обращаюсь, но у тебя на протяжении всей ветки только другие виноваты, ну такие плохие парни.


 
Satirus   (2003-03-13 17:44) [160]

Это тоже самое, что винить топор в том, что с помощью его нельзя точно также аккуратно вырезать заготовки с фанеры, как и с помощью лобзика.
Вместо того, чтобы усовершенствовать свое умение владением топора, лучше освой работу с лобзиком или попроси того, кто уже умеет и владеет.



Страницы: 1 2 3 4 5 6 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.83 MB
Время: 0.024 c
1-6461
cult
2003-03-24 12:09
2003.04.03
Сохранение контента RichEdit


8-6629
Михаил
2002-12-29 16:52
2003.04.03
3Д ГРАФИКА


14-6795
_Nicola_
2003-03-17 16:49
2003.04.03
Супер!! Жириновский и ...


8-6613
ZEE
2002-12-29 22:33
2003.04.03
Рисование любым цветом на DC


1-6507
Женя
2003-03-24 17:23
2003.04.03
функция





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский