Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Привет всем ! Возможны ли связи (внешние ключи) между таблицами , находящихся в различных БД на одном сервере MS SQL 2000 ? Каким образом поддерживать ссылочную целостность в этом случае ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 10:50 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
>Возможны ли связи (внешние ключи) между таблицами нет. Если возникла такая необходимость, может лучше задуматься а почему собственно эти таблицы в разных базах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 11:23 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Допустим база main используется для оперирования информацией по текущему году. Информация за прошлые года не нужна и переносится в другую БД - main_arhiv, имеющей такую же структуру. Существуют таблицы , единые для обеих БД . Например таблица /Сотрудники/ , или таблица /Валюта/. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 13:20 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Ну так это не ссылочная целостность между базами Если есть две одинаковые базы, в каждой есть поддержка ссылочной целостности и в чем тогда проблема? Сбособов перегнать данные масса, а тем более если они на одном сервере так вообще проблем нет insert - delete и вся проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 13:41 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Зачем перегонять данные ? Существуют одинаковые таблицы , данные в которых одинаковы для различных баз. Эти таблицы находятся в одной общей базе , а таблицы из различных БД ссылаются на эти таблицы. Можно , конечно содержать копии общих таблиц в каждой БД в виде вьюеров , но может есть другой путь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 16:49 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Брр.. ничего не понял Объясните на примере, плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2001, 06:40 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2Andrew. Я минут пять хохотал над твоим ответом, даже слезы вышибло! Классный прикол! Ответ, видимо, в стиле новых правил русского языка (которые готовятся к утверждению госдумой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2001, 12:55 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Хранение информации о constraints (FK, PK) происходит на уровне базы данных и это определяется структурой системных таблиц SQL 7.0/ 2000. Ответ - нет, нельзя определить FK между таблицами разных БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2001, 01:52 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2Ant_M : Благодарю за ясный, информативный ответ . 2Gennady : ПРимер - БД main : Таблица ПРОДУКЦИЯ и другие, связанные с ней таблицы , содержат данные по произведенной продукции за последние несколько лет. Когда еденица продукции проходит весь производственный цикл и не используется для отчетов ,она переносится в архивную бд arhiv_main . Допустим , существует также БД main2 по продукции , которая по каким то причинам не прошла полный производственный цикл и ее отложили до лучших времен , и т.д. В то же время , для всех этих баз существуют таблицы , содержание которых должно быть одинаково для всех бд . Например - таблицы main.dbo.ВАЛЮТА , main.dbo.СОТРУДНИК , и т.д. Было бы конечно неплохо , если бы таблицы из других бд могли ссылаться на эти справочники . Однако внешние ключи к этим таблицам существуют только в бд main . Наличие баз данных с одинаковой структурой , но различным содержанием информации очень удобно для клиентской части , которая одна и та же для всех бд. Пользователь только выбирает , с какой бд ему работать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2001, 11:10 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2 Andrew Схема данных - база данных, ссылочная целостность посему относится только к базе данных (по моему логично, не так ли?). Так что у Вас есть только два пути: 1. Хранить копии справочников во всех БД 2. Сделать единую схему данных. Я бы выбрал скорее всего второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2001, 11:21 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
А я бы выбрал репликацию. Одна БД - для OLTP, другая - аналог OLAP (только на чтение, но запросы емкие). В статьях публикаций указал бы, что передается полностью, а что частично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2001, 14:43 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Переведя свои базы на SQL-сервер, я, ничтоже сумняшеся, связи между БД "Сотрудники", "Оборудование", и "Библиотека" прописала через триггеры. Как-то мне показалось не логичным вколачивать списки сотрудников в разных базах несколько раз, тем более, что этим занимаются разные люди. Правда, развлекалась я на SQL 7.0. А что, в SQL 2000 что-то этому мешает? Или это некорректно по сути? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2001, 14:24 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2 Erika . А действительно, триггеры - простое и подходящее решение в данном случае ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 11:18 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2 Erika . А действительно, триггеры - простое и подходящее решение в данном случае ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 11:18 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
>А действительно, триггеры - простое и подходящее решение в данном случае Вот уж не сказал бы Шевелить при каждом обновлении две базы, одна из которых как я понимаю не маленькая вряд ли подходящее решение. Думаю, что в Вашем случае все таки лучшее решение, которое подсказал Garya. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 11:38 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
>Шевелить при каждом обновлении две базы, одна из которых как я понимаю не маленькая вряд ли подходящее решение. Ну если нужна поддержка ссылочной целостности (см. вопрос) то без шеведения ну никак. А что касается триггеров - раз SQL2K, то и Instead триггера. В "нормальном" режиме они срабатывают до RI, следовательно действия с данными не вызовут тяжолой операции по откату транзакции в случае обнаружения нарушения целостности в триггере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 12:44 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2 Павел >Ну если нужна поддержка ссылочной целостности (см. вопрос) то без шеведения ну никак. А нужна ли она, эта поддержка ссылочной целостности между БД? По моему нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 13:03 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
Безусловно не всегда. Просто цена и трудоемкость перелопачивания структуры данных в рабочей базе (особенно если она досталась по наследству) может быть очень высокой. А вариант с триггерами позволяет достаточно эффективно и с небольшими усилиями выйти из положения. А вот если разрабатывать базу с нуля, то абсолютно с Вами согласен - это изврат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2001, 13:18 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
А слабо использовать MTS или что-нибудь подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2001, 12:45 |
|
||
|
Ссылочная целостность между таблицами в различных БД
|
|||
|---|---|---|---|
|
#18+
2 ПавелК Подскажите, плиз, зачем? Типа выпендрится я MTS знаю? Дык Вы тода сами для начала получше его изучите, а потом прикиньте, а причем здесь собсно MTS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2001, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3569&tid=1826476]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 393ms |

| 0 / 0 |
