Habe folgende Aufgabenstellung:
2 Tabellen anlegen, Angestellte und Abteilung;
Beziehungen dazwischen:
Ein Angestellter muss zu einer Abteilung gehören, eine Abteilung hat n Angestellte --> ergo kann ich bei Angestellte ein Feld Abteilung als Fremdkey machen
Eine Abteilung wird genau von einem Angestelltem geleitet, ein Angesteller kann eine oder keine Abteilung leiten --> ergo mache ich bei Abteilung ein Feld Abteilungsvorstand
Soweit die Theorie, nur bei dem praktischen SQL-Code (ich muss über sql database, tabellen usw. anlegen) geht zwar mit dem sql query analyzer, aber ich kriege bei der ausführung einen runtimeerror.
außerdem legt er mir die db nur an, sofern nach dem anlegebefehl nachher keine zeilen mehr kommen :/
Code:
CREATE DATABASE [h03-10-sqluebung] ON (NAME = N'h03-10-sqluebung_Data', FILENAME = N'C:\Programme\Microsoft SQL Server\MSSQL\data\h03-10-sqluebung_Data.MDF' , SIZE = 4, FILEGROWTH = 10%) LOG ON (NAME = N'h03-10-sqluebung_Log', FILENAME = N'C:\Programme\Microsoft SQL Server\MSSQL\data\h03-10-sqluebung_Log.LDF' , SIZE = 2, FILEGROWTH = 10%);
CREATE TABLE [h03-10-sqluebung].dbo.Abt(
Abtid UNIQUEIDENTIFIER,
CONSTRAINT Abtid PRIMARY KEY(Abtid),
Abtname CHAR(50) NOT NULL,
Abtvstd INTEGER NOT NULL,
CONSTRAINT Abtvstd FOREIGN KEY (Angid) REFERENCES [h3-10-sqluebung].dbo.Ang(Angid)
);
CREATE TABLE [h03-10-sqluebung].dbo.Ang(
Angid UNIQUEIDENTIFIER,
CONSTRAINT Angid PRIMARY KEY(Angid),
Angname CHAR(50) NOT NULL,
FOREIGN KEY (Abtid) REFERENCES [h03-10-sqluebung].dbo.Abt
);
Fehlermeldung:
Code:
Server: Nachr.-Nr. 1769, Schweregrad 16, Status 1, Zeile 4
Der Abtvstd-Fremdschlüssel verweist auf die ungültige Angid-Spalte in der verweisenden Abt-Tabelle.
Server: Nachr.-Nr. 1750, Schweregrad 16, Status 1, Zeile 4
Einschränkung konnte nicht erstellt werden. Siehe vorherige Fehler.