2017-01-21 2 views
1

Я создал 3 стола, Сотрудник, Назначение, Компания.Кол-во взаимосвязей

Отношения являются:

1) Работник имеет FK из CompanyID.

2) Назначение имеет fk employeeId.

Почему sql создает новые отношения между компанией и назначением?

Таблицы:

CREATE TABLE [dbo].[Appointment] (
    [Id] [int] NOT NULL IDENTITY, 
    [EmployeeId] [int] NOT NULL, 
    CONSTRAINT [PK_dbo.Appointment] PRIMARY KEY ([Id]) 
) 

CREATE TABLE [dbo].[Employee] (
    [Id] [int] NOT NULL IDENTITY, 
    [CompanyId] [int] NOT NULL, 
    CONSTRAINT [PK_dbo.Employee] PRIMARY KEY ([Id]) 
) 

CREATE TABLE [dbo].[Company] (
    [Id] [int] NOT NULL IDENTITY, 
    CONSTRAINT [PK_dbo.Company] PRIMARY KEY ([Id]) 
) 


ALTER TABLE [dbo].[Appointment] ADD CONSTRAINT [FK_dbo.Appointment_dbo.Employee_EmployeeId] FOREIGN KEY ([EmployeeId]) REFERENCES [dbo].[Employee] ([Id]) 
ALTER TABLE [dbo].[Employee] ADD CONSTRAINT [FK_dbo.Employee_dbo.Company_CompanyId] FOREIGN KEY ([CompanyId]) REFERENCES [dbo].[Company] ([Id]) 

Изображение зрения SQL с проблемой : enter image description here

ответ

0

Какую версию SQL вы используете? Я попытался воспроизвести его на своей машине, но он не создал внешний ключ между компанией и назначением.

Screenshot

Что вы можете сделать, это, падение таблицы и выполнить свой скрипт. Попробуйте

+0

Я пробовал его на сервере sql 2012,2014,2016. –

+0

Хорошо попробуйте воссоздать эти таблицы, нет ничего плохого в сценарии, который вы предоставили. –

+0

Я попробую снова с новой базой данных и получил тот же результат: /. –