2. Proceso de creación de bases de datos Contenidos 2.1 Ciclo de vida de un sistema de aplicación de bases de datos 2.2.1 El proceso de diseño 2.2.2 Conceptos y etapas de un método de diseño 2.2.3 Características deseables de un método 1 2. Proceso de creación de bases de datos Bibliografía [EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 16) [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 14) [MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseño de bases de datos relacionales. Ra-Ma. (Cap. 8) [MP 1993] De Miguel, A.; Piattini, M.: Concepción y diseño de bases de datos: del Modelo E/R al Modelo Relacional. Ra-Ma. [CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical Approach to Design, Implementation and Management. 2 nd edition. Addison-Wesley. (Cap. 4) 2
2.1 Ciclo de vida de un sistema de aplicación de bases de datos Base de Datos mediana o grande Varias decenas de gigabytes de información Esquema con más de 30 o 40 elementos Cientos de consultas y varios grupos de aplicaciones De 25 a varios cientos de usuarios muchas necesidades diferentes que satisfacer» DISEÑO COMPLICADO Ej. Bases de datos de industrias de servicios (reservas de vuelos, hoteles) BD operativa 24 h/día, 7 días/semana Cientos de transacciones por minuto, desde terminales locales / remotas 3 2.1 Ciclo de vida de un sistema de aplicación de bases de datos Sistemas de Procesamiento de transacciones de alto rendimiento Promedio de transacciones ejecutadas por minuto Tiempos medio y máximo de respuesta imprescindible Parámetros decisivos» Diseño adecuado de la BD, tal que... Satisfaga requisitos de contenido y de procesamiento Proporcione una estructuración de la información natural y entendible Permita y facilite la EVOLUCIÓN del sistema 4
2.1 Ciclo de vida de un sistema de aplicación de bases de datos Sistema de Base de Datos Sistema de Información SI Sw Aplicación SBD BD SGBD Mediante el SI, la organización controla sus RECURSOS DE INFORMACIÓN Datos + SGBD Hardware + Medios de almacenamiento Software de aplicación (acceso/actualización de datos) Personal que usa los datos Programadores de aplicaciones 5 UN CICLO DE VIDA DE UN SISTEMA DE INFORMACIÓN (macro ciclo de vida) Definición de Objetivos. Análisis de Factibilidad. Definición del Sistema. Equipo de Desarrollo. Plan de Trabajo. Datos. Funcionalidad. Rendimiento. Protección de Datos. Flexibilidad, etc. BD y Programas de aplicación DEFINICIÓN Y ESTUDIO DE VIABILIDAD RECOPILACIÓN DE REQUISITOS DE USUARIO ANÁLISIS Y DISEÑO BD y Programas Carga/Conversión de datos IMPLEMENTACIÓN Pruebas de rendimiento y comportamiento. SBD Validado: requisitos OK. PRUEBA Y VALIDACIÓN PUESTA EN MARCHA Y OPERACIÓN Nuevas necesidades de datos? Nuevas aplicaciones? SUPERVISIÓN Y MANTENIMIENTO 6
UN CICLO DE VIDA DE UN SISTEMA DE APLICACIÓN DE BASES DE DATOS (micro ciclo de vida) Alcance del sistema de BD, usuarios y aplicaciones. Interfaces de usuario. Requisitos de datos y de procesamiento Estructura lógica y física de la BD en el SGBD elegido. Aplicaciones y transacciones. Esquemas conceptual, interno y externos de la BD. Carga/Conversión de datos. Aplicaciones y transacciones Pruebas: Posible ajuste de la estructura física o lógica de BD. SBD Validado: requisitos OK. DEFINICIÓN DEL SISTEMA Y RECOPILACIÓN DE REQUISITOS DISEÑO DE LA BASE DE DATOS IMPLEMENTACIÓN DE LA BASE DE DATOS PRUEBA Y VALIDACIÓN OPERACIÓN Nuevas necesidades de datos? Nuevas aplicaciones? SUPERVISIÓN Y MANTENIMIENTO 7 Proceso de Diseño de Bases de Datos Diseñar la ESTRUCTURA LÓGICA Y FÍSICA de una o más bases de datos para satisfacer las NECESIDADES DE INFORMACIÓN de los usuarios en una organización, para un conjunto definido de APLICACIONES OBJETIVOS del diseño Satisfacer REQUISITOS DE CONTENIDO de información de usuarios y aplicaciones Proporcionar estructuración de datos NATURAL y FÁCIL DE ENTENDER Soportar REQUISITOS DE PROCESAMIENTO y RENDIMIENTO Conseguir un ESQUEMA DE BASE DE DATOS FLEXIBLE Modificable una vez implementada la BD cambios en los requisitos 8
Diseño de BD Tarea larga y costosa... tarea de expertos?... es un arte? Hay que seguir PROCEDIMIENTOS ORDENADOS y METÓDICOS MÉTODO de diseño para desarrollo de bases de datos Conjunto de modelos de datos, lenguajes y otras herramientas que facilitan la representación de los datos en cada fase del proceso de diseño de una base de datos, junto con las reglas que permiten el paso de una fase a la siguiente 9» HERRAMIENTA: Recurso particular para realizar operaciones que se prevén en el método: Diagramas, Grafos, Teorías MODELOS DE DATOS, LENGUAJES DE DATOS, Documentación» MODELO DE DATOS: Conjunto de conceptos, reglas y convenciones que permiten describir y manipular datos del minimundo. El esquema obtenido es la visión de la realidad que tiene el diseñador.» LENGUAJE DE DATOS: Definición de una sintaxis sobre un Modelo de Datos (SQL)» Otras HERRAMIENTAS: CASE, adquisición de requisitos, diccionario de datos 10
Un Método de Diseño de Base de Datos Relacionales 1. RECOPILACIÓN DE REQUISITOS DE USUARIO 2. DISEÑO CONCEPTUAL 3. ELECCION DEL SGBD 4. DISEÑO LÓGICO 5. DISEÑO FÍSICO 6. IMPLEMENTACIÓN 11 Fases de un Método de Diseño de Bases de Datos Relacionales (a1) DISEÑO CONCEPTUAL ANÁLISIS DE REQUISITOS REQUISITOS DE INFORMACIÓN CONCEPTUALIZACIÓN DIAGRAMAS E - R DEL SISTEMA ACTUAL + ALTERNATIVAS DIAGRAMAS E - R DEL SISTEMA NUEVO (a2) DISEÑO DE TRANSACCIONES Y APLICACIONES ANÁLISIS DE REQUISITOS DEL SISTEMA REQUISITOS DE PROCESAMIENTO ESPECIFICACIÓN FUNCIONAL DEL SISTEMA DIAGRAMAS DE PROCESOS DEL SISTEMA ACTUAL + ALTERNATIVAS DIAGRAMAS DE PROCESOS DEL SISTEMA NUEVO Esquema CONCEPTUAL MODELO DE PROCESOS Elección del SGBD Restricciones de rendim iento, Frecuencias de acceso, etc. DISEÑO LÓGICO Esquema LÓGICO DISEÑO DE PROGRAMAS DE APLICACIÓN Configuración y características de los equipos y del SO DISEÑO FÍSICO Esquema INTERNO IMPLEMENTACIÓN BD Y CARGA DE DATOS IMPLEMENTACIÓN DE PROGRAMAS 12
(a1) Diseño del contenido y la estructura de la BD (1) DISEÑO CONCEPTUAL Incluye las siguientes fases: 1. Análisis de los requisitos de usuario recogidos. 2. Conceptualización = Diseño del Esquema Conceptual de datos Obtiene el ESQUEMA CONCEPTUAL de la BD Descripción de REQUISITOS de INFORMACIÓN del sistema INDEPENDIENTE de usuarios,aplicaciones,sgbd específico, rendimiento,... Expresado mediante un Modelo de Datos Conceptual -- Modelo ER 13 (a1) Diseño del contenido y la estructura de la BD (2) DISEÑO LÓGICO Transforma el Esquema Conceptual en un ESQUEMA LÓGICO, expresado en el Modelo de Datos... Lógico diseño lógico INDEPENDIENTE DEL SISTEMA pero DEPENDIENTE DEL MODELO DE DATOS del SGBD diseño lógico DEPENDIENTE DEL SISTEMA [según la ARQUITECTURA DE TRES NIVELES del SGBD] Obtiene ESQUEMA CONCEPTUAL en el modelo de datos elegido + ESQUEMAS EXTERNOS para aplicaciones específicas 14
(a1) Diseño del contenido y la estructura de la BD (y 3) DISEÑO FÍSICO Objetivo: conseguir la implementación del Esquema Lógico más eficiente posible Decisiones en esta fase pueden afectar al Esquema Lógico, pero no es conveniente [según la ARQUITECTURA DE TRES NIVELES del SGBD] Obtiene ESQUEMA INTERNO Descripción de la implementación de la BD en un determinado SGBD 15 (a2) Diseño del procesamiento de la BD y de las aplicaciones de software (1) Diseño de transacciones y aplicaciones A partir de los requisitos de procesamiento...... produce MODELO DE PROCESOS: descripción de alto nivel de Aplicaciones y transacciones (procesos, tareas...) desarrolladas en la organización, y Información utilizada e intercambiada BD = conjunto de simples depósitos de información Se pierde visión de datos como recurso global visión que sí proporciona el esquema conceptual 16
(a2) Diseño del procesamiento de la BD y de las aplicaciones de software (1) Diseño de programas de aplicación Produce especificaciones de alto nivel del comportamiento de las aplicaciones: estructura de los programas y cómo acceden a qué información de la base de datos,... Implementación de transacciones y aplicaciones Produce especificaciones detalladas de los programas de aplicación y quizás, el código de los programas (expresado en un LP determinado) 17 Tradicionalmente... Diseño de BD centrado en (a1) guiado por los datos Diseño de SW centrado en (a2) guiado por los procesos Ambas actividades de forma coordinada, pues... Modelo de Procesos y Esquema Conceptual deben ser... mutuamente consistentes: sin conflictos entre ellos mutuamente completos: Dato requerido por las operaciones representado en el Esquema Conceptual, y Operación requerida por la BD reflejada en los procesos del sistema El diseño físico de la BD está influido por las aplicaciones forma y frecuencia de acceso a los datos, restricciones de rendimiento, etc. En el diseño de los programas de aplicación se hace referencia a los elementos que tiene el Esquema Lógico de la base de datos Nuestro enfoque: guiado por los datos 18