160 likes | 260 Views
Sistemas Informáticos I. ¿Qué es una BB.DD?. Un problema Sencillo de Gestión de Datos: Crear un listín con direcciones. Solución 1 Un cuaderno Las entradas se registran en orden cronológico Ventajas: Barato, sencillo, privado, fiable, ¿!eficiente!?... Inconvenientes (volumen de datos):
E N D
Sistemas Informáticos I ¿Qué es una BB.DD?
Un problema Sencillo de Gestión de Datos: Crear un listín con direcciones • Solución 1 • Un cuaderno • Las entradas se registran en orden cronológico • Ventajas: • Barato, sencillo, privado, fiable, ¿!eficiente!?... • Inconvenientes (volumen de datos): • Es difícil buscar, modificar, compartir datos • Estructura de Datos Es difícil añadir nuevos campos: correo electrónico • Es difícil extraer información: etiquetas postales • Integridad (validez datos): [[fallos hardware/Movil]] usuarios torpes • Consistencia (redundancia estructura): edad vs. fecha nacimiento. H • Entradas repetidas, (redundancia datos) domicilio de miembros de una familia • ¡Ojo: no lo pierdas!
Solución 2: Un cuaderno de anillas • Mejoras • Se puede mantener los datos ordenados por nombre (índices) • Se puede añadir y suprimir entradas (biblioteca) • Pero... • Todas las desventajas ya comentadas se mantienen • Nótese que ahora podemos buscar eficientemente por nombre pero sólo por nombre no por otros campos (p.e. teléfono) y no se pueden hacer preguntas complejas (voy de viaje a...)
Solución 3: un Fichero de Texto y un Editor • Ventajas: • El espacio no esta limitado • Fácilmente copiable y compartible • Búsquedas de cadenas (y subcadenas) • Es fácil modificar la información contenida • Modificable mediante programas • Todavía no satisfacemos alguno de los requerimientos solicitados: consistencia, integridad, redundancia y si el número de entradas es alto no es una solución valida. • Desventajas: • costo, necesidad de especialización, eficiencia
Complicación 1: El Fichero Crece Desmesuradamente • Problema: • Las busquedas se hacen lentas e imprecisas • Buscar “Cotón” devuelve “Melocotón” • Solución • Estructurar los datos en campos • Indexar los campos sobre los que se busca más frecuentemente • Conceptos de BB.DD.: • Organización de las entradas • Claves • Índices
Complicación 2: Tenemos que Separar las Direcciones de los Nombres • ¿Por qué? • Si una familia cambia de casa podemos no actualizar el domicilio de todos los miembros de la familia: Deseamos que una sola actualización de los datos sirva para toda la familia • – Los domicilios son entidades importantes en si no solo ligados a personas: envio de tarjetas de felicitación navideña • Solución • Dos ficheros, uno para personas y otro para direcciones • Problemas de la solución • Pero… como relacionamos personas y direcciones • Cuantas residencias pueden estar relacionadas con una persona 0, 1, varias? Conceptos de BB.DD.: • Consistencia • Normalización • Claves Extranjeras
Complicación 3: Relaciones Múltiples entre Personas y Residencias • La gente puede: poseer, vivir, alquilar, residir temporalmente… • Podemos querer aplicar restricciones a las relaciones • Por ejemplo: • Una persona debe tener una residencia legal única aunque puede poseer varias residencias • DNI válido Conceptos de BB.DD.: • Relaciones • Cardinalidad
Complicación 4: Se Necesita Añadir Información que no se contempló en el diseño original • Por Ejemplo: • Felicitaciones enviadas y recibidas. • Correos instaura el código postal • Se necesita añadir Campos Conceptos de BB.DD.: • Abstracción-sql • Evolución
Complicación 5: Manejo y Análisis de la Información • Ejemplo • ¿Quién me ha enviado más de 2 felicitaciones de Navidad durante los 5 últimos años? • Nos hace falta • Un lenguaje que posibilite una interacción sencilla con los datos • Un lenguaje que posibilite una interacción eficiente con los datos Conceptos de BB.DD.: • SQL-pg... • Optimización de consultas
Complicación 6: Quieres Organizar los datos de forma diferente según quien los vea • Por ejemplo • A la abuela le gusta ver los nombres y las direcciones juntas • No quieres que tu madre/hermano/primo vea las direcciones de ciertas amistades pero si de otras. • Solución: • No accedas a los datos directamente sino mediante consultas almacenadas en la base • Desde el punto de vista práctico aquellas entradas que no sean accedidas por alguna consulta no existen. • Conceptos de BB.DD.: • • Productos • • Vistas • Seguridad
Complicación 7: Ciertas entradas requieren de la existencia de Otras • Por ejemplo: • No puedo enviar felicitaciones navideñas a alguien sin dirección. • Los nombres pueden no ser únicos si no están cualificados por una dirección: ¿Es Pedro Pérez que vive el la calle Tomillo o en la Calle Berlín? • Solución: • Solo se admite introducir un nombre si está asociado a una dirección • No se puede borrar una dirección si está asociada a un nombre • O alternativamente, si se borra una dirección se borran todos lo nombres asociados a ella • Conceptos de BB.DD.: • Integridad • Entidades débiles
Complicación 8: Quiero Ser Capaz de Acceder a los Datos desde un Programa • Esto es:: • Quiero escribir un programa en JAVA que sea capaz de buscar, mostrar y actualizar la base • Los datos están estructurados así que no quiero acceso a nivel de caracteres/texto • Lenguajes no procedurales • Solución: • Uso de la estructura de los datos para definir las “estructuras” de datos correspondientes • Utilización de librerías para acceder a los datos • Conceptos de BB.DD.: • Esquema de la Base • API • SQL embebido
Complicación 9: Múltiples Actualizaciones que se Deben Realizar en su Totalidad o no Realizar en Absoluto • Ejemplos: • Dos personas viudas con familia propia se casan.– • Es necesario actualizar la residencia de varias personas • ¿Qué ocurre si el ordenador se cuelga durante la actualización • Solución: • La base se comporta como si todas las actualizaciones se hicieran simultáneamente • Esto se consigue gracias a un mecanismo capaz de deshacer o validar conjuntos de ordenes • Conceptos de BB.DD.: • Transacciones • Atomicidad
Complicación 10: Hay Dos Ordenadores en tu Casa • ¿Cómo compartir los datos? • Diskette? Ugh, multiples versiones • Asumamos que somos capaces de compartir la base • ¿Qué ocurre si dos personas realizan acciones que requieren la modificación del mismo conjunto de datos? • Solución • Las transacciones son atómicas • Parece como si se ejecutaran una a continuación de la siguiente • Conceptos de BB.DD.: • Aislamiento de transacciones • Control concurrente • Seriabilización
Complicación 11: Quiero Almacenar Imágenes, Videos… • Quieres dejar de almacenar la documentación en archivadores • Requisitos • Capacidad para almacenar datos multimedia • Integración lógica con los datos existentes • Consultas no textuales: todas las fotos de ese vaso verde que se acaba de romper • Conceptos de BB.DD.: • consultas por contenido • Bases de datos orientadas a objetos • BLOBs
Complicación 12: Te Eligen Presidente de los EE.UU. • Tu lista de direcciones se hace enorme y de repente te das cuenta de que tiene un gran valor añadido • Por ejemplo • Distritos con más direcciones (donde tienes mayor soporte) • Distritos en los que es más probable obtener una respuesta si se les escribe • De estos cuales están en estados con menos de un 5% de diferencia entre los votos obtenidos por el partido demócrata/republicano en el año 2000 • Conceptos de BB.DD.: • Data Mining