Anda di halaman 1dari 4

ndice

Historia de las Bases de Datos Modelo Relacional

Evolucin de las Bases de Datos


Rafael Caballero Roldn

Diseo relacional No tan fcil normalizacin Lenguaje de consultas SQL

XML: XPath y XQuery Almacenes de Datos Minera de Datos OLAP

Historia de las Bases de Datos (1)


Principio: Bibliotecas, censos, archivos mdicos
Desarrollaron principios bsicos utilizados hoy como los ndices (fichas ordenadas de las bibliotecas)

Historia de las Bases de Datos (2)


En los aos 70 aparecen las primeras bases de datos relacionales:
Ingres System R

Dcada 1960-1970: Primeras bases de datos


Aplicaciones Ad-hoc, Orientadas a registro Poco eficientes, propensos a errores Modelos en red y jerrquico

1976: Chen propone el diagrama Entidad-Relacin 1980: Los sistemas relacionales comienzan a utilizarse de forma habitual
SQL se hace el lenguaje estndar para BBDD Aparecen numerosas compaas como RIM, RBASE 5000, PARADOX, OS/2 Database Manager, Dbase III, IV (despus Foxbase y Visual FoxPro), Watcom SQL

Ao 1969: Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks de Edgar F. Codd
Propona separar el modelo lgico del fsico Bases del modelo relacional, el ms utilizado hoy

Los modelos jerrquicos y de red van dejando de ser utilizados

Historia de las Bases de Datos (3)


1990s: Aparece Internet
Se buscan tcnicas para acceder de forma remota y segura a los datos: JDBC, Oracle Server 2000.

Clave Primaria

Modelo Relacional (1)

Muy simple: una BBDD es un conjunto de tablas Cada tabla tiene unas columnas fijas Para garantizar la coherencia se utilizan conceptos tales como Claves primarias: Columnas que permiten distinguir filas Claves ajenas: Valores de una tabla que deben aparecer en otra

2000s: Quedan slo 3 grandes compaas: IBM, Microsoft, Oracle Nuevas tcnicas y problemas: almacenes y mineras de datos, OLAP Futuro?
XML con XPath y XQuery BBDD con terabytes de informacin

Ejemplo: BBDD de clientes, productos y ventas

Clave ajena

Modelo Relacional (2)


Se distingue entre los conceptos de esquema e instancia de la BBDD
Esquema: las tablas con su estructura. No deben variar Instancia: el contenido de las tablas. Normalmente vara a menudo

Modelo Relacional (3)

No tan Fcil

no vlida

Ejemplo: Tabla de datos personales


Cada persona puede tener varias direcciones Cada direccin tiene un nico telfono fijo (direccin telf.fijo)

Esquema:

Instancias:

Posibilidad de valores nulos (NULL)


Denotan valor desconocido NULL = NULL ? No Lgica trivaluada

Modelo Relacional (4)

Normalizacin

Modelo Relacional (5)

Lenguaje SQL (1)

La tabla no est en segunda forma normal: Ningn atributo puede depender de parte de la clave Para normalizarla: dividir en dos: Esquema

Structured Query Language Instrucciones para:


Definir tablas Hacer consultas, borrar, insertar y modificar Crear usuarios, dar derechos de acceso Control de acceso concurrente .

Instancia:

Varios estndar, ningn producto los sigue al 100%

Modelo Relacional (6) Instruccin select


Lenguaje SQL (2)

Modelo Relacional (7)

Lenguaje SQL (3)

Para hacer consultas Declarativa: se dice lo que se quiere, no cmo conseguirlo Bastante estndar Sintaxis bsica Select valores from tablas where condicion;

Ejemplo: nombre apellidos y direccin de los clientes que han comprado el producto de id. 1
Nombres de atributos cualificados

Ejemplo consulta: Identificador y descripcin de los productos con precio>100 select id, descripcion from productos where precio>100;

Select clientes.nombre, clientes.apellidos, clientes.direccion From clientes, ventas Producto cartesiano Where clientes.nombre = ventas.nombreCliente and clientes.apellidos = ventas.apellidosCliente and ventas.producto=1
Condicin de filtrado

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

Select * from clientes, ventas where clientes.nombre = ventas.nombreCli and clientes.apellidos = ventas.apellidosCli

<libro> <titulo>Dos por tres calles</titulo> <autor>Josefa Santos</autor> <capitulo num="1"> La primera calle <parrafo> Era una sombra 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> . </libro>

and ventas.producto=1;

XML: XPath y XQuery (2)


Ejemplo XPath: Seleccionar los textos de los prrafos correspondientes a captulos pblicos //capitulo[@public='si']/parrafo/text()

XML: XPath y XQuery (3)


XQuery: amplia XPath para incluir instrucciones de control. Similar a select en SQL Ejemplo: Ttulo de captulos con al menos dos prrafos for $b in doc("libro.xml")//capitulo let $c := $b//parrafo where count($parrafo) > 2 return $b/text()

Respuesta:
Era una obscura noche del mes de septiembre... Otra forma de escribirlo: doc("libro.xml")/libro/capitulo[@public='si']/parrafo/text() Ttulos de captulos con prrafos destacados doc("libro.xml")/libro/capitulo/parrafo[@destacar='si']/../text()

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

Almacn de Datos (1)


Base de datos que recopila informacin de distintas fuentes Normalmente se usa como bases de datos inicial para:
Minera de Datos Olap

Almacn de Datos (2)


Los datos se obtienen de muchas fuentes
Garantizar coherencia Utilizacin de metadatos

Suele mantener informacin no voltil incorpora nuevos datos sin borrar los antiguos para favorecer los informes histricos
http://exonous.typepad.com/mis/datawarehouse.gif

Minera de Datos
Definicin: Extraccin no trivial de datos implcitos. Tcnicas de IA y de estadstica Ejemplos:
Deteccin de fraudes en tarjetas de crdito (Falcon Fraud Manager) Tendencias de clientes (telefona mvil) Astronoma: deteccin de nuevos sistemas binarios Sugerencias de compra (amazom, supermercados)

OLAP (1)
Siglas de Procesamiento Automtico en Lnea Utilizado en inteligencia empresarial Idea bsicas: mostrar datos correlacionados, ventas/tiempo, ventas/zonas Cubos OLAP

OLAP (2)

OLAP (3)
Las bases de datos OLAP requieren un diseo especial:
No estn 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: Combinacin de los dos anteriores

OLAP (4)
Ejemplo ROLAP:

G r a c i a s !!

Anda mungkin juga menyukai