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
Clave Primaria
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
Clave ajena
No tan Fcil
no vlida
Esquema:
Instancias:
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:
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
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;
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/
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 !!