我真的很难为大学建立我的第一个数据库。我将必须参考公司和员工的钥匙才能工作。在一种关系中,员工只能在一家公司工作。
我经常遇到一些错误,一个是在主键之后出现的,而且引用并没有真正起作用。
仅供参考:我正在研究PostgreSQL。
我希望有人能帮助我。感谢您的帮助
CREATE SCHEMA p10_1_employee;
Set search_path to p10_1_employee;
CREATE TABLE employee(
firstname varchar(20) NOT NULL,
lastname varchar(20) NOT NULL,
CONSTRAINT cPKfirstnamelastname PRIMARY KEY(firstname, lastname)
);
CREATE TABLE company(
companyname varchar(20) NOT NULL,
CONSTRAINT cPKcompanyname PRIMARY KEY (companyname)
);
CREATE TABLE works (
personenname varchar(40),
companyname varchar(20)
CONSTRAINT cPKpersonennamecompanyname PRIMARY KEY (personenname, companyname)
CONSTRAINT cFKfirstnamelastname FOREIGN KEY (personenname) REFERENCES employee(firstname, lastname),
CONSTRAINT cFKcompanyname FOREIGN KEY (companyname) REFERENCES company(companyname)
);
答案 0 :(得分:2)
works
表中存在多个错误(缺少逗号和错误的引用列数)。这是一个有效的脚本
CREATE TABLE works (
personenname_firstname varchar(20),
personenname_lastname varchar(40),
companyname varchar(20),
CONSTRAINT cPKpersonennamecompanyname PRIMARY KEY (personenname_firstname, personenname_lastname, companyname),
CONSTRAINT cFKfirstnamelastname FOREIGN KEY (personenname_firstname, personenname_lastname) REFERENCES employee,
CONSTRAINT cFKcompanyname FOREIGN KEY (companyname) REFERENCES company
);