Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Общие справочники для разных бд / 9 сообщений из 9, страница 1 из 1
09.04.2007, 11:03
    #34446682
drunk2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
Есть бд mssql 2000. Предприятие разделилось на несколько. Создал несколько бд для каждого предприятия. Сначала справочники были одинаковые, сейчас получается зоопарк тк в одну бд вносят контрагента, в другую нет или под другим именем и тд. Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех предприятий. Синхронизировал справочники, создал в одной бд тригера INSTEAD OF INSERT, UPDATE в других запретил редактирование. Во всех таблицах поля с IDENTITY. Но не учел, что SET IDENTITY_INSERT:
Permissions
Execute permissions default to the sysadmin fixed server role, and the db_owner and db_ddladmin fixed database roles, and the object owner.
Юзерам права не дам. Как быть ?
...
Рейтинг: 0 / 0
09.04.2007, 12:22
    #34446993
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
drunk2Как быть ?
Посмотреть в сторону паттернов интеграции.
http://enterpriseintegrationpatterns.com
http://www.books.ru/shop/books/479716
...
Рейтинг: 0 / 0
09.04.2007, 20:37
    #34448501
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
drunk2Юзерам права не дам. Как быть ?
Теперь уже хороших рецептов нет. Надо было сразу писать базу так, что бы она могла работать с несколькими предприятиями.
==========
Хотя... Какой смысл вести одинаковых контрагентов для разных предприятий? Ну и пусть каждое из них заводит себе тех, которыв ему нужны.
...
Рейтинг: 0 / 0
09.04.2007, 21:31
    #34448569
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
Cat2 drunk2Юзерам права не дам. Как быть ?
Теперь уже хороших рецептов нет. Надо было сразу писать базу так, что бы она могла работать с несколькими предприятиями.
==========
Хотя... Какой смысл вести одинаковых контрагентов для разных предприятий? Ну и пусть каждое из них заводит себе тех, которыв ему нужны.
А целостность?
...
Рейтинг: 0 / 0
11.04.2007, 18:51
    #34454100
strizh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
>Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех
предприятий.
Я такое делал. В БД PostgreSQL для каждого юрлица создается своя схема, например, roga для "ООО Рога", куда пихаются таблицы с данными, например, складскими документами, а общие справочники, например, справочник фирм, остаются в схеме public.
Тогда при входе юзера с "ООО Рога" делаем
set search_path=roga,public;
и при запросе
select * from "Складские документы"
имеем свои документы, а при запросе
select "Складские документы".*, "Контрагенты".name from "Складские документы", "Контрагенты" where ...бла.бла.бла
имеем связку своих документов и общего справочника фирм.
Такой подход очень удобен.
Ясно дело, что можно именовать таблицы и так:
roga."Складские документы"
public."Контрагенты"
...
Рейтинг: 0 / 0
11.04.2007, 19:56
    #34454240
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
> для каждого юрлица создается своя схема

Тщательно задокументируйте Ваше решение - и в FAQ, в раздел "Типичные ошибки".
...
Рейтинг: 0 / 0
12.04.2007, 09:42
    #34454893
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
Стандартный подход для решения таких задач, это внесение понятия "Текущая организация", которая либо привязана к пользователю, либо выбирается во время начала сеанса работы.

Соответственно все разделяемые справочники включают в себя идентификатор организации. А общие справочники нет.

Например Axapta поддерживант более сложный механизм алиасов, к которым можно привязывать несколько организаций и разделять справочники между несколькими организациями, но это нужно для всяких холдингов, и в простом случае с этим заморачиваться не стоит.
...
Рейтинг: 0 / 0
12.04.2007, 11:49
    #34455475
drunk2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
Все БД в MS SQL связаны с "главной" БД (только справочники). Только в ней происходят их изменения, в тригерах разносятся по разным БД. Для переноса в PostgreSQL в таблицах есть ссылка id_mssql_table. В MS SQL соответсвенно id_pg_table. Большинство записей соединил автоматом, другие разносят вручную (однофамильцы и тд)
Юзерам права не дам. Дал. Надеюсь за пару месяцев они не научатся использовать различные тулсы-)
EstetsСтандартный подход для решения таких задач, это внесение понятия "Текущая организация", которая либо привязана к пользователю, либо выбирается во время начала сеанса работы. Соответственно все разделяемые справочники включают в себя идентификатор организации. А общие справочники нет.Так и есть
...
Рейтинг: 0 / 0
29.08.2007, 23:30
    #34763157
bug_scorobey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общие справочники для разных бд
drunk2Есть бд mssql 2000. Предприятие разделилось на несколько. Создал несколько бд для каждого предприятия. Сначала справочники были одинаковые, сейчас получается зоопарк тк в одну бд вносят контрагента, в другую нет или под другим именем и тд. Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех предприятий. Синхронизировал справочники, создал в одной бд тригера INSTEAD OF INSERT, UPDATE в других запретил редактирование. Во всех таблицах поля с IDENTITY. Но не учел, что SET IDENTITY_INSERT:
Permissions
Execute permissions default to the sysadmin fixed server role, and the db_owner and db_ddladmin fixed database roles, and the object owner.
Юзерам права не дам. Как быть ?

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


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