Как связать свойство из таблицы A с таблицей B, которое наследует это свойство из таблицы C?Postgresql - PullRequest
0 голосов
/ 07 сентября 2018

Мне нужно решить школьный проект.
У меня есть таблица человек

CREATE TABLE person (
personID INTEGER,
firstName VARCHAR(30),
lastName VARCHAR(30),
address addressType,
DOB DATE
);

Также я создаю таблицу author, которая наследуется от человека

CREATE TABLE author (
period periodType
) INHERITS (person);

А теперь я хочу создать табличную выставку, которая будет использовать authorID для ссылки на personId от автора таблицы (наследование от таблицы person)

CREATE TABLE exhibit (
  exhibitID INTEGER, 
  exhibitName VARCHAR(30),
  authorID INTEGER REFERENCES author(personID), /***** this not work ***/
  createdDate DATE,
  room roomType,
  typeOfExhibit typeOfExhibitType
);

ошибка: ОШИБКА: не существует уникального ограничения, соответствующего заданным ключам для ссылочной таблицы "персона"

...