У меня есть следующие объекты: жилые списки, коммерческие списки, списки аренды и избранные списки, которые содержат избранные свойства для каждого пользователя.Наиболее логичным представляется использование подхода супертипа / подтипа и создание следующих таблиц:
CREATE TABLE listings (
id ...,
listPrice ...,
...
PRIMARY KEY (id)
)
CREATE TABLE residential (
id ...
...
PRIMARY KEY (id),
FOREIGN KEY id REFERENCES listings(id)
)
CREATE TABLE featuredListings (
id ..,
userId ...,
featuredListingId ...
PRIMARY KEY (id),
FOREIGN KEY featuredListingId REFERENCES listings(id)
)
Но когда я пытаюсь создать резидентную таблицу, Mysql возвращает ошибку «Ошибка MySQL 1005. Не удается создать таблицу« резидентная »(errno: 150) "
Возможно, мой DDL неверен.Или даже возможно иметь PK, который в то же время является FK в MySQL?Если нет, то какой дизайн лучше всего подходит для такого сценария?