У нас есть базовая таблица, которая определяет детали и содержит такую информацию, как номер детали, описание, цена, вес и т. Д. У нас также есть приблизительно 400 таблиц, которые ссылаются на базовую таблицу и предоставляют дополнительную информацию о деталях на основе их типа / категории.
Мы начали с использования ограничений внешнего ключа, чтобы деталь не могла быть удалена из базовой таблицы, если на нее ссылаются в одной из 400 таблиц, специфичных для детали, но мы быстро достигли максимально 253 рекомендуемых внешних ключей для SQL Server 2005.
Существуют ли альтернативы внешним ключам в этой ситуации, которые обеспечат целостность данных? Мы не видели проблем с производительностью при доступе к данным, но обновление существующей детали в базовой таблице завершится неудачно, поскольку план запроса слишком сложен.