Я определяю базу данных для системы клиент/заказ, где есть два очень разных типа клиентов. Потому что они настолько разные, что одна таблица клиентов была бы очень уродливой (она была бы заполнена нулевыми столбцами, поскольку они бессмысленны для одного типа).Несколько внешних ключей для одного столбца
Их заказы, хотя и в том же формате. Возможно ли иметь столбец CustomerId
в моей таблице заказов, который имеет внешний ключ для обоих типов клиентов? Я установил его на SQL-сервере, и мне не было никаких проблем , создавая отношения, но я еще не пытался вставлять какие-либо данные.
Кроме того, я планирую использовать nHibernate как ORM, могут возникнуть проблемы, возникающие при выполнении таких отношений?
Согласовано. Нормализация - это ключ здесь. – jva
@Guffa: -1, потому что «Нет, у вас не может быть отдельного поля в качестве внешнего ключа для двух разных таблиц» - это утверждение неверно (по крайней мере, на SQL Server 2005). Дайте ему вихрь. – Liao
@ Liao: Я не думаю, что вы понимаете ситуацию ... Если вы, например, имеете значение внешнего ключа 42, как бы вы узнали, является ли это ключом в таблице A или таблице B? – Guffa