Está en la página 1de 4

Índice

• Historia de las Bases de Datos


• Modelo Relacional
– Diseño relacional
– No tan fácil … normalización
Evolución de las Bases de Datos
– Lenguaje de consultas SQL
• XML: XPath y XQuery
Rafael Caballero Roldán
• Almacenes de Datos
• Minería de Datos
• OLAP

Historia de las Bases de Datos (1) Historia de las Bases de Datos (2)
• Principio: Bibliotecas, censos, archivos médicos • En los años 70 aparecen las primeras bases de datos relacionales:
– Desarrollaron principios básicos utilizados hoy como los índices – Ingres
(fichas ordenadas de las bibliotecas) – System R

• 1976: Chen propone el diagrama Entidad-Relación


• Década 1960-1970: Primeras bases de datos
– Aplicaciones Ad-hoc, Orientadas a registro
• 1980: Los sistemas relacionales comienzan a utilizarse de forma
– Poco eficientes, propensos a errores habitual
– Modelos en red y jerárquico
– SQL se hace el lenguaje estándar para BBDD
• Año 1969: Derivability, Redundancy, and Consistency
of Relations Stored in Large Data Banks de Edgar F. – Aparecen numerosas compañías como RIM, RBASE 5000, PARADOX,
Codd OS/2 Database Manager, Dbase III, IV (después Foxbase y Visual
FoxPro), Watcom SQL
– Proponía separar el modelo lógico del físico
– Bases del modelo relacional, el más utilizado hoy • Los modelos jerárquicos y de red van dejando de ser utilizados

Historia de las Bases de Datos (3) Clave Primaria Modelo Relacional (1)
• 1990s: Aparece Internet • Muy simple: una BBDD es un conjunto de tablas
– Se buscan técnicas para acceder de forma remota y segura a los
datos: JDBC, Oracle Server 2000…. • Cada tabla tiene unas columnas fijas

• Para garantizar la coherencia se utilizan conceptos tales como


• 2000’s: Quedan sólo 3 grandes compañías: IBM, – Claves primarias: Columnas que permiten distinguir filas
Microsoft, Oracle – Claves ajenas: Valores de una tabla que deben aparecer en otra
Clave
• Nuevas técnicas y problemas: almacenes y minerías de • Ejemplo: BBDD de clientes, productos y ventas ajena
datos, OLAP

• ¿Futuro?
– XML con XPath y XQuery
– BBDD con terabytes de información

1
Modelo Relacional (2) Modelo Relacional (3) No tan Fácil… no válida

• Se distingue entre los conceptos de esquema e Ejemplo: Tabla de datos personales


– Cada persona puede tener varias direcciones
instancia de la BBDD – Cada dirección tiene un único teléfono fijo (dirección Æ telf.fijo)
– Esquema: las tablas con su estructura. No deben • Esquema:
variar
– Instancia: el contenido de las tablas. Normalmente
varía a menudo • Instancias:

• Posibilidad de valores nulos (NULL)


– Denotan valor desconocido
– ¿NULL = NULL ? No
– Lógica trivaluada

Modelo Relacional (4) Normalización… Modelo Relacional (5) Lenguaje SQL (1)

• La tabla no está en segunda forma normal: “Ningún • Structured Query Language


atributo puede depender de parte de la clave”
• Para normalizarla: dividir en dos: • Instrucciones para:
• Esquema – Definir tablas
– Hacer consultas, borrar, insertar y modificar
– Crear usuarios, dar derechos de acceso
– Control de acceso concurrente
• Instancia:
– ….

• Varios estándar, ningún producto los sigue al 100%

Modelo Relacional (6) Lenguaje SQL (2) Modelo Relacional (7) Lenguaje SQL (3)
• Instrucción select • Ejemplo: nombre apellidos y dirección de los
– Para hacer consultas clientes que han comprado el producto de id. 1
– Declarativa: se dice lo que se quiere, no cómo conseguirlo Nombres de atributos cualificados
– Bastante estándar
– Sintaxis básica
Select valores Select clientes.nombre, clientes.apellidos, clientes.direccion
from tablas From clientes, ventas Producto cartesiano
where condicion; Where clientes.nombre = ventas.nombreCliente
and
• Ejemplo consulta: Identificador y descripción de los productos con
precio>100 clientes.apellidos = ventas.apellidosCliente
select id, descripcion from productos where precio>100; and ventas.producto=1

Condición de filtrado

2
Modelo Relacional (8) Lenguaje SQL (4)
XML: XPath y XQuery (1)
• XML se puede considerar como una BBDD semiestructurada

• Grandes cantidades de datos en formato XML Æ necesario lenguaje de consulta

• Ejemplo XML

<libro>
<titulo>Dos por tres calles</titulo>
<autor>Josefa Santos</autor>
<capitulo num="1"> La primera calle
<parrafo> Era una sombría noche del mes de agosto... </parrafo>
<parrafo destacar="si"> Ella, inocente cual mariposa …</parrafo> </capitulo>
<capitulo num="2" public="si"> La segunda calle
<parrafo>Era una obscura noche del mes de septiembre...</parrafo>
</capitulo>
….
Select * from clientes, ventas </libro>
where clientes.nombre = ventas.nombreCli and clientes.apellidos = ventas.apellidosCli
and ventas.producto=1;

XML: XPath y XQuery (2) XML: XPath y XQuery (3)


• Ejemplo XPath: Seleccionar los textos de los párrafos • XQuery: amplia XPath para incluir instrucciones de
correspondientes a capítulos públicos
control. Similar a select en SQL
//capitulo[@public='si']/parrafo/text()

• Respuesta: • Ejemplo: Título de capítulos con al menos dos párrafos


Era una obscura noche del mes de septiembre...
for $b in doc("libro.xml")//capitulo
• Otra forma de escribirlo:
doc("libro.xml")/libro/capitulo[@public='si']/parrafo/text() let $c := $b//parrafo
where count($parrafo) > 2
• Títulos de capítulos con párrafos destacados return $b/text()
doc("libro.xml")/libro/capitulo/parrafo[@destacar='si']/../text()

Fuente: http://geneura.ugr.es/~victor/cursillos/xml/XPath/

Almacén de Datos (1) Almacén de Datos (2)


• Los datos se obtienen de muchas fuentes
• Base de datos que recopila información de
– Garantizar coherencia
distintas fuentes
– Utilización de metadatos
• Normalmente se usa como bases de datos
inicial para:
– Minería de Datos
– Olap
• Suele mantener información no volátil Æ
incorpora nuevos datos sin borrar los antiguos
para favorecer los informes históricos
http://exonous.typepad.com/mis/datawarehouse.gif

3
Minería de Datos OLAP (1)
• Siglas de Procesamiento Automático en Línea
• Definición: Extracción no trivial de datos • Utilizado en inteligencia empresarial
implícitos.
• Idea básicas: mostrar datos correlacionados,
• Técnicas de IA y de estadística ventas/tiempo, ventas/zonas Æ Cubos OLAP
• Ejemplos:
– Detección de fraudes en tarjetas de crédito (Falcon
Fraud Manager)
– Tendencias de clientes (telefonía móvil)
– Astronomía: detección de nuevos sistemas binarios
– Sugerencias de compra (amazom, supermercados)

OLAP (2) OLAP (3)

• Las bases de datos OLAP requieren un diseño


especial:
– No están pensadas para hacer insert,update,etc.
– Pensadas para hacer select con group by
• Posibles esquemas:
– ROLAP: basada en el modelo relacional
– MOLAP: Basada en el modelo multidimensional
– HOLAP: Combinación de los dos anteriores

OLAP (4)
Ejemplo ROLAP:

¡¡ G r a c i a s !!

También podría gustarte