Vous êtes sur la page 1sur 4

ndice

Historia de las Bases de Datos


Modelo Relacional
Diseo relacional
No tan fcil normalizacin
Lenguaje de consultas SQL

Evolucin de las Bases de Datos


Rafael Caballero Roldn

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)

Dcada 1960-1970: Primeras bases de datos


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

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

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.

XML: XPath y XQuery


Almacenes de Datos
Minera de Datos
OLAP

Historia de las Bases de Datos (2)


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

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

Los modelos jerrquicos y de red van dejando de ser utilizados

Clave Primaria

Modelo Relacional (1)

Muy simple: una BBDD es un conjunto de tablas


Cada tabla tiene unas columnas fijas

2000s: Quedan slo 3 grandes compaas: IBM,


Microsoft, Oracle

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

Nuevas tcnicas y problemas: almacenes y mineras de


datos, OLAP

Ejemplo: BBDD de clientes, productos y ventas

Clave
ajena

Futuro?
XML con XPath y XQuery
BBDD con terabytes de informacin

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

La tabla no est en segunda forma normal: Ningn


atributo puede depender de parte de la clave
Para normalizarla: dividir en dos:
Esquema

Instancia:

Modelo Relacional (5)

Lenguaje SQL (1)

Structured Query Language


Instrucciones para:

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

Varios estndar, ningn producto los sigue al 100%

Modelo Relacional (6)

Lenguaje SQL (2)

Instruccin select

Para hacer consultas


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

Ejemplo consulta: Identificador y descripcin de los productos con


precio>100
select id, descripcion from productos where precio>100;

Modelo Relacional (7)

Lenguaje SQL (3)

Ejemplo: nombre apellidos y direccin de los


clientes que han comprado el producto de id. 1
Nombres de atributos cualificados

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)

Select * from clientes, ventas


where clientes.nombre = ventas.nombreCli and clientes.apellidos = ventas.apellidosCli

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

XML: XPath y XQuery (3)

Ejemplo XPath: Seleccionar los textos de los prrafos


correspondientes a captulos pblicos
//capitulo[@public='si']/parrafo/text()

XQuery: amplia XPath para incluir instrucciones de


control. Similar a select en SQL

Respuesta:

Ejemplo: Ttulo de captulos con al menos dos prrafos

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

for $b in doc("libro.xml")//capitulo
let $c := $b//parrafo
where count($parrafo) > 2
return $b/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:

Almacn de Datos (2)


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

Minera de Datos
Olap

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:

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

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

Vous aimerez peut-être aussi