:: Visual Foxpro, Foxpro for DOS
копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
Всем доброго дня!

Прошу совета и помощи в таком вопросе. Есть два приложения, товары и услуги. Заказчики могут быть разные, но многие присутствуют в обеих таблицах. В моем представлении это должна быть общая таблица.
Я объединил их в одну, сделал ее свободной, не входящей в базы данных приложений, редактирование только из одного приложения. Очень не идеально получилось.

Есть идея сделать 2 абсолютно идентичных таблицы для каждого приложения в отдельности, при этом редактировать в одном приложении, а при сохранении как-то обновлять сразу и вторую.
Посоветуйте, как это правильно организовать?
Ratings: 0 negative/0 positive
Re: копирование таблиц
AndyNigmatec

Сообщений: 1551
Откуда: Волгоград
Дата регистрации: 28.06.2015
Доброго!

Толком не понятно - кто на ком стоял (с)?

Если приложения разные и работают со своими отличающимися базами - то занафига тогда объединение городить?

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

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

Такая вот имха.
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
AndyNigmatec
Доброго!

Если приложения разные и работают со своими отличающимися базами - то занафига тогда объединение городить?
базы разные, но заказчики одни и те же могут быть, вот поэтому

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

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

Вот в этом суть моего вопроса. Можно ли как-то организовать синхронизацию, прям вот сразу же после изменений?
Ratings: 0 negative/0 positive
Re: копирование таблиц
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
DmitryKn
Вот в этом суть моего вопроса. Можно ли как-то организовать синхронизацию, прям вот сразу же после изменений?

Городить триггер между разными БД, ... тоже так себе развлечение.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
PaulWist
DmitryKn
Вот в этом суть моего вопроса. Можно ли как-то организовать синхронизацию, прям вот сразу же после изменений?

Городить триггер между разными БД, ... тоже так себе развлечение.

но вот если поразвлечься, то как бы это примерно могло выглядеть? Отдельно взятая свободная таблица уж очень доставляет



Исправлено 1 раз(а). Последнее : DmitryKn, 02.11.22 13:11
Ratings: 0 negative/0 positive
Re: копирование таблиц
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Дано:

Спр1 (ID primary key, Name)
Спр2 (ID primary key, Name)

Предположим, что редактирование возможно только в Спр1.

Тогда, для Спр1 пишем 3 триггера на Insert, Update, Delete/

И не забываем про PK-FK на данные Спр1, Спр2


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
А можно как-то целиком данные Спр1 перенести в Спр2 ? Что бы не разбираться , что такое триггер на Insert и как и где его писать..
Что то вроде скопировать таблицу Спр1 после редактирования целиком поверх Спр2. При том, что таблица Спр2 может быть открыта в приложении 2



Исправлено 1 раз(а). Последнее : DmitryKn, 02.11.22 13:53
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
PaulWist
Дано:
Спр1 (ID primary key, Name)
Спр2 (ID primary key, Name)

Предположим, что редактирование возможно только в Спр1.

Тогда, для Спр1 пишем 3 триггера на Insert, Update, Delete/

И не забываем про PK-FK на данные Спр1, Спр2

Т.е. , я, например, добавляю запись в Спр1, ID автоинкремент, потом, например, в методе save открываю таблицу Спр2 из базы 2 и добавляю туда эту запись, ID, наверное, уже не автоинкремент должен быть, я правильно понимаю
про триггер на Insert ?
РК-FK расшифруйте, плиз, для неуча.
Ratings: 0 negative/0 positive
Re: копирование таблиц
akvvohinc

Сообщений: 4202
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Я объединил их в одну, сделал ее свободной, не входящей в базы данных приложений, редактирование только из одного приложения. Очень не идеально получилось.
В чём конкретно неидеальность, с чем проблемы?

Цитата:
Отдельно взятая свободная таблица уж очень доставляет
Вы никогда не писали многопользовательских приложений на основе свободных таблиц?
А в чём был смысл выделения этой таблицы, почему её нельзя было оставить в одной из двух БД?
Ratings: 0 negative/0 positive
Re: копирование таблиц
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
akvvohinc
А в чём был смысл выделения этой таблицы, почему её нельзя было оставить в одной из двух БД?
Работать с 2-мя БД в 2-х приложениях.
Или объединить эти 2 БД в одну
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
akvvohinc
Цитата:
Я объединил их в одну, сделал ее свободной, не входящей в базы данных приложений, редактирование только из одного приложения. Очень не идеально получилось.
В чём конкретно неидеальность, с чем проблемы?
в какой-то момент где-то некорректно закрывается, видимо. В общем, глюки бывают, не часто, но бывают, да и вне проекта таблица раздражает, негармонично.

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

Цитата:
А в чём был смысл выделения этой таблицы, почему её нельзя было оставить в одной из двух БД?

Т.е. оставляю только Спр1 в приложении 1, из приложения 2 открываю?
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
хоть какой-то пример может кто-то дать?
Ratings: 0 negative/0 positive
Re: копирование таблиц
AndyNigmatec

Сообщений: 1551
Откуда: Волгоград
Дата регистрации: 28.06.2015
Примера дать не могу поскольку dbc практически не пользовал, но кстати - вы же сами только что вариант придумали вполне подходявый (на мой взгляд) - оставить этот справочник только в одной базе. В этом случае только придется каждому из приложений открывать при работе сразу обе БД - но не думаю что это проблема (правда не помню тонкостей использования dbc).

В свое время (черти когда уже))) пробовал переводить приложение с работы со свободных dbf на dbc - и тогда мне такая реализация БД показалась крайне сомнительной, а затем вскорости когда сия дибисЯ при очередном отключении света жестко сломалась - сразу и насовсем отказался от ее использования, перешел на стороннюю БД - и это оказалось куда проще, надежней и удобней.



Исправлено 2 раз(а). Последнее : AndyNigmatec, 02.11.22 16:51
Ratings: 0 negative/0 positive
Re: копирование таблиц
akvvohinc

Сообщений: 4202
Откуда: Москва
Дата регистрации: 11.11.2008
DmitryKn
Т.е. оставляю только Спр1 в приложении 1, из приложения 2 открываю?
Почти так.
Вы могли вообще ничего не делать с базами данных этих двух приложений, но вести (ввод/корректировка/удаление) Спр1 в какой-то из двух БД из обоих приложений.



Исправлено 2 раз(а). Последнее : akvvohinc, 02.11.22 18:32
Ratings: 0 negative/0 positive
Re: копирование таблиц
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
akvvohinc
DmitryKn
Т.е. оставляю только Спр1 в приложении 1, из приложения 2 открываю?
Почти так.
Вы могли вообще ничего не делать с базами данных этих двух приложений, но вести (ввод/корректировка/удаление) Спр1 в какой-то из двух БД из обоих приложений.

Спасибо за совет, попробую внедрить )
Ratings: 0 negative/0 positive
Re: копирование таблиц
akvvohinc

Сообщений: 4202
Откуда: Москва
Дата регистрации: 11.11.2008
DmitryKn
хоть какой-то пример может кто-то дать?
Пример многопользовательской работы с таблицами?
Этому посвящены главы практически во всех книгах по Фоксу.
Это довольно значительный объем знаний (умений), и надо научиться разбираться во всем этом самому (спрашивая здесь, если что будет непонятно).
"Хоть какой-то пример" здесь вряд ли поможет - шаг влево, шаг вправо, и вы опять в тупике, если будете заниматься лишь копипастом вместо того, чтобы самому разобраться в сути дела.

Впрочем, это лишь моё мнение, как вам следует поступить.



Исправлено 1 раз(а). Последнее : akvvohinc, 02.11.22 18:32
Ratings: 0 negative/0 positive
Re: копирование таблиц
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Это да - про совместное использование двумями приложениями (одного характера, одним экзешником, от совершенно разных юзеров) можно много копий сломать по поводу:
- сделаем общую таблицу, и сделаем в программе (она же для обоих юзеров одна) механизм блокирования, типа RLOCK (причем, даже не в целевой табличке, а в служебной, в которой только поле ИД записи, ну, имя таблички, имя блокировки мб...)
- или клонируем табличку для обоих (многох) юзеров и делаем процедуру (алгоритм!) их "синхронизации"

я за вар.1
Ratings: 0 negative/0 positive
Re: копирование таблиц
Перминов Игорь

Сообщений: 1591
Откуда: Красная Орловка
Дата регистрации: 16.09.2001
Добра всем!
Нужно разделить "мух" от "котлет".
1. Определить какая информация является общей для 2-х приложений - назовем это "СПРАВОЧНИКИ"
2. Определить какая информация является уникальной для каждого из 2-х приложений - назовем это "ДАННЫЕ"
СПРАВОЧНИКИ храним в общедоступном месте
ДАННЫЕ в месте с приложениями
И нечего "огород городить" с копированием туда - сюда


------------------
Без коментариев..
Ratings: 0 negative/2 positive
Re: копирование таблиц
Alsim

Сообщений: 3636
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Перминов Игорь
Нужно разделить "мух" от "котлет".
Это правильно, но если идея объединить справочники, например поставщиков возникла очень потом, и уже куча документов по каждому предприятию заведены, а ID в каждом справочнике свои?
Выкрутился тогда именно синхронизаций по ИНН поставщиков. Так как новые поставщики появлялись не так часто, то вполне прокатило.
Ratings: 0 negative/0 positive
Re: копирование таблиц
Владимир Максимов

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Прежде, чем вообще что-то делать, надо ответить на простой вопрос: зачем? Какую задачу Вы хотите решить?

Если я правильно понял, то речь идет о том, что есть два независимых приложения, которые продали одному и тому же заказчику. И? Что даст наличие общего справочника в этих двух разных приложениях этому самому заказчику?
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 26 (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика