SQL - внешний ключ Dervied - возможный?

Мне просто любопытно, если это возможно, конкретно в SQL CE (Экспресс) с поддержкой в Платформе Объекта.NET:

Table1 (primary)
-nvarchar(2000) url
-...

Table2 (with foreign key)
-nvarchar(2000) domain
-...

внешний ключ на ссылках Table2.domain Table1.url, таким образом, что Table.url содержит Table2.domain

например.

Table1:
http://www.google.com/blah/blah
http://www.cnn.com/blah/
http://www.google.com/foo

Table2:
google.com
cnn.com

Для этого действительно ли возможно быть заданным сценарием и осуществленным SQL CE (уже не говоря о какой-либо базе данных отношения) и, если так, Платформа Объекта.NET может автоматически поддерживать это, если я импортирую свою базу данных в модель?

1
задан Chad 5 June 2010 в 14:46
поделиться

1 ответ

Нет, все значение внешнего ключа должно соответствовать всему первичному ключу. значение в указанной таблице.

Я пытаюсь придумать что-нибудь полезное, чтобы предложить.

  • Вы можете проверить строки в table2 с помощью триггера или проверочного ограничения, но это включает в себя тщательное написание выражений, в которых легко ошибиться.

  • Вы можете сохранить домен с избыточностью в table1, наложить на него ограничение UNIQUE и объявить свой внешний ключ в table2, чтобы он указывал на table1.domain. Ограничения внешнего ключа могут ссылаться на столбцы в ограничении уникальности, а также на столбцы в ограничении первичного ключа.

2
ответ дан 3 September 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: