¿Qué es una BB.DD? Sistemas Informáticos I. Un problema Sencillo de Gestión de Datos: Crear un listín con direcciones Solución 1 –Un cuaderno –Las entradas.

1 ¿Qué es una BB.DD? Sistemas Informáticos I ...
Author: Cande Santillan
0 downloads 0 Views

1 ¿Qué es una BB.DD? Sistemas Informáticos I

2 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!

3 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...)

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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