Я пытаюсь разработать приложение для хранения академической справочной информации. Проблема в том, что каждый тип ссылки (например, журнальные статьи, книги, газетные статьи и т. Д.) Требует различной информации. Например, ссылка на журнал требует как заголовка журнала, так и названия статьи, а также номера страницы, в то время как книга требует издателя и даты публикации, в которых статьи журналов не требуются.Один стол или много?
Поэтому, если у меня есть все ссылки, хранящиеся в одной таблице в моей базе данных, и просто оставляйте поля пустыми, когда они не применяются, или мне нужно иметь различные таблицы, такие как BookReferences, JournalReferences, NewspaperReferences и помещать соответствующие ссылки в каждый. Тогда проблема заключалась бы в том, что это сделало бы поиск по всем ссылкам более сложным, а также редактирование должно было бы выполняться скорее по отдельности.
(я планирую использовать Ruby On Rails для этого проекта, кстати, но я сомневаюсь, что делает никакой разницы в этом вопросе дизайна)
Update:
Все больше просмотров на этом ? Я надеялся получить простой ответ, сказав, что конкретный метод определенно считается «лучшим», но, как обычно, все не так просто. Опция Single-Table Inheritance выглядит довольно интересно, но на нее мало информации, которую я могу найти очень легко - я могу опубликовать на этом сайте еще один вопрос.
Я отделен между Olvak's answer и Corey's answer. Ответ Кори дает вескую причину, почему Олвак не самый лучший, но ответ Ольвака дает веские причины, почему Кори не самый лучший! Я никогда не понимал, что это может быть так сложно ...
Любые дальнейшие советы очень ценятся!
Мне очень нравится этот вопрос, спасибо. Я рассматривал аналогичную проблему в отношении таблицы продуктов в настройке электронной торговли, и ответы здесь могут быть легко применимы к этому. Приветствия. – jammus 2008-10-14 09:45:07
Рад я мог бы помочь :-) – robintw 2008-10-14 09:48:10
Просто интересно: сколько записей вы ожидаете? Очевидно, просто фигурка. Я думаю, что это также должно быть фактором окончательного решения. – nickf 2008-10-14 14:14:27