Hola a tod@s
Estoy haciendo una aplicación que maneja referencias bibliográficas y dada una peculiaridad al momento de hacer consultas a la DB, no estoy seguro de cuál sea el mejor modelo de diseño, de ahí mi pedido de ayuda; primero hago una breve explicación y luego las peculiaridades de las consultas.
El sistema tiene 26 tipos de entradas (en adelante TE), en la carga de datos de cada TE existen dos áreas de datos: a) que son obligatorios y b) que son opcionales, hay un número de datos que existen por igual en los 26 TE, por ejemplo autor y año, pero son más.
Pongo 2 ejemplos:
TE = Libro
datos obligatorios: author, title, year/date
datos opcionales: editor, editora, editorb, editorc, translator, annotator, commentator, introduction, foreword, afterword, subtitle, titleaddon, maintitle, mainsubtitle, maintitleaddon, language, origlanguage, volume, part, edition, volumes, series, number, note, publisher, location, isbn, chapter, pages, pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate
TE = Tesis
datos obligatorios: author, title, thesistype, institution, year/date
datos opcionales: subtitle, titleaddon, language, note, location, month, isbn, chapter, pages, pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate
Hasta acá el modelo de DB parece llevarme a diseñar una tabla por cada TE, pero el problema surge cuando se realizan búsquedas durante una nueva alta en la DB --por ejemplo de un libro-- me puedo encontrar con un autor que existe en otras TE (por ejemplo conferencias, artículos, online, etc., pero no en un libro) y la idea es no escribir nuevamente el nombre del autor, sino tomar los datos que ya existen (a: para no terminar teniendo en la DB casos como: Pablo Pozzi, y P. Pozzi y b: para no repetir, es decir que el autor este una sola vez para todas las TE), y además para el caso de otros datos --por ejemplo journal y publisher-- tomar sus datos asociados, en estos 2 datos un dato asociado (por que es exclusivo) es location.
El motor sobre el que estoy trabajando es MySQL, que corre en el servidor de un proveedor de internet (yo accedo desde una dirección IP), las ABM se van a hacer desde PCs que están en diferentes lugares y con diferentes horarios de trabajo, en algún momento pueden llegar a existir 100.000 TE.
Cualquier sugerencia es agradecida.
Consulta Sobre Diseño De La DB
Consulta Sobre Diseño De La DB |
Artículo | |
---|---|
|
|
alberto_moyano [ Sabado, 28 Febrero 2015, 23:41 ] | |
Consulta Sobre Diseño De La DB |
Comentarios | |
---|---|
|
|
jsbsan [ Domingo, 01 Marzo 2015, 00:54 ] | |
última edición por shordi el Domingo, 01 Marzo 2015, 12:14; editado 2 veces |
|
shordi [ Domingo, 01 Marzo 2015, 12:05 ] | |
|
|
jsbsan [ Domingo, 01 Marzo 2015, 20:09 ] | |
|
|
shordi [ Lunes, 02 Marzo 2015, 09:13 ] | |
|
|
alberto_moyano [ Lunes, 02 Marzo 2015, 15:18 ] | |
Página 1 de 1 |
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno |
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.6427s (PHP: -90% SQL: 190%)
Consultas SQL: 46 - Debug off - GZIP Activado