powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наша первая БД. описание форм через скрипты.
25 сообщений из 27, страница 1 из 2
наша первая БД. описание форм через скрипты.
    #32495702
UncleMike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мы пишем интерфейс рабоды с БД. это наш первый опыт создания подобных проектов и поэтому, вообще говоря, мы - ламаки. но мы стараемся.

задача вообщем достаточно небольшая - ~30 таблиц.

мы делаем библиотеку, которая будет подключаться через MapInfo (это приложение будет вызывать соотв. ф-ции при выборе пользователя) и содержать формы для изменения данных БД

мы уже как бы делаем версию 2 (т.е. мы уже перепроектируем)

в первой версии у нас были 2 класса DBMan и ScreenMan

по сути для каждой таблицы у нас соответствовала структура в с++ с соответствующими полями.

жизнь была прекрасна - мы начали кодить.

как только я стал писать 2ю форму стало ясно, что формы однотипные и писать 30 раз одно и тоже меня фиг заставишь.

идея перепроектирования назрела - мы стали продумывать новую структуру.

возможно мы бросились в другую крайность:

теперь у нас все формы описываются соответсвующими скриптами (предположительно небольшими и простыми):

в скриптах присутствуют такие сущности:

SQL запрос, логическая переменная, и виз. компоненты (впрочем далее мы объединили первые 2 объекта)

как это примерно выглядит? скажем StringGrid (виз. компонент типа таблица) связан с соответсвующим запросом (связь описывается в скрипте)

у запроса есть параметр - текущая выделенная строка (тут у нас уже возникают вопросы, что строка должна определяться по id, а не по номеру)
каждый столбец запроса связан с лог. переменной, которая связана с Edit'ом или ComboBox'ом. при изменении текущей строки SGrid посылает сообщение запросу. Запрос меняет связанные по столбцам лог. переменные, а они меняют Edit'ы. таким образом в Edit'aх появляется данные текущей выбранной записи.

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

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

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

я думаю, что мы ничего нового не открыли. работаете ли вы, профи, с чем-то подобным или это дохлый номер и нормальную систему (компактную и не сильно ограничивающую построить почти нереально) (и проще делать как-то по другому. тогда как? - дайте тогда плз ссылку на книжку (лучше электронную))

заранее благодарен.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32495849
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наследование используйте, наследование.
Все что есть одинакового во всех формах выделяйте в базовую, все что отличается в наследники. Оно для того и придумано было.

На чем пишете клиента? На C++? У меня уже написан аналогичный клиент на Дельфях. Если интересно вышлю доку на e-mail
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32496365
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это точно, наследование спасет вас.
И никаких скриптов - дохлый номер, поймете, когда в конкретной форме захочется что-то поменять.

-- Tygra's --
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32496652
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне недавно дали сопровождать проэкт в котором отчетность реализована примерно так как Вы описали. Шаблоны отчетов действительно очень простые и продвинутые пользователи запросто могут подогнать их под свои нужды. Модуль построения отчетности написан на Си (без плюсов) и изначельно был довольно непростым, но современи его появления появилась масса новых отчетов, логика которых не вписывалась в стандартную схему - соответственно сложность модуля построения отчетов возросла в нескоько раз. Но с этим можно как-то мириться, для меня главная проблема в другом. Если отчет слегка видоизменяется - я не имею права просто взять и выставить на всех клиентов патч с новым отчетом, потому что у мня нет уверенности, что он у всех одинаковый, что пользователи не вводили в нем свои индивидуальные настройки.
Вобщем если данную отчетность необходимо синхронизировать по многим клиетам - то через пару лет подобная система будет в хаосе.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32497364
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
правильно ли я понимаю - создается некая система генерации экранных форм?
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32498676
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickНа чем пишете клиента? На C++? У меня уже написан аналогичный клиент на Дельфях. Если интересно вышлю доку на e-mail

И мне доку, плиз.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32498732
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вышли мне письмо
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32498822
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Old Nick

Отправил
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32499471
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем форму и класс на каждую таблицу ?

может лучше универсальный грид ?

http://www.lepsik.com/soft/hgb.gif
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32499541
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого Аксесс есть
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32501258
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал, весьма познавательно! У мнея как раз такая же задача стоит, сделать объектную модель описывающую реляционную БД с последующей генерацией интерфейса.
Может на эту тему еще что-нибудь можно почитать?
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32501343
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал, весьма познавательно! У мнея как раз такая же задача стоит, сделать объектную модель описывающую реляционную БД с последующей генерацией интерфейса.
Может на эту тему еще что-нибудь можно почитать?


Можно. Ищи Clarion. Они так себе новичков - дурачков заманивают. Я до Delphi на нем сидел. Clarion 2 - там даже доки .pdf все на русском.

Слушай Old Nick - я про наследование. Я так и делаю. На Дельфях. Если хочешь, рабочий проект брошу - включая ErWin схему (база, правда, FireBird).

Все ОЧЕНЬ просто.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32501957
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mv

И мне ErWin схему, плиз. Кажется повторяюсь
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32502059
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И мне если не сложно, замыльте
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32509268
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай напомню о своём междумордии sss1024.narod.ru
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32509670
Героиныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to mv :
Можно мне тоже проект посмотреть плиз!
dagsco@mail.ru
->главное не напороть косяков!<-
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32509802
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто хочет посмотреть описание, мыльте мне, отвечу всем и вышлю
В этот топик заглядываю редко, потому редко отвечаю.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32509830
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dik76

>Может на эту тему еще что-нибудь можно почитать?

Даже не знаю что подсказать. Есть система Nexus на сайте
www.arbinada.com

2 mv

вышли, интересно будет сравнить

2 1024

Очень хорошая идея. Но без очень сложной внутренней реализации не обойтись. В моем проекте важную роль занимает обработка кешированных данных. Этого у тебя не сделать. Еще важный момент проверка данных на валидность перед сохранением. Можно конечно заставить сервер этим заниматься, но лично мне это не нравится.
В моей системе в будущем почти так и будет, но я не закрываю возможность унаследоваться и сделать кастомную форму
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32509879
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Old Nick
--Сообщений: 167 Для этого Аксесс есть

а ты мою картинку смотрел ? И ты Access тоже продаешь ?
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32510032
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Lepsik

Смотрел, но ничего не понял :-)
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32510114
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Old Nick

Что имеется ввиду под "обработка кешированных данных" я не очень понял, касательно проверки валидности данных перед вводом:

в примере БД в дистрибутиве (аналог northwind) у каждого продукта есть english_name и product_name обязательное к заполнению, соответственно при вводе нового продукта сервер проверит заполнение полей и если название продукта не заполнено запись не сохранит а пользователь на клиенте получит вполне вразумительное сообщение "product name can't be empty" - см. картинку во вложенном файле.

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

А какие есть причины для выноса логики на клиент? Секьюрность падает, администрирование усложняется...
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32510121
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картинка какая-то кривая получилась
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32510476
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 1024

>Что имеется ввиду под "обработка кешированных данных" я не очень понял,
>касательно проверки валидности данных перед вводом:

пример из практики. В документе нужно отображать для товарной позиции
количество, цену и сумму.
когда вытаскиваешь данные с сервера, сумма посчитана, а вот если поменять цену или количество, нужно сумму пересчитать.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32510584
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Old Nick

Ну, собсн, к кешированию это никакого отношения не имеет. И не всегда требуется (сумма-то всё равно будет расчитана в соответствии с заданными правилами при сохранении изменений). Но дополнительные удобства это лучше чем их отсутствие. Вероятно такая возможность будет добавлена в следующей версии.
...
Рейтинг: 0 / 0
наша первая БД. описание форм через скрипты.
    #32516526
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон за задержку с ответом - отпуск...

Млин, интернет стал медленный после отпуска - дальше не куда... Сисадмина поймаю - убъю.

Короче: сил и средств отправить проект хватило только по адресу yuanton@yandex.ru

Потом мой интернет сдох.

Всем заинтересованным просьба писать ему.

2 Anton Yurchenko <yuanton@yandex.ru>; : Не обижайся за нагрузку, я тебе мылил 1,5 мегабайта полчаса...

----------------
Да: ErWin - проект для FireBird приаттачиваю к посту. А то тут не которые говорят про ограничения ErWin при работе с FireBird...

И так - часть 1.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наша первая БД. описание форм через скрипты.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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