Projeto de banco de dados para usar subtipos ou não?
O banco de dados que estou projetando tem 3 tabelas principais:BOOKS
, ARTICLES
, NOTES
.
Cada livro ou artigo pode ter várias notas, meu design original era exatamente assim, o que significa que tanto as notas nos livros quanto as notas nos artigos vão para a tabela de 'notas'. Aqui estão as colunas para oNOTES
mesa:
note_id
note_type
note_type_id
note_content
NOTE_TYPE
pode ser 'livro' ou 'artigo';NOTE_TYPE_ID
é o FK para um book_idE se o note_type é 'book'OU um id de artigo se o note_type for 'article'.
Agora começo a me perguntar se esse é o design correto (ou melhor normalizado). Uma abordagem alternativa é usar 5 tabelas
livros / artigos / notas / book_notes / article_notes
Desta forma, eu posso manter as notas do livro e notas do artigo separadamente, as colunas são como
'notas' {note_id, note_content} 'book_notes' {book_id, note_id} 'article_notes' {articel_id, note_id}
Qual deles é correto ou melhor?