Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Oracle > построение отношений баз данных oracle |
Автор: sergey_r 20.8.2007, 10:41 |
Доброго времени суток! Уважаемые ПРОФИ, подскажите пожалуйста ответ на такой вопрос. Возможна ли практическая реализация построения отношений двух разных баз данных в Oracle?? И как это можно реализовать??? Заранее Благодарю! |
Автор: Sqlninja 20.8.2007, 10:46 |
а можно не книжными словами - что вы понимаете под отношением баз данных? связь через dblink? |
Автор: sergey_r 20.8.2007, 10:53 | ||
Прошу прощения, конечно же. У меня есть база содержащая таблицы проводов. и есть база содержащая справочные данные по этим проводам (то есть там нахоится название, характеристики и т.д.). Необходимо создать такое соответствие, чтобы провод, который будет в таблице, был связан со справочными данными этого провода в другой базе. |
Автор: Sqlninja 20.8.2007, 11:14 |
Обычно отношения определяются внешними ключами. Сами по себе внешние ключи не могут содержать ссылок на удаленные базы. Реализация ссылочной целостности между удаленными базами делаестя через репликацию. Однако все зависит от того какого типа отношение вы хотите построить. Если нужно по некому ключу просто выбирать данные из удаленной базы, это можно сделать через view со ссылкой (dblink) на удаленную БД, или зашивать условия с дблинками в сами запросы, но если нужно полноценное двустороннее отношение с синхронными, то без репликации имхо никак, хотя бы в дискретном режиме. |
Автор: sergey_r 20.8.2007, 12:21 | ||||
поробую пояснить на примере, как получиться. есть БД в которой существует две таблицы Т и К, с полями А, В. построение отношений происходит по такой команде select A.T, B.T, A.K, B.K from T,K where A.T=A.K Тогда у меня должна строиться таблица отношений (соответствия двух таблиц). (иллюстрация прикреплена, если я чего то неправильно написал). В умных книгах рассказывается про построение отношений внутри обной БД, а вопрос состоит в том как такое же действо можно организовать для двух или нескольких БД? Заранее благодарю, что пытаетесь меня понять и ответить. ![]() |
Автор: DimW 20.8.2007, 13:20 | ||||
теперь ясно что вы имели ввиду. если по простому: таблица Т - это провода таблица К - их характеристики таблица Т и К находятся в разных БД, нужно получить их данные тем запросом который вы привели как пример. для этого нужно настроить DBLink и поправить запрос:
в остальном Sqlninja, дал ответ. |
Автор: sergey_r 20.8.2007, 14:21 |
Спасибо огромное за ответы. ЗАРАБОТАЛО и самое главное первый раз как надо ![]() |