16/08/2014 CURSO BASES DE DATOS I Código : 750030M Créditos : 4 Intensidad: 4 h/sem. Habilitable: No Validable: No Profesor: Mauricio E. Fernández N. Oficina: 2172 E-MAIL: mauricio.e.fernandez @ correounivalle.edu.co (La mejor forma de contactarme) En el curso se trabajará con el Campus Virtual de Univalle 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1 Textos a Utilizar Database Systems: The Complete Book, by Garcia-Molina, Ullman, y Widom (first edition), Prentice Hall, 2002. Otros Recomendados: A Guide to the SQL Standard: A User's Guide to the Standard Database Language SQL, (4a. edition), C.J. Date y H. Darwen, Addison-Wesley, 2000. SQL: 1999 - Understanding Relational Language Components, (1a. edition), Melton y Simon, Morgan Kaufmann, 2002. PostgreSQL: Introduction and Concepts, Bruce Momjian, AddisonWesley, 2001. Ramakrishnan, Raghu, and Johannes Gehrke. Database Management Systems. New York, NY. McGraw-Hill, 2002. ISBN: 0072465638. Communications of the ACM Usted podrá consultar material sobre: Bases de datos (Databases), Unix, Perl, PHP y CGI. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 2 1 16/08/2014 Forma de Evaluación Laboratorios (25%) Trabajo Final (25%): 3 entregas (Fase 1: 20%, Fase 2: 30% y Fase 3: 50% - informe y sustentación) Primer Examen Parcial (25%) Segundo Examen Parcial (25%) 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 3 Trabajo Final del Curso Usted podrá construir su aplicación usando el manejador de bases de datos relacional Postgres, que pueda ser accedido vía web. El proyecto tiene 3 partes (fases), iniciando con la presentación del tema, desarrollando luégo el diseño y finalizando con la aplicación completa. La conexión a la base de datos debe de realizarla mediante programas escritos en Java (JDBC). 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 4 2 16/08/2014 Precaución Este curso tiene bastante trabajo, pero lo vale! No deje tema para más adelante, manténgase al día en su estudio. De todos los cursos que usted toma en la Universidad del Valle, éste puede ser el que le ayude a conseguir un trabajo. Aprovechelo! 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 5 Qué es una base de datos Sistema Administrador de base de datos (DBMS): Un DBMS es un sistema de software que facilita la creación, mantenimiento y uso de una base de datos electrónica C. Date: “Una base de datos es un sistema computarizado cuyo propósito general es mantener información y dejar esta disponible para quien lo demande" 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 6 3 16/08/2014 Qué se quiere de una base de datos? Dar respuesta a consultas sobre datos Actualización de los datos Mantener los datos almacenados (persistencia) Almacenar grandes cantidades de datos Proteger de accidentes y evitar accesos no autorizados (Seguridad) Acceso a los datos mediante un lenguaje Permitir y controlar el acceso a datos a múltiples usuarios (concurrencia) 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 7 Una base de datos Aplicación de Procesamiento de Clientes Usuario Aplicación de Procesamiento de Ventas Base de Datos Usuario Otras Aplicaciones Usuario 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 8 4 16/08/2014 BD vs. Archivos La aplicación debe mantener grandes conjuntos de datos entre la memoria principal y el almacenamiento secundario (ejemplo: buffering, acceso orientado a la página, direccionamiento de 32 bits, etc) Se debe generar código especial para diferentes consultas Se deben de proteger los datos de inconsistencias producidas por múltiples usuarios accediendo concurrentemente a los datos Recuperación por daños Seguridad y control de acceso 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 9 BD vs. Archivos • • • • Aplicación de Procesamiento de Clientes Archivo de Clientes Aplicación de Procesamiento de Ventas Archivo de Ventas Datos separados y aislados; archivos independientes Datos generalmente duplicados; Aplicaciones dependientes del formato del archivo; Los archivos generalmente no son compatibles con otros; diferentes formatos para datos compatibles • Difícil representar datos desde la perspectiva del usuario; difícil representar relaciones 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 10 5 16/08/2014 Procesamiento en BD • Datos Integrados; una sola base de datos • Se reducen los datos duplicados; • Independencia de los programas de los datos; Cambios de formato o de relaciones sin consecuencias sobre programas • Fácil representar datos desde la perspectiva del usuario; Las relaciones son parte de la base de datos Una base de datos es una colección de registros autodescritos e integrados. • Autodescritos: diccionario de datos, metadatos, estructura de la DB • Integrados: archivos, metadatos, índices, metadatos de la aplicación. Consultas, actualizaciones ↔ transacciones 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 11 Aplicaciones Clásicas Sistema de Reservaciones en Aerolíneas : Pasajeros, vuelos, itinerarios, sillas, precios de tiquetes, disponibilidad Sistemas Bancarios: Clientes, cuentas, préstamos, balances de cuentas, retiros, consignaciones, máquinas ATM Registros corporativos: Ventas, cuentas, empleados, Costos, Compras Sistemas de Personal: Empleados, Pagos, Descuentos, Pensionados, Nomina, Historias Laborales 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 12 6 16/08/2014 Primeros DBMS Los primeros DBMS aparecen a fines de los años 60. Estos sistemas evolucionaron a partir de los sistemas de archivos, los cuales soportaban almacenamiento de grandes volúmenes de datos, por largo tiempo. Sin embargo, los sistemas de archivo no garantizaban la perdida de los datos, a menos que se tuvieran copias; no soportaban un acceso eficiente a los datos que se encontraban en una posición desconocida del archivo. Los sistemas de archivo no tenian la posibilidad consultar datos usando un lenguaje apropiado. Solo podía crear el esquema para los datos (limitado a estructura del archivo). Tampoco manejaba el control acceso de varios usuarios a la vez. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I de se la de 13 Arquitectura de un SGBD Usuarios Nivel lógico E.E. 1 E.E. 2 E.E. n Esquemas Externos Nivel físico Base de Datos 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 14 7 16/08/2014 Ejemplo de Esquema Externo Sea una BD que en el esquema conceptual tiene la entidad Alumno con atributos: nroMatri, nombre, apellido, numDI, direccion, fechanac, telefono. Nos interesa que unos determinados usuarios vean la BD formada de acuerdo con un esquema externo que tenga definidas dos entidades, denominadas Estudiante y Persona. a) La entidad Estudiante podría tener los atributos numeroMatricula (definido como derivable directamente de nroMatri), el atributo nombrePila (de nombre), el atributo apellido y el atributo nDI (de numDI). b) La entidad Persona podría tener el atributo nDI (obtenido de numDI), el atributo nombre (concatenación de nombre y apellido), el atributo direccion y el atributo edad (que deriva de fechanac). El esquema interno o físico contendrá la descripción de la organización física de la BD: caminos de acceso (índices, hashing, apuntadores, etc.), codificación de los datos, gestión del espacio, tamaño de la página, etc. El esquema interno responde a las temas de rendimiento (espacio y tiempo) planteadas al hacer el diseño físico de la BD y al ajustarlo posteriormente a las necesidades cambiantes. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 15 Objetivos de una Base de Datos Dentro de los objetivos de una base de datos podemos enumerar: la independencia, minimizar la redundancia, integridad de los datos, seguridad y control central de recursos. INDEPENDENCIA Se refiere a la protección en los programas de aplicación al ocurrir modificaciones ocasionadas cuando se altera la organización física o la estructura lógica de la base. Independencia física: protección contra modificaciones a los programas de aplicación debido a cambios de la estructura del archivo. Independencia lógica: protección de algunos programas de aplicación cuando se modifica el esquema debido a cambios hechos en algunos programas de la aplicación. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 16 8 16/08/2014 Objetivos de una Base de Datos INDEPENDENCIA 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 17 Objetivos de una Base de Datos MINIMIZAR LA REDUNDANCIA EN LOS DATOS Redundancia: un mismo dato almacenado en forma repetida. Guardar datos redundantes produce desperdicio de espacio de almacenamiento. El problema más serio, producto de la redundancia, es su inconsistencia. Esto ocurre debido a las actualizaciones incompletas de datos duplicados. Una consecuencia de este problema es el elevado costo de mantenimiento, además este mantenimiento es una tarea difícil y propensa a errores. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 18 9 16/08/2014 Objetivos de una Base de Datos INTEGRIDAD DE LOS DATOS Se refiere a medidas de seguridad usadas para mantener correctos los datos en la base de datos. Como introducir errores: i. Falla del equipo (hardware), ejemplo un aterrizaje de las cabezas sobre el disco que pueden destruir físicamente los datos en el mismo; o una falla del sistema (caída del sistema), lo que puede ocasionar una actualización incompleta. ii. Actualización incompleta. iii. Defectos en el software. iv. Inserción de datos no validos. v. Errores humanos. Formas de recuperación: en avance (roll-forward) o en retroceso (roll-back). 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 19 Objetivos de una Base de Datos FLUJO DE DATOS Y DE CONTROL a) Empieza con una llamada (1) del programa al SGBD, enviando la operación de consulta. El SGBD verifica que la sintaxis sea correcta, que el usuario esté autorizado, etc. Para hacerlo, el SGBD se basa (2) en el esquema externo y en el esquema conceptual. b) Si la consulta es válida, el SGBD determina, consultando el esquema interno (3), qué mecanismo debe seguir para responderla. Hay varias formas y diferentes caminos para responder a una consulta. Supongamos que ha elegido aplicar un hashing al valor del DI, que es el parámetro de la consulta, y el resultado es la dirección de la página donde se encuentra (entre muchos otros) el registro del alumno buscado. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 20 10 16/08/2014 Objetivos de una Base de Datos FLUJO DE DATOS Y DE CONTROL c) Cuando ya se sabe cuál es la página, el SGBD comprobará (4) si esta página ya se encuentra en el área de los buffers (tal vez como resultado de una consulta anterior de este usuario o de otro). Si no está, el SGBD, la busca en disco y la carga en los buffers (5). Si ya está, se ahorra el acceso a disco. d) Ahora, la página deseada ya está en la memoria principal. El SGBD extrae, de entre los diferentes registros, el registro buscado, e interpreta la codificación y el resultado según lo que diga el esquema interno. e) El SGBD aplica a los datos las eventuales transformaciones lógicas que implica el esquema externo y las lleva al área de trabajo del programa (6). f) Luego el SGBD retorna el control al programa del usuario (7) y da por termina la ejecución de la consulta. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 21 Objetivos de una Base de Datos SEGURIDAD DE LOS DATOS Protección a la b.d. contra accesos o modificaciones no autorizadas. Sin el control de seguridad, los usuarios no tendrían privacidad en sus datos y el sistema no podría mantener la integridad de los mismos. Mecanismos para el control de seguridad: subesquemas, los códigos de control de acceso y el (encriptamiento). CONTROL CENTRAL DE RECURSOS DE DATOS Debe existir un administrador de la base de datos (DBA) quien tiene como funciones principales: Formular y coordinar los requerimientos de la base de datos. Diseñar los esquemas conceptuales y externos de la base. Implantar y mantener el sistema de base de datos. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 22 11 16/08/2014 Modelos de Bases de Datos Inicios Sistema de Archivos – Archivos Secuenciales – Archivos Relativos – Archivos Indexados Modelo Modelo Modelo Modelo Modelo Jerárquico Red Relacional Orientado a Objetos Relacional Extendido [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 23 Evolución histórica de las BD 4000-1200 AC – Los Sumerios graban registros sobre tablas de arcilla 296 AC – Ptolomeo comienza a coleccionar libros para la biblioteca de Alejandría 2000 - AC Se inventa el papel en China 1450 – Johannes Guttenberg inventa la prensa 1879 – Gottlob Frege funda la disciplina moderna de la logica matemática 1937 – Alan Turing presenta los conceptos de la máquina de Turing 1941 – Alfred Tarski aplica el modelo teórico del cálculo de relaciones binarias 1962 – Charles Bachman desarrolla la base de datos en red (IDMS) Integrated Data Management System 1966 – IBM desarrolla el método de acceso Secuencial Indexado 1970-1971 – Edgar F. (Ted) Codd introduce el Modelo Relacional junto con el Álgebra Relacional y el Cálculo Relacional PARA MÁS INFORMACIÓN... 11/02/2013 [Nav92] Shankant B. Navathe, Evolution of Data Modeling for Databases. Communications of the ACM. 35(9), 1992. E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 24 12 16/08/2014 Evolución histórica de las BD 1971 – Rudolf Bayer y Edward McCreight publican un artículo sobre Btrees, base del mecanismo de indexación en bases de datos 1972 – Se introduce la forma normal Boyce-Codd en el diseño de bases de datos. 1973 – Charles Bachman gana el premio Turing por su trabajo sobre bases de datos en el modelo red 1974 – La teoria de las dependencias funcionales y la teoria de normalización toman importancia 1976 – Eswaran, Gray, Lorie, y Traiger definen los niveles de isolation levels, serializability, and two-phase locking Mitad 1970s – Se introduce el commit de Dos-Fases y es implementado en varios sistemas 1976 – Peter Chen introduce el modelo Entidad-Relación 1977 – Akifumi Makinouchi describe un modelo relacional anidado, precursor del modelo relacional-objeto PARA MÁS INFORMACIÓN... 11/02/2013 [Nav92] Shankant B. Navathe, Evolution of Data Modeling for Databases. Communications of the ACM. 35(9), 1992. E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 25 Evolución histórica de las BD 1979 – Home H. Gallaire y Jack Minker introducen las bases de datos basadas en lógica, conocidas como bases de datos deductivas 1979 – Fagin, Nievergelt, Pippenger y Strong definen el Hashing 1981 – Edgar F. Codd gana el premio Turing Award por sus contribuciones a la teoria de las bases de datos 1985 – Se introducen las bases de datos activas 1988 – Las bases de datos Deductive y objeto-relacional se unifican en un solo modelo. 1985-1993 Se desarrolla la tecnología de las bases de datos orientadas a Objetos y las bases de datos relacional-objeto 1995 – Se introducen los operadores Datacube OLAP 1995 – Se desarrolla el modelo de datos semi-estructurado 1998 – Jim Gray gana el premio Turing por sus contribuciones en el campo de las bases de datos y el procesamiento de transacciones [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 26 13 16/08/2014 Aplicaciones de las bases de datos 2000 - AC Se inventa el papel en China 1450 – Johannes Guttenberg inventa la prensa 1884 – Herman Hollerith inscribe la perforadora de tarjetas para una patente 1956 – IBM inventa el primer sistema de almacenamiento en disco para computador 1959 – G. E. libera el sistema 32 ERMA (Electronic Recording Machine and Accounting) para el Bank of America, que llevará la automatización a la industria bancaria 1963 – American Airlines introduce el sistema de reservación de línea aérea de SABRE 1968 – IBM libera IMS (Information Management System), the primer DBMS[ data Basemanagement System] comercial 1971 – CODASYL publica el reporte del Data Base Task Group (DBTG) sobre el modelo red [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 27 Aplicaciones de las bases de datos 1974 – La Universidad de California en Berkeley publica y distribuye el DBMS Ingres que utiliza el lenguaje de consulta QUEL 1975 – IBM desarrolla System R, un DBMS relacional experimental, que introduce muchos conceptos hoy comunes, incluyendo el Structured Query Language (SEQUEL, llamado luego SQL) 1975 – IBM desarrolla Query By Example (QBE), el primer lenguaje de consulta gráfico desarrollado por Moshe Zloof 1976 – Se publican por IBM las especificaciones de SQL 1977 – Se funda Relational Software Inc., que luego será Oracle Corporation, la primera compañía en liberar un sistema de bases de datos relacional basado en el System R, de IBM y usando SQL 1983 – Es liberado el sistema de bases de datos DB2 por IBM 1986 – Ingres compra IngresStar, el primer producto de bases de datos distribuidas [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 28 14 16/08/2014 Aplicaciones de las bases de datos 1986 – GemStone compra el primer sistema de bases de datos orientado a objectos 1986 – La American National Standards Institute (ANSI) publica el estándar de SQL 1.0 1986 – LDL, un lenguaje de bases de datos basados en lógica es implementado por MCC Corporation 1987 – Investigadores de la Universidad de California-Berkeley definen los niveles del RAID (Redundant Arrays of Inexpensive Disks) 1991 – Tim Berners-Lee, un científico del CERN en Génova, Suiza, desarrolla la www o World Wide Web 1992 – Open Database Connectivity (ODBC) es desarrollado permitiendo a las máquinas una comunicación transparentecon múltiples bases de datos [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 29 Aplicaciones de las bases de datos 1993 – Se publica ODMG 1.0 el estándard para sistemas de bases de datos orientadas a objetos 1998 – Unified Modeling Language (UML) es estandarizado como una herramienta de modelaje para diseño de datos y de software 1998 – Es desarrollado eXtensible Markup Language (XML) un estándard para el intercambio de información, particularmente entre DBMSs 1999 – Se publica el estándard SQL 3 [Nav92] Shankant B. Navathe, Evolution of Data Modeling PARA MÁS INFORMACIÓN... for Databases. Communications of the ACM. 35(9), 1992. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 30 15 16/08/2014 Evolución histórica de las B.D. 60´s Modelo Jerárquico 70´s 80´s Modelo Relacional Opción para la mayoría de las nuevas aplicaciones 90´s Modelo Orientado a Objeto B a s e s d e C o n o c i m i e n t o Hoy 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 31 Evolución Histórica de las BD Modelo Jerárquico De los modelos de BD citados, el que apareció primero, a principios de los años 60, fue el modelo jerárquico. Sus estructuras son registros interrelacionados en forma de árboles. El SGBD clásico de este modelo es el IMS/DL1 de IBM. Limitaciones –No representan una estructura de datos –Excesiva manipulación con estructuras no arbóreas –Características lógicas y físicas no están separadas –Enfoque sin soporte teórico Características 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 32 16 16/08/2014 Evolución Histórica de las BD Modelo Jerárquico Vistas lógicas Llave PADRE OWNER MASTER DISJOINT A Relación EQUIPO B JUGADOR ENTRENADOR HIJO MEMBER SLAVE EMBEDED DIRECTIVO EXPERIENCIA Lenguaje de definición de datos DL/I 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 33 Evolución histórica de las BD Modelo Red La red forma natural de representar relaciones Conference On Data SYstem Language (CODASYL) – Data Base Task Group (DBTG) Objetos y Relaciones Arquitectura de tres niveles Grafo dirigido: Nodos – Arcos Maneja relaciones binarias uno a muchos (enlaces) Registros cuentan con una llave invisible (identificador) Registros tipo: (owner: lado 1 – member: lado N) Instancia u Ocurrencia Conjunto (SET): Relación compuesta por un registro tipo owner y el nombre del set Lenguaje de definición de datos: DDL- DBTG 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 34 17 16/08/2014 Evolución histórica de las BD CLIENTE ORD X CLI ORDEN TIPO SET NAME IS ORDXCLI; OWNER IS CLIENTES; ORDER IS PERMANENT SORTED BY DEFINED KEYS; MEMBER IS ORDENES; ORD X CLI INSERTION IS AUTOMATIC RETENTION IS MANDATORY; KEY IS ASCENDING COD-CLIE-ORD IN ORDENES DUPLICATES NOT ALLOWED ORDENES NULL IS NOT ALLOWED; SET SELECTON IS THRU ORDXCLI OWNER IDENTIFIED BY IDENTIFIER COD-CLIE-CLI IN CLIENTES. COMANDO TRABAJO Navegación Recuperación Actualización de Registros FIND GET ERASE STORE MODIFY Actualización De Conjuntos CONNECT Adiciona un registro a un set DISCONNECT Remueve un registro de un set. RECONNECT Permite a un miembro del conjunto (SET) ser modificado. 11/02/2013 Selecciona y localiza un registro o una instancia de un conjunto. Recupera el registro actual. Borra registros. Adiciona registros a la B.D. Actualiza un registro. E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 35 Evolución histórica de las BD Modelo Relacional Edgar F. Codd: Padre del modelo relacional (1970) Solidez teórica del modelo: Álgebra y cálculo relacional Simplicidad: tablas – relaciones El Modelo Relacional se basa en el concepto de relaciones lógicas entre los datos Álgebra y Calculo relacional: lenguajes de manipulación de datos con mayor poder en acceso y procesamiento Conceptos: relación – tuplas – atributos – dominio –clave candidata – clave primaria Restricciones: – – – – No hay dos tuplas iguales en una relación El orden de las tuplas es irrelevante El orden de los atributos no es importante Cada atributo solo puede tomar un solo valor de su dominio 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 36 18 16/08/2014 Evolución histórica de las BD Modelo Relacional Correspondencia entre el M. R. y el modelo E-R. Entidades y relaciones se convierten en tablas Teoría de la normalización. Formas normales: 1FN, 2FN, 3FN, FNBC, 4FN, 5FN Independencia entre datos y su manejo Independencia lógica y física de los datos Lenguaje SQL conocido (declarativo) Poderoso motor y excelente optimizador Excelente manipulación de operaciones Buena eficiencia en aplicaciones comerciales Existen estándares y metodologías de desarrollo 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 37 Evolución histórica de las BD Modelo Relacional Soporte teórico matemático solo funciona con el modelo original Pobre abstracción del mundo real La descomposición del mundo real no es natural El modelo de datos lógico es pobre para desarrollar aplicaciones modernas El lenguaje SQL tiene limitaciones para ser único lenguaje usado en el desarrollo de aplicaciones Problema de “impedance mistmach”: se debe conocer dos lenguajes para el desarrollo de una aplicación La solidez de los SMBDR tambalea si se agrega más potencia al modelo de datos lógico y su lenguaje de consulta 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 38 19 16/08/2014 Evolución histórica de las BD Modelo Orientado a Objetos Permitir el manejo de modelos de datos que describen el mundo real de las nuevas aplicaciones. Aplicar la esencia de la POO: flexibilidad, extensibilidad, reutilizabilidad, mantenibilidad. Mantener las mejores cualidades del modelo relacional Ofrecer un excelente optimizador que garantice eficiencia en el modelo de datos. 11/02/2013 Objetos: estructura y comportamiento Estructura: atributos Comportamiento: métodos Clases: reagrupan objetos con igual estructura y comportamiento Leng. de manipulación de datos Leng. de programación de BD-OO Leng. consulta estructurado OQL Lenguaje algebraico Lenguaje de cálculo de predicados Varias álgebras objeto propuestas Varios cálculos de predicados propuestos E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 39 Evolución histórica de las BD Consulta en OQL Proceso Sintáctico Expresión algebráica OO ejecutable SMBDOO Optimización Lógica y Física Expresión algebráica OO ejecutable BD 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 40 20 16/08/2014 Evolución histórica de las BD Ventajas – Abstracción en EOO se acerca mucho al mundo real – Alto grado de independencia entre datos y tratamiento – Leng. poderoso (LPOO+OQL) busca resolver problema de ”impedance mismatch” – Lenguaje OQL es superset de SQL – Fuerte motor con buen optimizador – Se heredan desarrollos del modelo relacional Desventajas – Soporte teórico no esta maduro (en parte formal) – La experiencia del usuario debe ser más elevada – No hay estándares de desarrollo lo que retarda su aceptación – Los SMBDOO no tienen la aceptación de sus predecesores 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 41 Evolución histórica de las BD Modelo Relacional Extendido Aplicaciones modernas no soportan el desarrollo con el modelo relacional Modelo OO ha guiado esta ampliación del modelo relacional Se busca integrar lo mejor de los dos enfoques Los fabricantes de SMBDR buscan mantener cautivo su mercado Existe un álgebra relacional extendida? Existe un nuevo cálculo relacional extendido? El SQL3 es un superset de SQL Soporte teórico pobre. No hay estándares de desarrollo R-E Motor de los SMBDRE pasa a ser incógnita y a crear desconfianza Queda la duda teórica sobre la eficiencia de los SMBDRE 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 42 21 16/08/2014 El Futuro de las BD OLTP: On Line Transaction Proccesing DATAWAREHOUSE – Se refiere a arquitecturas, algoritmos, herramientas y técnicas para llevar datos de diversas fuentes en un repositorio ajustado para consultas y análisis (BD de solo lectura) – Almacena información táctica que responde a preguntas de “quien” y “que”, acerca de eventos pasados – Usa tecnologías relacionales – esquema en “estrella” y “copo de nieve” – Extracción y carga, limpieza y conversión de datos, copias y archivado, manejo de consultas. OLAP – Usa múltiples vistas de datos agregados (almacenados en un DWH) – Permite responder preguntas como “que si” y “porque” – Operaciones: Drill Down – Roll Up y Slice–Dice – Tiempo: componente integral de las aplicaciones analíticas 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 43 El Futuro de las BD DATAMINING (Minería de datos) – Se refiere una técnica de descubrimiento que no responde a preguntas particulares. – Usa algoritmos específicos para analizar los datos e informar que se ha descubierto. – DM busca respuestas a preguntas que no han sido respondidas – Formas: relaciones entre ciertos datos, un agrupamiento de datos o modelos presentes en un conjunto de datos, para inferir reglas, las que se usarán para predecir funcionamientos, descubrir modelos, etc. KDD (Knowledge Data Discovery) – Se refiere a las técnicas para el descubrimiento de conocimiento existente en datos y no conocido. – Utiliza técnicas estadísticas, descubrimiento de conocimiento, Clustering, Datamining, IA, etc. PARA MÁS INFORMACIÓN... Ballard, Herreman, Shau, Bell, Kim y Valencic. Data Modeling Techniques for Data WareHousing. IBM. 1998. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 44 22 16/08/2014 El Futuro de las BD Bases de datos NOSQL (Not Only SQL) – Se origina en la evolución del Internet; – No es un tipo de base de datos, sino un conjunto de tipos de bases de datos, por ejemplo, las bases de datos documentales que son las más conocidas. – En NoSQL NO existe ACID (Atomicity, Consistency, Isolation, durability) como en las bases de datos relacionales. – Existe BASE (Basic Availability, Soft State, Eventual Consistency) que da características para el manejo de datos. Manipulación de bases de datos por medio de dispositivos móviles PARA MÁS INFORMACIÓN... Ballard, Herreman, Shau, Bell, Kim y Valencic. Data Modeling Techniques for Data WareHousing. IBM. 1998. 11/02/2013 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 45 23