Внешний ключ на слабый объект установлен в MS SQL Server 2008? - PullRequest
0 голосов
/ 18 марта 2010

Я использую Microsoft SQL Server 2008 Management Studio для создания реляционной схемы, следуя схеме Entity-Relationship. (включено ниже; несвязанные детали удалены)

диаграмма отношения сущностей со слабым набором сущностей http://nicwaller.com/stackoverflow/er_weakentityset.png

До сих пор первичные и внешние ключи работали, как и ожидалось. Но когда я пытаюсь создать внешний ключ из отношения сущностей takes к набору слабых сущностей section, я получаю ошибку. Section идентифицируется составным первичным ключом в контексте course, который имеет course_id в качестве первичного ключа. Поэтому первичным ключом раздела является составной ключ с четырьмя путями.

Отношение сущностей takes должно ссылаться на раздел, поэтому оно включает все 4 первичных атрибута из section в своем собственном первичном ключе. При попытке установить отношение внешнего ключа от takes до section Studio выдает следующую ошибку:

The columns in table 'section' do not match an existing primary key or UNIQUE constraint.

Я что-то не так делаю или это неподдерживаемая конфигурация? При необходимости я могу предоставить более подробную информацию или схему SQL.

1 Ответ

0 голосов
/ 19 марта 2010

Порядок атрибутов в первичном и внешнем ключе должен быть сохранен.

(Я получил ошибку, потому что атрибуты внешнего ключа были указаны в другом порядке, чем они произошли в первичном ключе.)

...