¿Qué es una BB.DD?

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

description

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): - PowerPoint PPT Presentation

Transcript of ¿Qué es una BB.DD?

Page 1: ¿Qué es una BB.DD?

¿Qué es una BB.DD?

Sistemas Informáticos I

Page 2: ¿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!

Page 3: ¿Qué es una BB.DD?

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

Page 4: ¿Qué es una BB.DD?

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

Page 5: ¿Qué es una BB.DD?

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

Page 6: ¿Qué es una BB.DD?

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

Page 7: ¿Qué es una BB.DD?

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

Page 8: ¿Qué es una BB.DD?

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

Page 9: ¿Qué es una BB.DD?

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

Page 10: ¿Qué es una BB.DD?

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

Page 11: ¿Qué es una BB.DD?

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

Page 12: ¿Qué es una BB.DD?

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

Page 13: ¿Qué es una BB.DD?

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

Page 14: ¿Qué es una BB.DD?

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

Page 15: ¿Qué es una BB.DD?

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

Page 16: ¿Qué es una BB.DD?

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