powered by simpleCommunicator - 2.0.47     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / О совместимости БД и клиента
25 сообщений из 52, страница 2 из 3
О совместимости БД и клиента
    #40091736
Last of 1 as
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопросы какие-то... из глубины веков...

и эти люди еще учат тех же 1с-ников ковырять в носу
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40091740
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last of 1 as
и эти люди еще учат тех же 1с-ников ковырять в носу
Кажется, в 1с нельзя было произвольно альтерить таблицы, PK или просто индексы переставлять. Если так, то о чём разговор? Напоминаю, вопрос о том, чтобы клиента отвязать от базы настолько, насколько можно.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40091741
Last of 1 as
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
Last of 1 as
и эти люди еще учат тех же 1с-ников ковырять в носу
Кажется, в 1с нельзя было произвольно альтерить таблицы, PK или просто индексы переставлять. Если так, то о чём разговор? Напоминаю, вопрос о том, чтобы клиента отвязать от базы настолько, насколько можно.


а у вас можно?

прямо вот так, любой хрен с горы может зайти и разворотить всю базу?

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

Это неправильный вопрос. Правильный - "возможно ли не дублировать декларативную часть фронтенда на клиенте и если да - как это скажется на проекте в целом?"

Ответ: опыт показывает, что в этом случае лекарство хуже болезни. Попытки "не дублировать" приводят к тому или иному монстру, которым авторы очень гордятся, напрочь игнорируя тот факт, что производительность у него ниже плинтуса, трудоёмкость создания форм выросла раза в три по сравнению с вариантом "дублировать", а трудоёмкость поиска и исправления ошибок - раз в десять.

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

Это как раз вопрос прямизны рук.

tunknown
Эти настройки часто программисту недоступны

Для программиста в его системе нет ничего недоступного.

tunknown
Ещё один вопрос- часто с базы тянутся все поля, даже если у пользователя часть их скрыта. Поскольку .visible колонке выставить проще, чем из запроса исключать поле.

Ну что я могу сказать. Программистами иногда работают люди, которых проще и выгоднее уволить, нежели научить. Если программист, не считающий себя начинающим, не пришёл хотя бы на собственном опыте к правилу "явно указывать все необходимые поля и не указывать лишнего" - стоит поберечь свои нервы от работы с ним.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092461
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown,

У меня клиент отвязан от базы, полностью.
Ничего не умеет, кроме:

1)строить главное меню
2)менять структуру БД
3)собирать формы рантайм
4)выполнять скрипты
4)формировать отчеты

Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ).
Обновить "программу" = закачать в БД новые данные.
Первый клиент обнаруживший обновление скачивает его, и обновляет структуру БД.

Есть конечно вероятность коллизий (когда обновленная "программа" уже в БД(программ), а структура БД(данных) еще не обновилась), но тут все зависит от прямых рук

Возможен откат на старые версии.
А также "любой хрен с горы может зайти" с соответствующими правами и добавить свою локальную логику, которая не будет обновляться при обновлении основной "программы", или добавить в основные таблицы нужные ему поля.
Ясно, что эти таблицы и поля основная "программа" не знает, нужно их скриптом при сборке формы или формировании отчета прописывать.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092489
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager
Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ).
Можно ли физически изменить таблицу в БД и не поменять описание формы? Если можно, то как можно узнать, что форма не соответствует таблице? Без привлечения системы контроля версий, конечно.

Скрипты на языке, поддерживаемом базой или поддерживаемом клиентом?
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092497
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
vill_ager
Описание форм (оно же описание таблиц БД(данных)) и скрипты хранятся в БД (программ).
Можно ли физически изменить таблицу в БД и не поменять описание формы? Если можно, то как можно узнать, что форма не соответствует таблице? Без привлечения системы контроля версий, конечно.

Скрипты на языке, поддерживаемом базой или поддерживаемом клиентом?


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

Форма может при старте проверять критические параметры структуры таблицы, и в зависимости от этого подстроиться (если написать скрипт). Но я не сталкивался с такой необходимостью ни разу.

Скрипты клиента на питоне (2.6-2.7)

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

В сети где-нибудь лежит?
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092529
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
vill_ager
бывают же поля в таблицах, которые не нужны в формах.
А если поменять в таблице то, что используется в формах? Будет ли ошибка?

В сети где-нибудь лежит?


Поменять как? Конретный пример? Сломать можно что угодно :)
penta.by
И тут можно глянуть
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092537
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех приветствую...
Хочу свой опыт расказать...
В моей ИС естественно постоянно сталкиваюсь с проблемой разногласий клиентской и серверной части.(учитывая ,что у меня оракл ,это означает зависимость не только полей таблиц но и pl/sql объектов (пакетов функций,процедур)
Модульная форма-контейнер ,что будет исполняться опционально(перед инициаализацией) может прочитать и выполнить СУБД sql скрипты что храняться в дереве её зависмостей.(Надо не забывать их добавылять в CLOB поля)
1.Скрипт pl/sql типа
Код: plsql
1.
2.
alter table goods add barcode varchar2(32) unique;
alter table documenttitles modify summsell number(12,4);


или
Код: plsql
1.
CREATE OR replace view ......


2.Сам pl/sql пакет (функцию,процедуру)/
3.Триггер

В случае правильной организации(незабывании добавлять нужный скрипт и тело pl/sql в ИС зависимость формы контейнера много проблем решается.

В случае когда у меня было много лет назад хардкодное решение ИС проблему в принципе никак решить координально не удавалось.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092541
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al
Хочу свой опыт расказать...
Модульная форма-контейнер ,что будет исполняться опционально(перед инициаализацией) может прочитать и выполнить СУБД sql скрипты

Перевожу на русский: подключение очередного клиента имеет реальный шанс обрушить всю систему. Автора это не особо тревожит потому, что ей пользуются два с половиной человека.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092619
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager
Поменять как? Конретный пример? Сломать можно что угодно :)
Были поля f1 int,f2 date,f3 varchar. Стали поля f10 float,f20 time,f3 varchar. В MySQLWorkbench все изменения прописали. Клиент после этого запустится?

vill_ager
Там только видеоинструкция для конфигуратора, документации для программиста не увидел.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092621
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ответ: опыт показывает, что в этом случае лекарство хуже болезни. Попытки "не дублировать" приводят к тому или иному монстру, которым авторы очень гордятся, напрочь игнорируя тот факт, что производительность у него ниже плинтуса, трудоёмкость создания форм выросла раза в три по сравнению с вариантом "дублировать", а трудоёмкость поиска и исправления ошибок - раз в десять.
Верю вашему опыту, но не оставляю надежды.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092631
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
Были поля f1 int,f2 date,f3 varchar. Стали поля f10 float,f20 time,f3 varchar. В MySQLWorkbench все изменения прописали. Клиент после этого запустится?


Запустится.

Ошибки не будет - поля формы отсутствующие в БД в update/insert не включаются.

Но вообще сценарий немного другой, без Workbench-ей:
Для изменения структуры в описание добавляются поля, они переносятся в БД (на стадии разработки - по команде, на проде - автоматически при обновлении "программы")

Вообще такие изменения бывают в основном на стадии проектирования. Если такое в эксплуатации вылезает - значит изначально что-то неверное сделано.

Инструкции нет, т.к. платформа используется в узком кругу.
Если есть интерес - могу написать, в стиле вопрос-ответ.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092645
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vill_ager

Запустится.

Ошибки не будет - поля формы отсутствующие в БД в update/insert не включаются.
Правильно ли я понимаю, что из базы поднимаются все данные через что-то типа
Код: sql
1.
select * from table


А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия?
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092647
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
Правильно ли я понимаю, что из базы поднимаются все данные через что-то типа
Код: sql
1.
select * from table


А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия?

Так и есть. Спрашиваем датасет данные поля, если его нет - он вернет пустую строку.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092691
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown
Правильно ли я понимаю, что из базы поднимаются все данные через что-то типа
Код: sql
1.
select * from table


А дальше происходит привязка полей датасета к полям формы, которая просто игнорирует несоответствия и отсутствия?


Опрашиваются метаданные table (макротипа - именованной схемы данных в метаданных), создаются (достаются из кеша) датасет и форма на основе метаданных, генерируется (достается из кеша) select (ы) с учетом прав пользователя.
При изменении метаданных БД синхронизируется с метаданными.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092730
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos
Опрашиваются метаданные table (макротипа - именованной схемы данных в метаданных) , создаются (достаются из кеша) датасет и форма на основе метаданных, генерируется (достается из кеша) select (ы) с учетом прав пользователя.
При изменении метаданных БД синхронизируется с метаданными.
Что такое метаданные таблицы в вашем понимании? На примере sql сервера можете объяснить? Я просмотрел три pdf документации на вашем сайте- выглядит красиво, но никаких технических особенностей не видно. Я интересуюсь как разработчик, а не как внедренец какой либо готовой системы.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092754
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown,

Я думал на сайте есть Руководство разработчика ВИПРОС, оказалось уже нет (я там не командир).
Есть документация полная.
Например.
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092758
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092759
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092761
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092764
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно обратиться в ААУК и получить документацию (я так думаю)
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092795
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Если я правильно понимаю картинку "Метаструктура", то это всё таблицы конфигурации. Если внести какое либо существенное изменение в физические таблицы с данными на mssql, то настройки перестанут отражать действительность и ничего поднять из кеша не получится. Предполагаю, перегенировать автоматически тоже не выйдет, т.к. слишком много в этих таблицах дозаведённого вручную, чего нет в самих таблицах и их связях. Впрочем, это один из видов стандартного подхода, где многочисленные ручные настройки обязательно должны где-то лежать в данных- захардкоденные на формах или в настроечных таблицах в базе.

Применяете ли вы логику выборок во view/процедурах или только таблицы?
...
Рейтинг: 0 / 0
О совместимости БД и клиента
    #40092883
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown
ViPRos,

Если я правильно понимаю картинку "Метаструктура", то это всё таблицы конфигурации. Если внести какое либо существенное изменение в физические таблицы с данными на mssql, то настройки перестанут отражать действительность и ничего поднять из кеша не получится. Предполагаю, перегенировать автоматически тоже не выйдет, т.к. слишком много в этих таблицах дозаведённого вручную, чего нет в самих таблицах и их связях. Впрочем, это один из видов стандартного подхода, где многочисленные ручные настройки обязательно должны где-то лежать в данных- захардкоденные на формах или в настроечных таблицах в базе.

Применяете ли вы логику выборок во view/процедурах или только таблицы?


Ну,
1. Что бы иметь возможность поменять данные в таблицах метаданных надо иметь на это права.
Там жесткие правила везде и любые изменения данных заставляют на выходе иметь формально работающую прикладную систему.
2. Если кто-то решил изменить структуру метаданных, удалить и т.д. вред нанести умышленно, то обычно с этим бороться сложно, хотя всегда можно восстановить бекап или указать альтернативные пути.
3. Кеш - вспомогательная штука для повышения производительности (иногда наоборот мешает и приходится очистить), если кеш не согласуется с метаданными, то он игнорируется и замешается сгенерированными объектами.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / О совместимости БД и клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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