DISEÑO DE ARCHIVOS Y BASES DE DATOS.
Transcripción
DISEÑO DE ARCHIVOS Y BASES DE DATOS.
Tema 5: Conceptos de Diseño en Archivos y Bases de Datos Ing. Elizabeth Guerrero Introducción Conceptos: Diseño en Archivos, Bases de Datos (Campos, Registros, archivos y Bases de Batos) Diseño de interacciones con la base de datos Metodología de diseño de bases de datos Diseño de una Base de Datos Las fases o etapas involucradas en el diseño de la base Errores que se pueden encontrar en el diseño de una base de datos En un sistema de información es primordial el almacenamiento de datos porque: 1. Los datos deben estar disponibles para su uso 2. Los datos deben ser exactos y consistentes 3. La información obtenida de los datos almacenados debe estar en una forma que sirva para administrar, planear, controlar y tomar decisiones Enfoques para el almacenamiento de datos: ◦ Almacenar datos en archivos individuales ◦ Bases de Datos Archivo: Es un grupo de registros que contienen datos sobre un registro en específico. Ejemplo: el archivo de clientes, el archivo de productos, o de empleados. Registro: Es una colección o grupo de campos que describen un miembro de una entidad. Ejemplo, el record de un cliente, o de un producto. Campo: es un conjunto de caracteres capaz de suministrar una determinada característica referida a un concepto. Cada campo tiene nombre, tipo de dato y tamaño. Ejemplo: en la entidad Cliente, algunos campos pueden ser Nombre, Apellido, Dirección. Bases de Datos: Una base de datos es una colección integrada de datos almacenados en distintos tipos de entidades, de forma que sean accesibles para múltiples aplicaciones. Entidad: Es cualquier objeto o evento sobre el cual alguien escoge recopilar datos, podría ser una persona, lugar, objeto u evento. Ejemplo: Cliente, Orden, Producto, distribuidor. Atributo: son las propiedades específicas que describen una entidad. Por ejemplo, una entidad empleado puede describirse por: ◦ Nombre, ◦ Edad, ◦ Dirección ◦ Salario ◦ Cargo Un tipo de entidad: define un conjunto de entidades que poseen los mismos atributos. Ejemplo: El tipo de entidad ESTUDIANTE cuyos atributos son: nombre,apellido, cédula, fecha de nacimiento, telefono, dirección… Una entidad del Tipo de entidad ESTUDIANTE puede ser: María, Peréz, 21098120, 02/04/2000, 0414-9999999, Casa no2 vereda 3, sector campo alegre…. Cada dato corresponde al atributo del tipo de entidad ESTUDIANTE Clave o "Key“: Es un campo que se usa para localizar, acceder o identificar un record en específico. Consiste en la evaluación que realiza el analista de sistema en conjunto con el administrador de la base de datos, con el objetivo de determinar cuales datos son necesarios para el sistema y las acciones del sistema sobre la base de datos. El administrador de la base de datos debe tener en cuenta las siguientes responsabilidades: Evaluar la conveniencia de la solicitud del analista. Describir los métodos para interactuar con la base de datos. Asegurar que la aplicación no dañe la base de datos o que la afecte de manera adversa a las necesidades de otras aplicaciones. El diseño de una base de datos es un proceso complejo que abarca decisiones a muy distintos niveles. La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de estos subproblemas independientemente, utilizando técnicas específicas. Así, el diseño de una base de datos se descompone en diseño conceptual, diseño lógico y diseño físico. Realidad Recolección y Análisis de Requerimientos Requerimientos de la BD Diseño Conceptual Esquema Conceptual Diseño Lógico Esquema Lógico Diseño Físico Esquema Interno (para el mismo DBMS) Este parte de las especificaciones de requisitos de usuario y su resultado es el esquema conceptual de la base de datos. Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del sistema de gestión de base de datos que se vaya a utilizar para manipularla. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta información. Éste parte del esquema conceptual y da como resultado un esquema lógico. Un esquema lógico es una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de sistema manejador de base de datos. Un modelo lógico es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red, etc.). El diseño lógico depende del tipo de sistema de gestión de base de datos que se vaya a utilizar, no depende del producto concreto. Este parte del esquema lógico y da como resultado un esquema físico. Un esquema físico es una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del sistema de gestión de base de datos concreto y el esquema físico se expresa mediante su lenguaje de definición de datos. Ejemplo de Diseño de base de datos Las fases o etapas involucradas en el diseño de la base de datos son: 1. Análisis de requisitos 2. Diseño conceptual 3. Elección del sistema gestor de bases de datos 4. Diseño lógico 5. Diseño físico 6. Instalación y mantenimiento Se utiliza para recabar información sobre el uso que se piensa dar a la base de datos. Para ello se debe realizar las siguientes actividades: Tareas: Determinación de los requisitos del sistema Identificación de las principales áreas de la aplicación y grupos de usuarios. Estudio y análisis de la documentación existente relativa a las aplicaciones. Estudio del entorno de operación actual. Estudio del uso de la información (transacciones, frecuencias y flujos de datos) Entregable o resultados Se debe generar un documento con la especificación de requerimientos. En el se incluye: Descripción del sistema en lenguaje natural Lista de requerimientos organizados de forma jerárquica Diagramas de flujo de datos (DFD) Diagrama de Casos de uso Producir un esquema conceptual de la base de datos independiente del SGBD OBJETIVOS DEL DISEÑO CONCEPTUAL Comprensión de la estructura, semántica, relaciones y restricciones de la Base de Datos. Descripción estable del contenido de la base de datos. Comunicación entre usuarios, analistas y diseñadores. Características Deseables del Modelo: Expresividad (diferentes tipos de datos, relaciones y restricciones). Sencillez (lo bastante simple para que los usuarios lo comprendan). Minimalidad (número pequeño de conceptos básicos). Representación gráfica (notación gráfica fácil de interpretar). Formalidad (especificación formal y sin ambigüedad de los datos). Enfoques para el Diseño del Esquema Conceptual Enfoque centralizado: Los requisitos de distintas aplicaciones y grupos de usuarios se combinan en un único conjunto de requisitos antes de comenzar el diseño del esquema. Enfoque de integración de vistas: Se diseña un esquema (o vista) para cada tipo de usuarios o aplicaciones basado únicamente en sus requisitos. Durante la etapa de integración de vistas, dichos esquemas se combinan o integran para formar un esquema conceptual global (del cual cada vista individual puede considerarse un esquema externo). Tareas ‐ Modelado de los datos del sistema Entregable o Resultados ‐ Diagrama Entidad/Relación, diagrama CASE o diagrama de clases UML ‐ Diccionario de datos Sistema Gestor de Bases de Datos (DBMS): Es un software con capacidad para definir, mantener y utilizar una base de datos. Un sistema de gestión de bases de datos debe permitir definir estructuras de almacenamiento, acceder a los datos de forma eficiente y segura, etc. 1. Elección del modelo de datos (tipo de Sistema Gestor de Bases de Datos DBMS). Por ejemplo: DBMS relacional, objeto-relacional, orientado a objetos, multidimensional… 2. Elección del sistema gestor de bases de datos. Por ejemplo: Oracle 9i2, IBM DB2 UDB, Microsoft SQL Server, Interbase, Postgres, mysql, etc 3. Considerar los factores técnicos y no técnicos para realizar la elección del DBMS Factores técnicos 1. 2. 3. 4. 5. Organización de los datos independientemente de las aplicaciones que los vayan a usar (independencia lógica) y de los archivos en los que vayan a almacenarse (independencia física). Datos y aplicaciones accesibles a los usuarios y a otras aplicaciones de la manera más amigable posible (lenguajes de consulta: SQL, Query-by-example…) Datos gestionados de forma centralizada e independiente de las aplicaciones. No redundancia (los datos no deben estar duplicados), consistencia e integridad. Fiabilidad (protección frente a fallos). Factores técnicos 6. 7. 8. 9. Seguridad (no todos los datos deben ser accesibles a todos los usuarios). Capacidad de replicación y distribución Disponibilidad de herramientas de desarrollo de software Portabilidad Factores no técnicos 1. 2. 3. 4. Coste de la adquisición del software, del hardware y coste de mantenimiento. Coste de creación y conversión de la base de datos Coste de personal (formación y operación). Disponibilidad de servicios del proveedor. El diseño lógico de la base de datos consiste en crear un esquema conceptual y los esquemas externos en el modelo de datos del SGBD elegido. Tareas Transformar los esquemas obtenidos en el diseño conceptual en un conjunto de estructuras propias del modelo abstracto de datos elegido. En el caso de bases de datos relacionales: Conversión del diagrama E/R al modelo relacional Normalización de las tablas Resultado Conjunto de estructuras propias del modelo abstracto de datos (Por ejemplo: conjunto de tablas cuando se trabaja con bases de datos relacionales). El diseño físico de la base de datos consiste en elegir estructuras de almacenamiento (Por ejemplo: tablas, partición de tablas, creación de índices…) para que el rendimiento de la base de datos sea adecuado para las distintas aplicaciones a las que ha de dar servicio (tiempo de respuesta, aprovechamiento del espacio de almacenamiento, productividad de las transacciones). Tareas Estimar adecuadamente los diferentes parámetros físicos de nuestra base de datos, mediante técnicas analíticas (modelos matemáticos de rendimiento) y/o técnicas experimentales (prototipos, simulación o pruebas de carga). Preparar las sentencias DDL (Lenguaje de Definición de Datos) correspondientes a las estructuras identificadas durante la etapa de diseño lógico de la base de datos. Resultado Conjunto de sentencias DDL escritas en el lenguaje del SGBD elegido (incluyendo la creación de índices, selección de parámetros físicos, etc.). Casi siempre es necesario modificar el diseño de la base de datos tras su puesta en funcionamiento, por lo que se incluye explícitamente esta fase en el proceso de diseño de bases de datos. Instalación y puesta en marcha - Suele ser responsabilidad del DBA (Adminsitrador de las Bases de Datos), que se encarga de recopilar todas las sentencias DDL (lenguaje de definición de datos) necesarias para crear los esquemas de la base de datos. - A continuación, pueden cargarse los datos en la base de datos, para lo cual puede ser necesaria la implementación de rutinas de conversión. Mantenimiento Los cambios en el diseño de la base de datos son necesarios: -Para adaptarla a cambios en los requerimientos del sistema. -Para mejorar el rendimiento del sistema: Ajuste de los parámetros de configuración del DBMS. Casi todos los DBMSs incluyen utilidades de monitorización para supervisar el funcionamiento del sistema • Reorganización de las estructuras internas de la base de datos (por ejemplo: creación de índices) • Creación de tablas redundantes(vistas materializadas) Redundancia: Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos. Inconsistencia: Ocurre cuando existe información contradictoria o incongruente en la base de datos. Dificultad en el Acceso a los Datos: ocurre cuando los sistemas de procesamiento de archivos generalmente se conforman en distintas épocas y por distintos programadores, el formato de la información no es uniforme y se requiere de establecer métodos de enlace y conversión para combinar datos contenidos en distintos archivos. Aislamiento de los Datos: Se refiere a la dificultad de extender las aplicaciones que permitan controlar a la base de datos, como pueden ser, nuevos reportes, utilerías y demás debido a la diferencia de formatos en los archivos almacenados. Anomalías en el Acceso Concurrente: Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar los procesos que afectan a la base de datos. Problemas de Seguridad: Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el sistema, facilitando así el acceso a intrusos. Problemas de Integridad: Ocurre cuando no existe a través de todo el sistema procedimientos uniformes de validación para los datos.