Download - ¿Qué es una BB.DD?
¿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 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