Я пытаюсь создать приложение для хранения академической справочной информации. Проблема в том, что каждый тип ссылки (например, журнальные статьи, книги, газетные статьи и т.д.) Требует различной информации. Например, ссылка на журнал требует как заголовка журнала, так и названия статьи, а также номера страницы, в то время как книга требует издателя и даты публикации, в которых статьи журналов не требуются.
Следовательно, должен ли я иметь все ссылки, хранящиеся в одной таблице в моей базе данных, и просто оставлять поля пустыми, когда они не применяются, или мне нужно иметь различные таблицы, такие как BookReferences, JournalReferences, NewspaperReferences и помещать соответствующие ссылки в каждый один. Тогда проблема заключалась бы в том, что это сделало бы поиск по всем ссылкам более сложным, а также редактирование должно было бы выполняться скорее более отдельно, возможно.
(Я планирую использовать Ruby on Rails для этого проекта, но я сомневаюсь, что это имеет значение для этого вопроса дизайна)
Update:
Любые другие взгляды на это? Я надеялся получить простой ответ, сказав, что конкретный метод определенно считается "лучшим", но, как обычно, все не так просто. Параметр "Наследование на одном столе" выглядит довольно интересным, но на нем мало информации, что я могу найти очень легко - я могу опубликовать еще один вопрос на этом сайте об этом.
Я разделяю между ответ Ольваком и ответ Кори. Ответ Кори дает вескую причину, почему Олвак не самый лучший, но ответ Ольвака дает веские причины, почему Кори не самый лучший! Я никогда не понимал, что это может быть так сложно...
Любые дальнейшие советы очень ценятся!