Clé étrangère POSTGRESQL référençant les clés primaires de deux tables différentes

J'ai deux tables Livres et des livres audio, qui ont tous deux ISBN que leurs clés primaires. J'ai une table writtenby qui a un isbn attribut qui a une contrainte de clé étrangère pour des Livres et des livres audio ISBN. Le problème vient quand je l'insérer dans writtenby est que postgresql veut le ISBN-je insérer dans writtenby à être à la fois des Livres et des livres audio. Il fait sens pour moi d'avoir un tableau writtenby qui stocke les auteurs et les livres/livres audio qu'ils ont écrit, mais cela ne se traduit pas en un tableau dans postgresql. La solution alternative, je pense à la mise en œuvre a été d'avoir deux nouvelles relations audiobook_writtenby et books_writtenby mais je ne suis pas sûr que c'est une bonne alternative. Pourriez-vous me donner une idée de comment je pourrais mettre en œuvre mon idée originale d'avoir une seule table writtenby de référencement de deux tables différentes ou comment je pourrais mieux la conception de ma base de données. Laissez-moi savoir si vous avez besoin de plus d'informations.

source d'informationauteur Jason Zhu