Я пытаюсь выяснить, как определить схему базы данных с Postgresql 8.
У меня есть 2 таблицы:
Journals
, Books
которые определяют мои публикации
Journal:
id_j, name, issn, other fields
Book:
id_b, name, isbn, author, other fields
и у меня есть другая таблица Scans
, которая логически ссылается на обе предыдущие таблицы.
Scans:
id, medium, source, status
каждый Journal
или Book
может иметь более одного Scan
, но каждый Scan
может ссылаться только на один Journal
или Book
.
Чтобы формализовать это, моей первой идеей было поместить два внешних ключа в Scans
, как
Scans:
id, medium, source, status, id_j, id_b
и заполните id_j
или id_b
но это решение кажется мне немного странным.
Я не хочу (если это возможно) определять таблицу таким образом:
Scans:
id, medium, source, status, id_other_table, other_table_name
потому что я хотел бы иметь формальную связь между таблицами.
Есть идеи?