B3-T1 Modelo ER _ DFD.pdf
Document Details
Uploaded by frsoal
Full Transcript
1. Modelos 1.1. Tipos de modelos. E/R Los modelos de base de datos son esquemas o representaciones abstractas que definen cómo se estructuran y organizan los datos, así como las relaciones entre ellos. Principales modelos: Modelos: Lógico - Conceptual - Físico Reglas de transformac...
1. Modelos 1.1. Tipos de modelos. E/R Los modelos de base de datos son esquemas o representaciones abstractas que definen cómo se estructuran y organizan los datos, así como las relaciones entre ellos. Principales modelos: Modelos: Lógico - Conceptual - Físico Reglas de transformación: para pasar de modelo conceptual al Lógico Modelo Conceptual →(Reglas de transformación) Modelo lógico → Modelo Físico - Modelo lógico: representación detallada de la estructura de una base de datos diseñada para reflejar cómo los datos se almacenarán y accederán a nivel lógico, independientemente de cómo se implementen físicamente. Elementos claves: Tablas, columnas, PK, FK, Índices, Restricciones - Modelo conceptual: representación abstracta de la estructura de la base de datos, enfocada en identificar las entidades y las relaciones entre ellas, sin preocuparse por los detalles técnicos de implementación Modos de hacer diagramas conceptuales ○ Modelo E/R Chen(Modelo Entidad-Relación): para diseñar y visualizar la estructura lógica de una base de datos en términos de entidades, atributos y relaciones ○ Modelo RM/T(Modelo Relacional Modificado (RM/T)) : extensión del modelo relacional tradicional que incorpora aspectos temporales. ○ Módulos semánticos: representar la semántica y los significados de los datos en una base de datos ○ UML (Unified Modeling Language): lenguaje de modelado estándar utilizado para visualizar, especificar, construir y documentar los artefactos de sistemas de software complejos Modelo E/R (P.Chen)(Básico-Extendido): ○ Definición: Es una herramienta que permite representar de manera simplificada los componentes que participan en un proceso de negocio y el modo en el que estos se relacionan entre sí. ○ Básico Entidad: Es aquel objeto, real o abstracto, acerca del cual se desea almacenar información en la base de datos Tienen que tener existencia propia. ○ Una entidad sería una ocurrencia de “AUTOR”. Cada ocurrencia debe poder distinguirse de las demás. ○ Todas las ocurrencias de un tipo de entidad deben tener los mismos atributos. Tipo de Entidad: La estructura genérica de un conjunto de entidades con las mismas características ○ AUTOR sería un Tipo de Entidad. Fuerte (Regular): una entidad normal que existe por sí misma. Débil: es aquella cuya existencia depende de otra. ○ Tipo de entidad Libro por ejemplo es débil. No tiene sentido si no se relaciona con el autor. Atributo: propiedad o característica de un tipo de entidad: Simple compuesto múltiples Opcionales clave Clave parcial derivado multivalor Multivalor: no se puede utilizar cuando usemos el modelo lógico (necesitará transformarse). Ejemplo varios teléfono de contacto de un usuario Derivado: es un atributo calculado en función de otros Dominio: conjunto específico de valores posibles que un atributo (o columna) puede tener.. Relación: Es una asociación o correspondencia existente entre una o varios tipos de entidades (se dibuja con un rombo). Una relación tiene: ○ Nombre ○ grado de relación: es el número máximo de ocurrencias de cada tipo de entidad que pueden intervenir en una ocurrencia de la relación que se está tratando. Número de tipos de entidad enganchadas en el rombo: binarias, n-arias, reflexivas(autor colabora con otro autor, son de grado 1) ○ cardinalidad (1-1, n-m …): número máximo y mínimo de ocurrencias de un tipo de entidad que pueden estar interrelacionadas con una ocurrencia de otro tipo de entidad. La cardinalidad máxima coincide con el tipo de correspondencia ○ Puede tener atributos propios ○ Tipo de correspondencia: Tomar las máximas de cada extremo M:N ○ Esquema: Descripción de su estructura interna (los atributos que la componen) ○ Tipos de asociación: Asociación de tipo regular: si asocia tipos de entidad regulares Asociación relación débiles: si asocia un tipo de entidad débil con un tipo de entidad regular ○ Extendido. Ampliación del Modelo Entidad-Relación (ER) básico, que incluye conceptos adicionales para manejar una mayor complejidad en la estructura de los datos (Triángulo hacia abajo. ) Relaciones ISA o relaciones de Herencia:para representar la relación entre una entidad general (superclase) y una entidad más específica (subclase). El concepto es similar al de la herencia en POO. Se utilizan para unificar entidades agrupándolas en una entidad más general (generalización) o bien para dividir una entidad en entidades más específicas (especificación): ○ Como se lee: un disco es un tipo de artículo, un libro es un tipo de artículo… superentidad refiriéndonos a la entidad general sobre las que derivan las otras (que se llaman subentidades) Disco, libro… tienen precio. Si no existiera la herencia, el campo precio tendría que estar dentro de cada “tipo de entidad”, sin embargo al existir lo podemos meter en “Artículos”. Ver 1.3 Tipos de relaciones de herencia Especialización: para dividir un tipo de entidad en tipos de entidades más específicas Disjunta/Solapada Total/Parcial Agregación: mi modelo quiere relacionarse con la entidad matrimonio, que es la suma de hombre, relación y mujer Disjunta/Solapada Modelo Físico: ya son las propias tablas, condiciones, variables… 1.2. Tipos de herencia en el modelo E/R Extendido atributo discriminador (tipo de artículo, tipo de empleado): Se define como discriminador al conjunto de atributos de una entidad que permite distinguir a las entidades dentro del conjunto A nivel de jerarquía Total Parcial EXCLUSIVA (1,1) (0,1) SOLAPADA (1,n) (0,n) Pregunta: ¿Una persona podría ser a la vez un profesor, bedel, técnico ?? exclusiva(lleva arco): ó eres profesor, ó eres bedel ó eres técnico. ○ Tiene que ver con las cardinalidades máximas. Mirando las cardinalidades, lo máximo es 1 solapada: (no lleva arco) puedes ser pluriempleado. Relación máxima n. Tiene que ver con las cardinalidades máximas Total: si cada instancia de esa entidad debe estar relacionada con al menos una instancia de la otra entidad en la relación ○ Mínimo debe ser 1 ○ Lleva un círculo en la flecha. Parcial no Parcial, si algunas instancias de esa entidad pueden no estar relacionadas con ninguna instancia de la otra entidad en la relación. ○ El mínimo es 0. Una persona puede no ser ni profesor ni bedel ni técnico Nota exclusiva: O se relaciona con participar o se relaciona con competir. NO tiene nada que ver con herencia Ojo con la anotación en métrica 3 que el dibujo es diferente. d = arco. Exclusiva, disjunto o, no arco. No disjunto. solapado jerarquía total, doble linea 2. Diagrama de Flujo de datos: DFD 2.1. Introducción Que es: Es una herramienta utilizada en el análisis y diseño de sistemas de información para representar gráficamente el flujo de datos a través de un sistema. Objetivo: obtención de un modelo lógico de procesos que represente el sistema, con independencia de las restricciones físicas del entorno. Así se facilita su comprensión por los usuarios y los miembros del equipo de desarrollo NO es una técnica de programación. Es el que quiere resolver pero no el cómo. Técnica de descomposición funcional top - down. De lo más general vamos a lo más particular. Elementos que aparecen en un DFD Entidades externas: representa un ente ajeno al sistema que proporciona y/o recibe información del mismo. ○ Pueden aparecer varias veces en un mismo diagrama, así como en los distintos niveles del DFD para mejorar la claridad del diagrama. Flujos de datos:representa el movimiento de los datos, y establece la comunicación entre los procesos y los almacenes de datos o las entidades externas (las flechas). Tipos consulta: actualización: diálogo: flecha en los 2 sentidos Nota: A1, A2… del almacén ¿Por que tienen ese identificador? Simplemente para definirlos en un diccionario de datos. Proceso: representa una funcionalidad que tiene que llevar a cabo el sistema para transformar o manipular datos. El proceso debe ser capaz de generar los flujos de datos de salida a partir de los de entrada ○ síncrono: 2 procesos se comunican con una flecha:. ○ asíncrono: en la mitad de la llamada debe de haber un almacén de datos. Si no existe este almacén, esta comunicación es síncrona ○ proceso primitivo:proceso que no necesite descomposición. Cada uno de ellos necesita un flujograma. En métrica lo definen con un * Almacen de datos: representa la información en reposo utilizada por el sistema independientemente del sistema de gestión de datos. ○ Aparecerá por PRIMERA vez en aquel nivel en que dos o más procesos accedan a él. ○ Si en un DFD hay un almacén que sólo está conectado a un proceso se dice que este almacén es local a dicho proceso y por tanto no debe aparecer en dicho nivel sino en los niveles inferiores donde se detalla dicho proceso ○ Un Almacén se podría descomponer en otros Proceso de control: representa procesos que coordinan y sincronizan las actividades de otros procesos del diagrama de flujo de datos. ○ Se dispara por eventos ○ van punteados. ○ Flujo de control:representa el flujo entre un proceso de control y otro proceso. ○ El flujo de control que sale de un proceso de control activa al proceso que lo recibe y el que entra le informa de la situación de un proceso. ○ No representan datos con valores, sino que en cierto modo, se trata de eventos que activan los procesos (señales o interrupciones). ○ van punteados. Herramienta para hacer los DFDs: son herramientas CASE (Ej: Visible Analyst) 2.2. Niveles en un DFD 0: Diagrama de contexto: aparecen las entidades externas que participan en el sistema consumiendo/aportando información 1: Subsistema viendo la foto se sabe que se está en el nivel 1, ya que los procesos están tipificados como 1,2,3… 2: Funciones de cada subsistema En este subnivel cada proceso podría ser 1.1,1.2…. 3: Subfunciones asociadas a cada uno de los eventos del sistema 4: Procesos necesarios para el tratamiento de cada subfunción(primitivos) Uso de Flujogramas 2.3. Reglas de construcción Los flujos son direccionales Flujos permitidos ○ Entre 2 procesos ○ Proceso y Almacén ○ Proceso y Entidad Externa Los flujos de datos y los almacenes también se descomponen Por ejemplo el flujo facturas, se podría descomponer en facturas pagadas y facturas emitidas Todos los niveles de un DFD han de estar balanceados Consistencia entre niveles: la información que entra y sale de un proceso de nivel N, debe ser consistente con la información que entra y sale del DFD en que se descompone. ○ Una herramienta CASE ayuda en esto Un DFD que tenga solo salidas o un DFD que solo tenga flujos de entrada(sumidero) y no salidas, están mal 2.4. Flujograma Que es: representa una serie de procesos o un grupo de actividades por medio de símbolos. Diagramas Diagrama de actividad de UML Diagrama de Nassi-Scheirderman Método Warnier Método Jackson Método Bertini Método Tabourie