2016-06-12 6 views
0

Ich arbeite an einer Aufgabe für die Schule und ich bin ein klarer Neuling mit SQL. Ich versuche, eine Fremdschlüsselbeziehung zwischen Datensätzen einzurichten (d. H. IMDb-Bewertung, Genre, Produzent usw.), wobei Filme mein Primärschlüssel sind. Ich erhalte den folgenden Fehler, wenn ich versuche, die Beziehungen zwischen der Tabellen- und Spaltenspezifikation festzulegen.SQL Server Fremdschlüssel Ausgabeeinheit 3 ​​Zuordnung

Screenshot:

enter image description here

Zusätzliche Informationen wie in den Kommentaren hinzugefügt:

USE [Movies] 
GO 
/****** Object: Table [dbo].[Directors] Script Date: 6/12/2016 2:42:27 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE TABLE [dbo].[Directors]([DirectorID] [nchar](10) NOT NULL, [FirstName] [nvarchar](max) NULL, [LastName] [nvarchar](max) NULL, CONSTRAINT [PK_Directors] PRIMARY KEY CLUSTERED([DirectorID] ASC) 
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] 
TEXTIMAGE_ON [PRIMARY] 
GO 
ALTER TABLE [dbo].[Directors] WITH CHECK 
    ADD CONSTRAINT [FK_Directors_Directors] FOREIGN KEY([DirectorID]) REFERENCES [dbo].[Directors] ([DirectorID]) 
GO 
ALTER TABLE [dbo].[Directors] CHECK CONSTRAINT [FK_Directors_Directors] 
GO 
USE [Movies] 
GO 
/****** Object: Table [dbo].[Movie] Script Date: 6/12/2016 2:45:59 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_PADDING ON 
GO 
CREATE TABLE [dbo].[Movie]([MoviesID] [int] IDENTITY(1,1) NOT NULL, [Movies] [varchar](max) NOT NULL, 
    CONSTRAINT [PK_Movie] PRIMARY KEY CLUSTERED ([MoviesID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 
GO 
SET ANSI_PADDING OFF 
GO 
+2

Willkommen bei Stack Overflow, Seth. Bitte lesen Sie [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask) und [Wie erstelle ich ein minimales, vollständiges und überprüfbares Beispiel] (http: // stackoverflow. com/help/mcve) und sehen Sie, ob Sie uns weitere Informationen zur Verfügung stellen können. –

+0

Hallo Darwin, Die Aufgabe ist es, eine Datenbank zu erstellen, deren Primärschlüssel "Filme" mit Unterschlüsseln wie Genre, Produzent, IMDb_Rating usw. ist. Ich muss die Unterschlüssel (Fremdschlüssel) mit den Primärschlüsselfilmen verknüpfen. Es ist unser Fehler mit dem obigen Screenshot. Hier ist ein Auszug aus der Aufgabe. Wir erstellen einen Fremdschlüssel für DirectorID, GenreID, ProducerID und LeadStarID und verknüpfen die ID in der Movies-Tabelle mit der ID in den Tabellen Directors, Genres, Produzenten und LeadStar. – Seth

+0

Ich verwende Microsoft SQL Server Management Studio 2012. – Seth

Antwort

0

Versuchen Sie das Feld zuerst mit der gleichen Größe/Typ hinzugefügt und dann erst die Beziehung erstellen:

ALTER TABLE [dbo].[Movie] ADD [DirectorID] [nchar](10); 
GO 
ALTER TABLE [dbo].[Movie] ADD CONSTRAINT [FK_Movie_Directors] 
FOREIGN KEY([DirectorID]) REFERENCES [dbo].[Directors] ([DirectorID]); 
GO 
Verwandte Themen