Estoy tratando de diseñar una aplicación para contener información académica de referencia. El problema es que cada tipo diferente de referencia (por ejemplo, artículos de revistas, libros, artículos de periódicos, etc.) requiere información diferente. Por ejemplo, una referencia de revista requiere tanto un título de revista como un título de artículo, y también un número de página, mientras que un libro requiere un editor y una fecha de publicación que los artículos de revista no requieren.¿Una tabla o muchas?
Por lo tanto, debería tener todas las referencias almacenadas en una tabla en mi base de datos y simplemente dejar campos en blanco cuando no se aplican, o debo tener varias tablas como BookReferences, JournalReferences, NewspaperReferences y poner las referencias apropiadas en cada uno. El problema entonces sería que haría la búsqueda a través de todas las referencias algo más difícil, y también la edición tendría que hacerse más bien probablemente por separado.
(tengo la intención de usar Ruby on Rails para este proyecto, por cierto, pero dudo que alguna diferencia a esta pregunta de diseño)
Actualización:
¿Hay más puntos de vista sobre este ? Esperaba obtener una respuesta simple diciendo que un método en particular definitivamente se consideraba "el mejor", pero como siempre, las cosas no son tan simples como esto. La opción de herencia de tabla única parece bastante interesante, pero no hay mucha información sobre ella que pueda encontrar muy fácilmente: puedo publicar otra pregunta en este sitio sobre eso.
Estoy dividido entre Olvak's answer y Corey's answer. La respuesta de Corey da una buena razón por la cual Olvak's no es el mejor, pero la respuesta de Olvak da buenas razones por las cuales Corey's no es el mejor. Nunca me di cuenta de que esto podría ser tan difícil ...
¡Cualquier otro consejo muy apreciado!
Me gusta mucho esta pregunta, gracias. He estado pensando en un problema similar con respecto a una tabla de productos en una configuración de comercio electrónico y las respuestas aquí se pueden aplicar fácilmente a eso. Aclamaciones. – jammus
Me alegro de poder ayudar :-) – robintw
Solo me pregunto: ¿cuántos registros espera tener? Obviamente solo una figura de estadio. Creo que eso también debería ser un factor en la decisión final. – nickf