БД дизайн использовать подтип или нет?
База данных, которую я разрабатываю, состоит из 3 основных таблиц:BOOKS
, ARTICLES
, NOTES
.
Каждая книга или статья может иметь несколько заметок, мой оригинальный дизайн был таким же, что означает, что и заметки о книгах, и заметки о статьях попадают в таблицу «заметок». Вот столбцы дляNOTES
Таблица:
note_id
note_type
note_type_id
note_content
NOTE_TYPE
может быть «книгой» или «статьей»;NOTE_TYPE_ID
это ФК для book_idесли тип примечания - «книга»ИЛИ ЖЕ идентификатор статьи, если тип примечания - «статья».
Теперь я начинаю задаваться вопросом, является ли это правильным (или лучше нормализованным) дизайном. Альтернативный подход заключается в использовании 5 таблиц
книги / статьи / заметки / book_notes / article_notes
Таким образом, я могу хранить примечания к книгам и примечания к статьям отдельно, столбцы
'notes' {note_id, note_content} 'book_notes' {book_id, note_id} 'article_notes' {articel_id, note_id}
Какой из них правильный или лучший?