2017-01-21 5 views
1

私は3つのテーブル 従業員、 予定、 会社を作成しました。SQLの関係

関係は以下のとおりです。

1)従業員は企業IDのFKを持っています。

2)アポイントメントにはemployeeIdのfkがあります。

なぜsqlは会社と予定との間に新しい関係を作りますか?

テーブル:あなたが使用しているSQLのバージョンは何 enter image description here

答えて

0

:問題 と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]) 

ピクチャー?私は自分のマシンでそれを再現しようとしましたが、会社と予定の間に外部キーを作成しませんでした。

Screenshot

で何ができ、テーブルを削除して、再度スクリプトを実行します。試してみてください

+0

私はSQL Server 2012,2014,2016で試してみてください。 –

+0

これらのテーブルを再作成しようとすると、入力したスクリプトに問題はありません。 –

+0

新しいデータベースでもう一度試してみて、同じ結果を得ました:/。 –