Ich habe folgende 5 Tabellen und 1 Tabelle ist als Fremdschlüssel in 2 Tabellen verbunden. Mein Dilemma ist, dass ich nicht herausfinden kann, welche Tabelle zuerst fallen soll. unten ist der Code drop table ich versuche und ich habe Tabellen in folgenden ReihenfolgeWie Tabelle in der richtigen Reihenfolge in SQL SERVER 2014 ablegen?
Aktualisiert Drop Table-Code erstellt:
IF EXISTS (SELECT*FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='[Student Major]')
BEGIN
DROP TABLE [Student Major]
END
GO
IF EXISTS (SELECT*FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='Major')
BEGIN
DROP TABLE Major
END
GO
IF EXISTS (SELECT*FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='Citizenship')
BEGIN
DROP TABLE Citizenship
END
GO
IF EXISTS (SELECT*FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='Country')
BEGIN
DROP TABLE Country
END
IF EXISTS (SELECT*FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='Student')
BEGIN
DROP TABLE Student
END
GO
CREATE TABLE Student(
[Student ID] INT IDENTITY PRIMARY KEY
,[First Name] varchar (50) NOT NULL
,[Last Name] varchar (30) NOT NULL
)
GO
CREATE TABLE Country(
[Country ID] int identity PRIMARY KEY NOT NULL
,[Country of Birth] varchar (10)
,[Student ID] int FOREIGN KEY REFERENCES Student([Student ID]) NOT NULL
)
GO
CREATE TABLE Citizenship(
[Citizenship ID] int identity PRIMARY KEY
,[Country of Citizenship1] varchar (10)
,[Country of Citizenship2] varchar (10)
,[Student ID] int FOREIGN KEY REFERENCES Student([Student ID]) NOT NULL
,[Country ID] int FOREIGN KEY REFERENCES Country([Country ID]) NOT NULL
)
GO
CREATE TABLE Major(
[Major ID] int identity PRIMARY KEY
,[Major Name] varchar(30) NOT NULL
)
GO
CREATE TABLE [Student Major](
[Student MajorID] int identity
,[Student ID] int FOREIGN KEY REFERENCES Student([Student ID])
,[Major ID] int FOREIGN KEY REFERENCES Major([Major ID])
,[Graduated Major] varchar (30) NOT NULL
)
GO
Ich mag Tisch fallen würde korrekte Bestellung
Fehler: Konntennr t das Objekt 'Student' ablegen, da es von einer FOREIGN KEY-Einschränkung referenziert wird. Geben Sie auch eine Erklärung zum Löschen der Tabelle an. Ich bin neu in SQL. Vielen Dank im Voraus!
Separat Ihre Daten Modell ist insofern fehlerhaft, als es nur einen Studenten pro Land erlaubt. Sie sollten CountryID wahrscheinlich als Fremdschlüssel für Country in die Student-Tabelle aufnehmen und StudentID aus Country entfernen. –