2015-04-25 2 views
0

Насколько я понимаю, невозможно обеспечить реляционную активность (и каскадные обновления) между таблицами, которые поступают из двух разных баз данных (даже если все таблицы разбиты на части назад -end) Правильно ли это?отношения доступа к Microsoft: ссылочная целостность разные базы данных Связанные таблицы

Нужно ли даже принудительно выполнять референтную деятельность, если ваши таблицы настроены правильно (IE все они нормализованы)? Я спрашиваю, потому что, если передняя часть использует (допустим) комбинированные поля, которые получают источники строк из таблицы отдела, а источник управления хранит внешний ключ (IE the departmentID) в таблице employee, почему имеет значение, если ссылочная целостность в обязательном порядке?

ЕСЛИ ОНО ВЕЩЕСТВО, то я обязательно должен найти способ обеспечения ссылочной целостности между таблицами, которые приходят из разных файлов базы данных .. там должен быть способ ...

НАКОНЕЦ, будет исправление будет держать все справочные таблицы в одном файле базы данных? В основном каждая база данных использует таблицу Employee и таблицу отдела. Но остальные таблицы обычно связаны только с другими таблицами, которые используются в конкретной базе данных front-end.

ответ

1

Ссылочная целостность на самом деле не относится к справочным таблицам, а относится к родительским/дочерним таблицам или каким-то жизненно важным отношениям, и они всегда должны находиться в одной базе данных. И ваши таблицы всегда должны быть разработаны, чтобы наилучшим образом соответствовать приложению, независимо от того, используете ли вы RI или нет.

Все дело в том, что связанная таблица имеет идентификатор ключа, на который указывает другая таблица, и если эта связанная запись затронута, она не нарушит отношения. Таблицы Lookup могут быть структурированы с уникальным идентификатором, поэтому, если исходная запись будет потеряна, и добавится новая, хотя ключ будет изменен, уникальный идентификатор не будет, потому что вы просто вернете его обратно.

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

+0

Спасибо taxidev. Это в основном отвечает на мой вопрос. Позвольте мне просто уточнить, чтобы убедиться: Даже если у меня есть две разные базы данных переднего плана, скажем, одна для учета, а другая для ... зарплаты, если они оба используют таблицу сотрудников и таблицу отделов, то ВСЕ таблицы из обоих, которые связаны с этими общими таблицами, должны быть в одной и той же базе данных. - в любом случае, они не связаны между собой с точки зрения интерфейса. (?) –

+0

Да, все таблицы, которые связаны, независимо от того, как они используются в интерфейсе, должны находиться в одной базе данных. – taxidev

 Смежные вопросы

  • Нет связанных вопросов^_^