Metodología de diseño Tema1. Introducción. • Diseño y ajuste práctico de bases de datos • (16.1, 16.2 y 16.5) Elmasri/Navathe 2002 • • Sistemas de información y sistemas de BD (SBD) • Análisis, diseño e implementación de BD –Fase 1: Obtención y análisis de requisitos –Fase 2: Diseño conceptual –Fase 3: Elección del SGBD –Fase 4: Diseño lógico –Fase 5: Diseño físico –Fase 6: Implementación y ajuste • Herramientas de diseño © A. Jaime 2005 DBD Tema 1 1 • © A. Jaime 2005 Sistemas de BD (SBD) en la empresa • • • • DBD Tema 1 DBD Tema 1 2 Tendencias en el uso de BD Forman parte de la mayoría de sistemas de información Muchas empresas tienen ABD (administrador de BD): supervisa y controla el ciclo de vida de las BD La gestión de las BD es decisiva para la empresa: – Datos: recurso cuya gestión y control es vital para garantizar un trabajo eficaz – Se informatizan cada vez más funciones: esto aumenta el volumen de datos a mantener actualizados – El uso de BD se consolida en las empresas – La complejidad de datos y aplicaciones crece – Muchas empresas reducen personal ofreciendo acceso directo a sus BD (Amazon, Ebay, ...) Los SBD permiten: – Que varias aplicaciones (programas) utilicen la misma BD – Gran rendimiento en proceso de transacciones – Accesos ocasionales (directivos, etc.) © A. Jaime 2005 Es un proceso sistemático a través del cuál se diseña la BD completa Hay varias metodologías implícitas a herramientas de diseño (como Designer 2000 de Oracle entre muchas otras) Las BD con más de 30 tipos de entidad y otras tantas relaciones necesitan diseñarse cuidadosamente mediante una metodología. Las BD pueden contener gigabytes de datos y cientos de usuarios. Incluso las hay que funcionan 24 horas al día y 7 días a la semana. En ellas domina el procesamiento de transacciones. 3 • • Hasta mitad de los 80 se tendía a BD centrales y grandes controladas por un SGBD. La tendencia se ha invertido debido a: – BD “personales” en PCs gracias a productos similares a SGBD como ACCESS o EXCEL – Se puede copiar parte de una BD grande a un PC, trabajar con ella y actualizar después la BD inicial – Se pueden fusionar varias BD en otra mayor – SGBD distribuidos y cliente-servidor: • Permiten repartir una BD en varios ordenadores y mejorar el control y el procesamiento local. • Acceso remoto como cliente o mediante web. – Se utilizan mucho los diccionarios de datos. Son mini SGBD de metadatos. Almacenan y controlan: • Descripción de los esquemas de BD • Por cada tabla: tipo de fichero, índices, nº de tuplas, tamaño de las filas, ... • Usuarios de las BD, derechos de acceso ... • Descripciones de transacciones y aplicaciones y su relación con los usuarios • Relación entre transacciones y las tablas, etc. a las que se accede. Para reconocer transacciones afectadas por cambios en definición de tablas • Estadísticas, como frecuencias de consultas y transacciones, o accesos a porciones de BD © A. Jaime 2005 DBD Tema 1 4 Ciclo de vida de un sistema de información • • Suele formar parte de un sistema de información El ciclo de vida del SBD consiste en: 1. Definición del sistema: se concretan sus límites, usuarios y aplicaciones. También las interfaces (varios tipos de usuario), tiempos de respuesta máximos, necesidad de almacenamiento y proceso 2. Análisis y diseño de la BD: análisis de Figura posterior 1. Análisis de factibilidad: se analizan las áreas posibles de aplicación, el coste de recoger y diseminar la información, la relación costebeneficio, la complejidad de los datos y de los procesos, y la prioridad de cada aplicación. 2. Obtención y análisis de requisitos: los requisitos se obtienen interactuando con los futuros usuarios. Se identifican sus necesidades y problemas, dependencias entre aplicaciones, comunicaciones y procesos que generan informes. 3. Diseño: de las BD y de los programas que la usan. 4. Implementación: se hacen los programas, se crea y carga la BD y se prueban las transacciones. 5. Validación y prueba de aceptación: se comprueba que se satisfacen los requisitos de los usuarios y los criterios de rendimiento. 6. Despliegue, operación y mantenimiento: normalmente se da formación a los usuarios. La operación empieza cuando está disponible y validada toda la funcionalidad del sistema. Si surgen nuevos requisitos, se pasa por todas las fases anteriores. En la fase de operación es importante supervisar el rendimiento y realizar el mantenimiento del sistema. Ciclo de vida de un SBD requisitos de datos. Diseño conceptual, lógico y físico 3. Implementación de la BD: definición de los esquemas de BD conceptual (sin detalle de almacenamiento), externo (vistas) e interno (con estructuras de almacenamiento). Se crean tablas vacías y se implementan los programas. 4. Carga o conversión de los datos: la BD se llena de datos, bien a partir de otros ficheros existentes o tecleando los datos. 5. Conversión de aplicaciones: si existían aplicaciones relacionadas, habrá que adaptarlas al nuevo sistema. 6. Prueba y validación 7. Operación: si funcionaba otro sistema anterior, es habitual que funcionen los dos por un tiempo. 8. Supervisión y mantenimiento: Tanto los datos almacenados como los programas pueden necesitar. cambios y reorganizaciones DBD Tema 1 5 Diseño de BD • • • • • © A. Jaime 2005 DBD Tema 1 6 Análisis, diseño e implementación de BD Incluye el diseño de las estructuras lógica y física para atender a las necesidades de información de determinados usuarios y para ciertas aplicaciones Objetivos del diseño: – Satisfacer los requisitos de información – Estructura de información fácil de entender – Soportar requisitos de proceso como tiempo de respuesta y espacio de almacenamiento Estos objetivos son difíciles de lograr y medir. Las ventajas en unos suponen desventajas en otros. Por ejemplo estructurar de forma fácil de entender suele implicar peor rendimiento. El resultado del diseño es un esquema de BD rígido que no se podrá modificar fácilmente. El diseño de BD y el de programas tienen una fuerte influencia mutua. Ambos se deben efectuar en coordinación. Las herramientas actuales de diseño combinan cada vez más ambos aspectos. Estructura y contenido de la BD Programas de aplicación Fase 1: Obtención y análisis de requisitos Requisitos de datos Requisitos de procesamiento Fase 2: Diseño conceptual de la BD Esquema conceptual Diseño de transacciones Diseño de programas Fase 3: Elección del SGBD Fase 4: Diseño lógico Esquema lógico Vistas Fase 5: Diseño físico Esquema interno Fase 6: Implementación y ajuste Instrucciones LDD Instrucciones LDA Dependen del SGBD © A. Jaime 2005 Implementación de transacciones Implementación de programas La figura no muestra gran parte de las interacciones entre estructura y programas Tampoco muestra la mayor parte de ciclos de realimentación (líneas discontinuas) © A. Jaime 2005 DBD Tema 1 7 © A. Jaime 2005 DBD Tema 1 8 Fase 1: obtención y análisis de requisitos • • Fase 1: obtención y análisis de requisitos (2) Objetivo: conocer y analizar las expectativas de los usuarios Pasos: 1. Identificar: las áreas de aplicación, grupos de usuarios de la BD y personas cuyo trabajo se verá afectado por la BD. Se eligen personas clave y comités para los siguientes pasos. 2. Estudiar documentación existente: relacionada con las aplicaciones: manuales de política de empresa, formularios, informes y diagramas de organización. 3. Estudiar el entorno de operación y cómo se usará la información. Incluye descubrir qué tipos de transacción se necesitan y su frecuencia de uso. También el flujo de información en el sistema, la distribución geográfica de los usuarios, el origen de las transacciones, el destino de los informes. Se especifican datos y resultados de cada transacción. 4. Cuestionarios a los usuarios: opcionales. Se pregunta por sus prioridades y la importancia que dan a cada aplicación. También puede entrevistarse a personas clave para estimar el valor de la información y para establecer prioridades. • • • • • • • Requisitos iniciales: comprensión de un sistema que aún no existe. Pueden ser informales, incompletos, inconsistentes o parcialmente incorrectos. Hay que trabajar hasta conseguir una especificación. © A. Jaime 2005 DBD Tema 1 9 © A. Jaime 2005 Fase 2: Diseño conceptual • • • • • General y expresivo: distinguiendo tipos de datos, relaciones y restricciones • De fácil comprensión incluso para usuarios. Mejor gráfico, para facilitar su interpretación. • Minimalista (pocos conceptos) y formal (sin ambigüedad) • Diseño de transacciones: especificar funcionalidad. – Importante diseñar pronto las ya conocidas (para que el esquema recoja los datos que precisan). – Importante conocer la frecuencia de ejecución esperada. Regla 80-20: el 80% de la carga se debe al 20% de transacciones (las más frecuentes) – Técnica: identificar entrada/salida y funcionalidad. Diagramas UML: de transición de estados, actividades, secuencia y de colaboración. – Tipos de transacciones: de recuperación (obtienen datos), de actualización (modifican la BD) y mixtas. DBD Tema 1 DBD Tema 1 10 Fase 2: Diseño conceptual: enfoques Resultados: esquema de BD y diseño de transacciones Esquema conceptual: usa un modelo de datos de alto nivel (como E/R), independiente del SGBD: – Muestra la estructura de la BD, el significado de los datos, las relaciones y restricciones – La estructura no debería cambiar. Se completará con decisiones de diseño más cercanas al SGBD (diseño lógico y físico) – Interesa que el modelo de datos sea: © A. Jaime 2005 Participación de los usuarios en el desarrollo: aumenta su satisfacción con el producto final Actualmente se usan reuniones y grupos de trabajo que incluyen a todos los implicados. También se tiende a que los diseñadores se integren en el lugar de trabajo donde se utilizará la aplicación. Técnicas de especificación de requisitos: análisis orientado a objetos, diagramas de flujo de datos, ... Usan diagramas para organizar y presentar los requisitos de proceso de información. Se pueden complementar con textos, tablas, etc. Técnicas de especificación formal: como la notación y metodología Z. Apenas se usan en la actualidad, aunque podrían estandarizarse. Herramientas automatizadas Upper CASE: ayudan a comprobar la consistencia y completitud de las especificaciones. Fase de obtención y análisis de requisitos: puede consumir mucho tiempo. Corregir un error de esta fase es mucho más caro que corregir uno de implementación. Si el error no se corrige, el resultado no satisfará a los usuarios, pudiendo incluso no utilizarse. 11 Centralizado: – Antes de diseñar se juntan los requisitos de las aplicaciones y grupos de usuarios en un único documento. – Juntar requisitos puede ser una tarea larga. El ABD decide cómo hacerlo. – El problema se ha venido resolviendo mediante consultores/diseñadores expertos. Integración de vistas: – Se diseña un esquema (vista) por aplicación o grupo de usuarios. Después se juntan los esquemas para obtener uno global. – Este enfoque va ganando aceptación. Con BD grandes se necesita una metodología y una herramienta (pocas herramientas lo soportan). – En la herramienta hay que introducir las correspondencias entre los datos y relaciones. Además hay que resolver conflictos entre vistas y verificar la consistencia entre esquemas. © A. Jaime 2005 DBD Tema 1 12 Fase 2: Diseño conceptual Fase 2: Diseño conceptual: estrategias • • Enfoque de integración de vistas: Pasos • Suelen seguir un enfoque incremental: identificar un esquema básico e irlo modificando, refinándolo o desarrollándolo. Algunas estrategias son: – Descendente: parte de un esquema básico y lo va refinando sucesivamente. • Ejemplo: al añadir atributos a un tipo de entidad se ve que conviene dividirlo en varios tipos de entidad de menor nivel o refinarlo en varias subclases (1) – Ascendente: parte de un esquema básico y se van combinando cosas. Ejemplo: empezar con atributos e irlos agrupando en tipos de entidad o relaciones. Identificar atributos comunes en varios tipos de entidad y agruparlos en una superclase (1) – De adentro hacia fuera: caso especial del ascendente. Empieza por los conceptos más evidentes. Luego se agregan progresivamente los más relacionados con los ya considerados. – Mixta: empieza de manera descendente y se hacen varias particiones del esquema que se diseñan ascendentemente. Por último se combinan los esquemas obtenidos. _________ (1) Estos conceptos se estudian en los temas 2 y 3 © A. Jaime 2005 DBD Tema 1 En integración de vistas se diseña un esquema o vista por aplicación o grupo de usuarios. Las vistas son más pequeñas y fáciles de diseñar. Al integrarlas en un esquema global se necesita una metodología que incluye los siguientes pasos: – Identificar correspondencias y conflictos: antes de integrarlas, se detectan constructores que aparecen en varias vistas y representan el mismo concepto del mundo real. Hay varios tipos de conflicto: • De nombres: varios nombres para el mismo concepto o el mismo para varios conceptos. • De tipos: por ejemplo departamento en una vista es un tipo de entidad y en otro un atributo. • De dominio: por ejemplo teléfono es numérico en un sitio y texto en otro. O se usa $ en un sitio y € en otro. • Entre restricciones: se indica como clave de un tipo de entidad atributos distintos. O se indica que una asignatura tiene un profesor en un sitio (N:1) y en otro que puede tener varios (M:N). – Ajustar vistas: se modifican las vistas para resolver algunos de los conflictos detectados. – Fusionar vistas: los conceptos que se corresponden se representan una sola vez en el esquema global. – Reestructurar: paso opcional, donde se intentaría eliminar redundancias o complejidad innecesaria. © A. Jaime 2005 13 Fase 2: Diseño conceptual • • • Escalera binaria: se empieza por dos vistas similares. La vista resultante se integra con la más similar de las restantes y así sucesivamente. Adecuada para la integración manual. N-aria: se integran todas las vistas a la vez. Precisa herramientas informáticas. Todavía no hay herramientas comerciales para ello. Binaria equilibrada: se emparejan todas las vistas y se integran. Los esquemas resultantes se vuelven a emparejar e integrar y así sucesivamente. Mixta: se hacen grupos de vistas similares. Cada grupo se integra por separado. Los esquemas resultantes se vuelven a agrupa por similitud e V1 integrar y así sucesivamente. © A. Jaime 2005 DBD Tema 1 • Esq Vi2 Vi1 V4 V3 V1 V2 Esq V1 V2 V3 V4 Esq Vi1 • Vi2 V1 V2 V3 V4 Esq Vi1 14 Fase 3: Elección del SGBD Enfoque de integración de vistas: Estrategias • DBD Tema 1 • Vi2 Vi. V2 V3 V4 V5 ... 15 Costes económicos: – Compra del SGBD: opciones (lenguajes, herramientas para GUI, respaldo/recuperación, ...). Tomar versión y plataforma que interesa. – Mantenimiento: para la actualización de versiones. – Renovación del hardware: puede hacer falta más memoria, disco, controladores más rápidos, etc. – Conversión de la BD (o creación): coste difícil de estimar (se subestima). Se pone a funcionar junto al sistema viejo (cuando lo hay) hasta probarlo bien. – Nuevo personal: cuando se compra por primera vez un SGBD. Se crea el puesto de ABD, ... – Formación: para el ABD, programadores, etc. – Operación: este coste es independiente del SGBD Factores organizativos: – Nueva filosofía: por ejemplo cuando se elige OO frente a relacional. – Conocimiento del SGBD: optar por uno desconocido implicará gasto en formación – Asistencia técnica: al principio se precisa mucha ayuda. Interesa disponer de un buen servicio. Factores técnicos: modelo de datos (relacional, oo, ...), qué estructuras e índices tiene, qué interfaces, lenguajes de consulta, herramientas de desarrollo, comunicación con otros SGBD, sistemas operativos en los que funciona. También qué aplicaciones existen para respaldo, recuperación, mejora del rendimiento, seguridad y cómo pueden establecerse restricciones de integridad © A. Jaime 2005 DBD Tema 1 16 Fase 4: Diseño lógico Fase 5: diseño físico (Transformación al modelo de datos) • • • • Se transforma el esquema conceptual (por ejemplo E/R) al modelo de datos del SGBD (por ejemplo relacional) obteniendo un esquema también llamado conceptual y esquemas externos (vistas). La transformación se suele plantear en dos etapas: 1. Independiente del SGBD: por ejemplo E/R se transforma en tablas, sin considerar características disponibles en el SGBD concreto 2. Adaptación al SGBD: se incluyen restricciones, índices, etc. disponibles en ese SGBD El resultado es un conjunto de instrucciones en LDD (create table ...). Algunas pueden incluir detalles de diseño físico (siguiente fase). Las herramientas CASE suelen disponer de opciones para obtener automáticamente las instrucciones en LDD • • Objetivo: – Estructurar los datos adecuadamente en el almacenamiento (tipos de fichero, índices, ...) – Garantizar un buen rendimiento con las aplicaciones de la BD El SGBD ofrecerá ciertos tipos de fichero y caminos de acceso: – – – – • Índices de varios tipos Técnicas de direccionamiento calculado Agrupación de registros relacionados en un bloque Punteros entre registros Criterios para tomar decisiones de diseño físico: se suelen concretar los límites superior y medio de cada uno 1. Tiempo de respuesta: el necesario para ejecutar una transacción. Influyen el tiempo de acceso a la BD, la carga del sistema, la planificación de tareas en el sistema operativo y retrasos de comunicación 2. Aprovechamiento de espacio: el que ocupan los ficheros y sus estructuras 3. Productividad de las transacciones: número medio de transacciones que se pueden procesar por minuto © A. Jaime 2005 DBD Tema 1 17 © A. Jaime 2005 Fase 5: diseño físico (2) • • • El resultado del diseño físico es la determinación inicial del tipo de fichero para cada tabla de la BD y los índices (u otros caminos de acceso) El ajuste de BD (tunning) continúa a lo largo de la existencia de la BD siempre que se descubra algún problema de rendimiento o cambien los requisitos • • • • • • • DBD Tema 1 18 Fase 6: Implementación y ajuste del SBD Se estima por cada fichero (tabla): – El tamaño de los registros (filas) y el número de registros (el rendimiento depende de cómo sean) – Sus patrones de actualización y obtención de datos (para todas las transacciones en su conjunto) – Su crecimiento tanto en el tamaño del registro como en el número de registros © A. Jaime 2005 DBD Tema 1 19 La implementación de la BD suele realizarla el ABD (en combinación con los diseñadores de BD). El ABD ejecuta las instrucciones en LDD y LDA creando tablas vacías. Después se cargan los datos. Si existía un sistema anterior se necesitarán rutinas de conversión. Acabada la implementación comienza la fase de operación. La mayoría de SGBD tienen utilidades de supervisión que recogen estadísticas de rendimiento, como número de ejecuciones de cada transacción, actividad de E/S con cada fichero, frecuencia de utilización de cada índice. Si cambian los requisitos o surgen problemas de rendimiento habrá que ajustar el diseño de la BD. El ajuste puede suponer añadir o eliminar tablas, cambiar el tipo de fichero a alguna tabla, añadir o eliminar índices, reescribir transacciones o consultas, etc. © A. Jaime 2005 DBD Tema 1 20 Herramientas de diseño • Herramientas de diseño (2) • Conviene usarlas cuando: • Crece la convicción de que: resultados) – Son valiosas, sobre todo cuando el problema abordado tiene cierto tamaño. – El diseño de esquemas y aplicaciones deben ir de la mano • – Buena presentación de los diagramas: estéticamente aceptables, fáciles de leer si ocupan varias páginas. No es fácil conseguirlo al generarlos de forma automática. – Verificar que el diseño satisface los requisitos. Para ello se necesita representar los requisitos internamente. Hay muchas herramientas CASE (Ing. SW asistida por ordenador). Suelen incluir algunos de estos recursos: – Diseño gráfico de diagramas: como E/R o UML. Representan diseños conceptuales y se almacenan, se pueden modificar, ... – Diseño lógico automático: generando instrucciones LDD para diversos SGBD, que podrán ser modificadas. – Normalización automática: las dependencias funcionales (en las que se basa el proceso más básico de normalización) se introducen en los diseños conceptual y lógico. No suelen generar soluciones alternativas. – Diseño físico: proponen algunos índices, pero todavía es una actividad donde las decisiones las toman personas. © A. Jaime 2005 DBD Tema 1 21 Características deseables en una herramienta: – Interfaz fácil de usar – Que analice automáticamente tareas como evaluar diseños alternativos (pros y contras) o identificar restricciones contradictorias (poco desarrollado) – Que compare diseños alternativos basándose en reglas heurísticas (características que dan buenos – La complejidad de los datos (relaciones, restricciones) produce muchas alternativas de diseño. – La BD consta de cientos de tipos de entidad y relación. Entonces la meta-información constituye otra BD. • Algunas herramientas: – ER Studio y DB Artisan (Embarcadero Technologies) – Developper 2000 y Designer 2000 (Oracle) – System Architect 2001 (Popkin software) – Platinum Enterprise Modeling Suite: Erwin, BPWin, Paradigm Plus (Platinum Technology) – Powertier (Persistence Inc.) – Rational Rose (Rational) – RW Metro (Rogue Ware) – XCase (Resolution Ltd.) – Enterprise Application Suite (Sybase) – Visio (MicroSoft) © A. Jaime 2005 DBD Tema 1 22