Подтвердить что ты не робот

Сохранение ссылочной целостности в нескольких базах данных

Каковы наилучшие методы хранения ссылочной целостности в нескольких базах данных? поскольку нет встроенных функций

Или лучше разбить одну базу данных?

Обновление См. Пример кевина ниже. это моя ситуация. В моей базе данных инвентаризации есть таблицы, которые ссылаются на employeeId в базе данных сотрудников.

Эти базы данных в настоящее время поддерживаются в разных местах (разные серверы)

4b9b3361

Ответ 1

С 2k05/2k08 определенно лучше разделить одну базу данных. У вас есть все преимущества хранения данных, например, в нескольких базах данных, когда вы можете использовать функции одной базы данных, например, внешние ключи.

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

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

Ответ 2

Определенно лучше перейти к одной БД. Если вам нужно это сделать, триггеры помогут (yuck). Разве вы не можете просто разбить БД, используя схемы (пример DB примера AdventureWorks)?

Ответ 3

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

Ответ 4

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