Pelo que sei, deve funcionar, passei por outras questões semelhantes, mas parecia ser uma coisa diferente causando o mesmo erro.
CREATE TABLE Job
(
JobNumber INT NOT NULL,
JobName CHAR(30) NOT NULL,
JobDescription CHAR(60) NOT NULL,
Title Char(30) NOT NULL,
PersonID INT NOT NULL,
CONSTRAINT PK_JobNum PRIMARY KEY (JobNumber)
);
CREATE TABLE Employee
(
PersonID INT NOT NULL,
FirstName CHAR(30) NOT NULL,
LastName CHAR(30) NOT NULL,
CONSTRAINT Pk_PersonID PRIMARY KEY(PersonID),
CONSTRAINT FK_Job_2_Employee FOREIGN KEY(PersonID) REFERENCES Job(PersonID)
);
CREATE TABLE Game
(
GameNumber INT NOT NULL,
Title CHAR(30) NOT NULL,
System CHAR(30) NOT NULL,
CONSTRAINT PK_GameNumber PRIMARY KEY(GameNumber),
CONSTRAINT FK_Job_2_Game FOREIGN KEY(Title) REFERENCES Job(Title)
);
Ocorre um erro quando tento inicializar a segunda tabela. (E provavelmente chegará no terceiro.)
- Várias pessoas podem ter o mesmo trabalho e uma pessoa pode ter vários empregos.
- O
JobNumber
e oJobName
não são a mesma coisa. CadaJobNumber
um tem apenas um funcionário, e um únicoJobNumber
tem apenas umJobName
. - O
JobNumber
e o trabalho que uma pessoa tem não é a mesma coisa. - O número do trabalho e o tipo de trabalho não são a mesma coisa. Por exemplo, tanto o número de trabalho 1235 quanto o 1435 podem ter o trabalho "designer de nível".