1. Tema 3.- Análisis Estructurado
Modelo Entidad-Relación
Profesor: Juan Antonio López Quesada Madelo Entidad-Relación 1
2. Indice
Introducción.
Conceptos y Definiciones.
Diseño de Bases de Datos.
Transformación de un esquema en el modelo
E/R a un esquema relacional.
Profesor: Juan Antonio Madelo Entidad-Relación 2
López Quesada
3. Introducción
Bases de datos para el almacenar la
información.
Obtener una representación de la información
del sistema independiente de las aplicaciones
y de los dispositivos físicos.
Ventajas
Afrontar cambios más eficazmente.
Mantenimiento más sencillo.
Profesor: Juan Antonio Madelo Entidad-Relación 3
López Quesada
4. Conceptos y Definiciones
Bases de datos.
Es un conjunto, colección o depósito de datos
almacenados en un soporte informático de acceso
directo. Los datos deben estar interrelacionados y
estructurados de acuerdo con un modelo capaz de
recoger el máximo contenido semántico.
Profesor: Juan Antonio Madelo Entidad-Relación 4
López Quesada
5. Conceptos y Definiciones
Sistema de Gestión de Bases de Datos
Es un conjunto coordinado de programas, procedimientos,
lenguajes, etc., que suministra, tanto a usuarios no
informáticos como a analistas, programadores, al
diseñador o al administrador de la base de datos, los
medios necesarios para describir, manipular y utilizar los
datos almacenados en la base, manteniendo su integridad,
confidencialidad y seguridad.
Incluye:
Lenguaje de descripción de datos (LDD).
Lenguaje de manipulación de datos (LMD).
Un modelo de datos Subyacente.
Profesor: Juan Antonio Madelo Entidad-Relación 5
López Quesada
6. Conceptos y Definiciones
Arquitectura ANSI a tres niveles
Independencia entre las estructuras lógica y física
de los datos.
Independencia entre datos y aplicaciones.
Niveles de abstracción
Nivel conceptual.
Nivel lógico Global/Extreno
Nivel Interno
Profesor: Juan Antonio Madelo Entidad-Relación 6
López Quesada
7. Conceptos y Definiciones
Universo del discurso
Es la parte o “visión” del mundo real relevante
para nuestro sistema.
Modelo de datos
Es el conjunto de conceptos, reglas y
convenciones que permiten describir y manipular
los datos de la parcela del mundo real que
constituye nuestro universo del discurso.
Profesor: Juan Antonio Madelo Entidad-Relación 7
López Quesada
8. Conceptos y Definiciones
Modelo Entidad-Relación (E/R)
P. Chen en 1.976 y 1.977.
Establece una visión global de los datos de una
organización o de un sistema de información, en un nivel
de abstracción próximo al usuario e independiente de las
características del equipo donde después se vaya a
instrumentar el sistema.
Elementos
Entidad
Relación
Atributo
Profesor: Juan Antonio Madelo Entidad-Relación 8
López Quesada
9. Conceptos y Definiciones
Modelo Entidad-Relación (ii)
Entidad
Cualquier objeto real o abstracto sobre el cual queremos tener
información que tiene existencia por sí mismo y se puede
identificar de manera clara y precisa.
Hay que distinguir entre la entidad en sentido abstracto o
genérico (Empleado) que se refiere a un conjunto de elementos
con características comunes
y las ocurrencias, realizaciones o instancias (José, Pedro, Alberto
....)
Profesor: Juan Antonio Madelo Entidad-Relación 9
López Quesada
10. Conceptos y Definiciones
Modelo Entidad-Relación (iii)
Relación
Asociación o correspondencia entre entidades. Puede
haber más de una relación entre dos entidades.
Grado
Número de entidades que pueden participar en una relación
Unitarias (misma entidad).
Binarias (2 entidades)
N-arias (N entidades)
Profesor: Juan Antonio Madelo Entidad-Relación 10
López Quesada
11. Conceptos y Definiciones
Relación (ii)
Cardinalidad máxima (o tipo )
Número máximo de ocurrencias de cada entidad que pueden
intervenir en la relación que se está tratando.
Ejemplos:
1:1 En nuestro modelo de sociedad, un hombre está casado
con una mujer y una mujer está casada con un hombre.
1:N Un empleado pertenece a un departamento y a un
departamento pueden pertenecer varios empleados.
N:M Un empleado puede trabajar en muchos proyectos y en
un proyecto pueden trabajar muchos empleados.
Profesor: Juan Antonio Madelo Entidad-Relación 11
López Quesada
12. Conceptos y Definiciones
Modelo Entidad-Relación (iv)
Atributo
Cada una de las propiedades, características o
unidades de información básicas de una entidad o de
una relación.
Entre todos los atributos de una entidad, aquel o
aquellos que identifican unívocamente cada una de las
ocurrencias de la entidad se denomina Identificador
principal (o clave).
El identificador principal es mínimo.
Profesor: Juan Antonio Madelo Entidad-Relación 12
López Quesada
13. Ejemplo de esquema en el modelo E/R
cod-dpto. DEPARTAMENTO
cod-proy.
1:N fecha.
Pertenece
dni EMPLEADO Trabaja PROYECTO
N:M
Profesor: Juan Antonio Madelo Entidad-Relación 13
López Quesada
14. Conceptos y Definiciones
El Modelo Relacional
Finales de los años sesenta Codd introdujo la teoría de las
relaciones en el campo de las bases de datos.
Corresponde con el nivel lógico global/externo de la
arquitectura ANSI.
Los datos se estructuran en forma de tablas o relaciones
manteniendola independencia de esta estructura lógica
respecto al modo de almacenamiento y a otras
características de tipo físico.
Independencia de ordenación, de indexación y de caminos
de acceso.
Profesor: Juan Antonio Madelo Entidad-Relación 14
López Quesada
15. Conceptos y Definiciones
El Modelo Relacional (ii)
Los cambios en los objetos de la base de datos a
nivel lógico no repercuten en los programas ni en
los usuarios que acceden.
Los datos pueden presentarse bajo distintas
formas según las necesidades de los usuarios.
Para manejar las tablas se utilizan algunas
operaciones clásicas de la teoría de conjuntos y
otras específicas del modelo relacional.
Profesor: Juan Antonio Madelo Entidad-Relación 15
López Quesada
16. Conceptos y Definiciones
El Modelo Relacional (iii)
A las columnas de cada tabla del modelo
relacional se las denomina atributos y
representan las propiedades de la tabla o relación.
A las filas de las tablas se las denomina tuplas y
representan las ocurrencias de la tabla o relación.
El número de atributos de denomina grado.
grado
El número de tuplas se denomina cardinalidad.
cardinalidad
Profesor: Juan Antonio Madelo Entidad-Relación 16
López Quesada
17. Conceptos y Definiciones
El Modelo Relacional (iv)
La relación o tabla del modelo relacional tiene unas
ciertas características:
No puede haber tuplas duplicadas.
El orden de las tuplas es irrelevante.
La tabla es plana, es decir, en el cruce de un atributo y una tupla sólo
puede haber un valor.
El orden de los atributos no es significativo.
El conjunto sobre el que toman valores los atributos se
denomina dominio del atributo.
Los elementos del dominio serán homogéneos y si se
descomponen perderían su semántica asociada.
Profesor: Juan Antonio Madelo Entidad-Relación 17
López Quesada
18. Conceptos y Definiciones
El Modelo Relacional (vi)
Integridad de entidad, ningún atributo principal puede
entidad
tomar un valor nulo.
nulo
Se llama valor nulo a un símbolo especial que representa un
valor desconocido, inaplicable, etc.
Descriptor de una relación es un conjunto (no vacío) de
atributos de una relación.
Clave ajena de la relación R2 es un descriptor cuyos
valores coinciden con los valores de la clave primaria de
la tabla o relación R1. Ambas claves, primaria y ajena,
toman valores del mismo dominio.
La clave ajena sirve para relacional tablas.
Profesor: Juan Antonio Madelo Entidad-Relación 18
López Quesada
19. Transformación de un esquema en el
modelo E/R a un esquema relacional
cod-dpto. DEPARTAMENTO
cod-proy.
1:N fecha.
Pertenece
dni EMPLEADO Trabaja PROYECTO
N:M
Profesor: Juan Antonio Madelo Entidad-Relación 19
López Quesada
21. MODELOS ORIENTADOS A OBJETOS
MODELOS ORIENTADOS A OBJETOS
Surgió en los años 90s.
Unificación de técnicas = UML.
“el MOO es la construcción de modelos de un sistema por medio de la
identificación y especificación de un conjunto de objetos relacionados, que
se comportan y colaboran entre sí de acuerdo a los requerimientos
establecidos para el sistema de objetos.”
22. MODELOS ORIENTADOS A OBJETOS
MODELOS ORIENTADOS A OBJETOS
Se emplean clases para definir las entidades
Clase -> Define estructura y compotamiento de objetos
Esquema OO -> Conjunto de clases.
Modelo -> Aspecto de la realidad y se construye de modo que nos ayude
a comprender a esta.
23. MODELOS ORIENTADOS A OBJETOS
MODELOS ORIENTADOS A OBJETOS
Mundo real
Análisis y
diseño Modelo
Código
Programa
24. MODELOS ORIENTADOS A OBJETOS
MODELOS ORIENTADOS A OBJETOS
Dimensión estructural de los
objetos -> Propiedades estáticas
Dimensiones que
Dimensión dinámica del
describen un sistema
comportamiento -> Propiedades
de objetos
activas, comportamiento individual y
colaboración entre objetos.
Dimensión funcional de los
requerimientos -> Propiedades de
transformación del sistema
25. MODELOS ORIENTADOS A OBJETOS
MODELOS ORIENTADOS A OBJETOS
Las actividades que se deben seguir para llevar un MOO son:
Identificar clases, objetos y atributos
Asociar estáticamente los objetos
Describir el comportamiento de los objetos
Definir la colaboración del comportamiento de los objetos
Organizar las clases en jerarquías de herencia
Agregar y/o particionar las clases por niveles de
abstracción
26. MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS
Se basa en conceptos sencillos (objetos y atributos , el todo y las partes).
El paradigma orientado a objetos ha evolucionado.
Lenguajes de programación estructurados
Análisis estructurado
Programación orientada a objetos (POO)
27. MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS
El AOO ofrece un enfoque nuevo para el análisis de requisitos de sistemas
software .
AOO consigue una abstracción mayor que el Análisis estructurado.
Antes de empezar a diseñar un sistema es necesario realizar un estudio
previo de este.
La ventaja del AOO es que se basa en la utilización de objetos como
abstracciones del mundo real.
28. MODELOS ORIENTADOS A OBJETOS
ANÁLISIS ORIENTADO A OBJETOS
En AOO los objetos encapsulan tanto atributos como procedimientos e
incorpora otros conceptos (herencia, polimorfismo, etc).-> Reutilización de
código
El uso de AOO puede facilitar mucho la creación de prototipos, y las
técnicas de desarrollo evolutivo de software
Objetos reutilizables -> catálogo de objetos.
29. MODELOS ORIENTADOS A OBJETOS
VENTAJAS DEL AOO
Dominio del problema -> Permite pasar del dominio del problema al modelo
del sistema.
Comunicación: -> Cliente / Analista
Consistencia -> Reduce distancias entre datos y
procesos.
Expresión de características comunes ->
Reutilización = Mecanismos efectivos
30. MODELOS ORIENTADOS A OBJETOS
VENTAJAS DEL AOO
Resistencia al cambio -> Facilidad de realizar
modificaciones.
Reutilización.
31. MODELOS ORIENTADOS A OBJETOS
MODELOS DE ANALISIS
Un modelo de análisis indica que se debe hacer y no ‘COMO’ se
debe hacer.
Tipos Modelo de objetos
Modelo dinámico
Modelo Funcional
32. MODELOS ORIENTADOS A OBJETOS
MODELOS DE ANALISIS
Modelo de Objetos
Muestra la estructura estática de los datos del mundo real y las
relaciones entre estos datos
Modelo Funcional: Se debe realizar:
Identificar datos de entrada y salida.
Hacer DFDs para mostrar la dependencia funcional.
Describir las primitivas de proceso.
33. MODELOS ORIENTADOS A OBJETOS
MODELOS DE ANALISIS
Modelo Dinámico
Muestra el comportamiento de los objetos.
Los pasos a seguir son
Establecer una lista de posibles eventos.
Eliminar de la lista de eventos las operaciones que no afecten al
estado de un objeto.
34. MODELOS ORIENTADOS A OBJETOS
MODELOS DE ANALISIS
Realizar varias trazas de eventos.
Construir un DE para cada clase de objetos que presente
estados distintos, incorporando una a una las trazas de
eventos.
Verificar la consistencia de los eventos entre los diferentes
DEs: construir un diagrama de flujo de eventos.
35. MODELOS ORIENTADOS A OBJETOS
RELACION ENTRE MODELOS
Relaciones con el modelo de objetos
El modelo funcional muestra las operaciones que se realizan
en cada clase y los argumentos de estas operaciones. El
modelo dinámico muestra los estados de cada objeto y las
operaciones que éstos realizan al recibir eventos y cambiar
de estado.
36. MODELOS ORIENTADOS A OBJETOS
RELACION ENTRE MODELOS
Relaciones con el modelo dinámico.
El modelo funcional muestra las definiciones de las acciones
y actividades del modelo dinámico. El modelo de objetos
muestra los objetos que sufren o realizan las acciones y
actividades del modelo dinámico
37. MODELOS ORIENTADOS A OBJETOS
RELACION ENTRE MODELOS
Relaciones con el modelo funcional.
El modelo de objetos muestra las entidades que realizan o
padecen las funciones del modelo funcional. El modelo
dinámico muestra la secuencia en que se realizan las
funciones del modelo funcional.
38. MODELOS ORIENTADOS A OBJETOS
TECNICA DE MODELADO DE OBJETOS (OMT)
Se basa en aplicar el enfoque orientado a objetos a todo el
proceso de desarrollo de un sistema software, desde el análisis
hasta la implementación.
La metodología consiste en construir un modelo del dominio de
aplicación y ir añadiendo detalles a este modelo durante la fase de
diseño.
39. MODELOS ORIENTADOS A OBJETOS
FASES DE OMT
Conceptualizacion
Inicia con análisis de empresa o negocio.
Se deben resolver las preguntas:
Cual es la aplicación?
Que problemas deben ser resueltos?
Donde será usado el sistema?
Cuando será requerido el sistema?
Para que es necesario el sistema?
40. MODELOS ORIENTADOS A OBJETOS
FASES DE OMT
Analisis
Especifica las necesidades que se deben satisfacer.
Se determina el modelo de objeto.
Se busca un nivel de abstracción para modelar
subsistemas.
Se definen diccionarios de datos para los objetos
modelados
41. MODELOS ORIENTADOS A OBJETOS
FASES DE OMT
Diseño
Se crean estrategias, arquitecturas para el sistema y
sus políticas, teniendo en cuenta:
Elegir una implementación para control externo
Elegir el paradigma de administración de Base de
datos.
Determinar oportunidades para el reuso
Seleccionar estrategias para interacción de datos
Detallar el diseño
42. MODELOS ORIENTADOS A OBJETOS
FASES DE OMT
Implementación
Se instala el nuevo sistema para su utilización.
El sistema debe ser flexible y extensible
Para comprender las necesidades de los usuarios en lo que a la información se refiere y para conseguir que el sistema de información cubra dichas necesidades, existen una serie de modelos, conceptos y técnicas que se introducirán a continuación. Una gran mayoría de las aplicaciones y sistemas de información de gestión se basan en la utilización de bases de datos para almacenar su información por tanto de ahora en adelante utilizaremos este supuesto . El objetivo principal del modelado de datos es obtener una representación de la información del sistema independiente de las aplicaciones y de los dispositivos físicos . Las ventajas de la utilización del modelado de datos se derivan de la noción de independencia: cualquier cambio en la información, en los requisitos de usuario, en el gestor de base de datos o en los equipos físicos se podrá afrontar mucho más eficazmente. Igualmente el mantenimiento posterior del sistema se podrá realizar de manera mucho más sencilla.
... El SGBD incluye un lenguaje de descripción de datos LDD para definir las entidades, su identificación, atributos, interrelaciones, autorizaciones de acceso, restricciones de integridad, así como el espacio físico reservado para la base (volúmenes, cilindros, pistas...), la longitud de los campos o elementos de datos, su modo de representación( binario, decimal, alfanumérico...), los caminos de acceso (punteros, índices...) y la correspondencia entre los aspectos lógico y físico. El SGBD incluye también un lenguaje de manipulación de datos (LMD) para llevar a cabo la recuperación y actualización de los datos. El SGBD proporciona además, interfaces de comunicación entre los usuarios y la base así como procedimientos para que el administrador realice sus tareas. Podemos citar servicios de modificación de capacidad de ficheros, obtención de estadísticas de utilización, copias de seguridad, rearranque, protección ante accesos no autorizados. El SGBD tendrá un modelo de datos subyacente y facilitará la manipulación e implantación de las reglas del modelo. El más habitual actualmente es el modelo relacional.
Uno de los principales objetivos de las bases de datos es conseguir la independencia entre las estructuras lógica y física de los datos. Conseguido este objetivo estará asegurada la independencia entre datos y aplicaciones, imprescindible para satisfacer las necesidades de cambios ya sean de datos o de requisitos de usuarios. La arquitectura ANSI a tres niveles de abstracción en el sistema de gestión de bases de datos proporciona el máximo grado de independencia física/lógica de los datos a nivel de descripción. Los tres niveles de abstracción son: * NIVEL CONCEPTUAL orientado hacia la visión lógica del conjunto de información que proviene del mundo real. * NIVEL LÓGICO GLOBAL/EXTERNO orientado hacia el usuario que comprende las características lógicas de los datos para los programas de aplicación. * NIVEL INTERNO orientado hacia la máquina; comprende características de tipo físico, por lo que a veces de denomina FISICO.
UNIVERSO DEL DISCURSO ... Por ejemplo, el mundo real que constituye un hospital puede tener por universos del discurso el relativo a los aspectos clínicos: doctores, especialidades, enfermeras, pacientes, historias clínicas, medicamentos, etc., o el relativo a la gestión como: empleados, nóminas, contabilidad, facturación, etc. MODELO DE DATOS ... Así pues, el modelo de datos es un dispositivo de abstracción para la interpretación de la realidad con el objetivo de captar su semántica. Al aplicar el modelo de datos a un cierto universo del discurso se obtiene una estructura de datos llamada ESQUEMA. Existen distintos modelos de datos lógicos y físicos para construir los esquemas correspondientes a cada nivel de abstracción de la arquitectura ANSI. Algunos autores distinguen dos tipos de modelos de datos lógicos: conceptuales y convencionales. Un ejemplo de modelo de datos lógico conceptual es el Modelo Entidad-relación (E/R). Ejemplos de modelos de datos lógicos convencionales son los Modelos Jerárquico, Codasyl y Relacional.
El modelo E/R fue propuesto por P.Chen en sendos artículos fechados en 1.976 y 1.977. Posteriormente el modelo ha sido enriquecido por otros autores. El modelo E/R sirve para establecer una visión global de los datos de una organización o de un sistema de información, en un nivel de abstracción próximo al usuario e independiente de las características del equipo donde después se vaya a instrumentar el sistema. Consiste en describir la información de la organización mediante la definición de entidades y asociaciones o interrelaciones entre dichas entidades. El modelo entidad-relación correspondería al nivel conceptual de la arquitectura ANSI.
Relación ... Se denomina grado de la relación al número de entidades que pueden participar en una relación. Atendiendo al grado las relaciones pueden ser unitarias o reflexivas (entre una misma entidad), binarias, (entre 2 entidades) o N-arias (entre N entidades).
Se denomina cardinalidad máxima (o tipo) de la relación al número ....
Atributo ... El identificador principal el mínimo ya que la eliminación de cualquiera de los atributos que componen el identificador principal supone la pérdida del carácter de identificador.
A finales de los años sesenta Codd introdujo la teoría de las relaciones en el campo de las bases de datos. A partir de entonces se pudieron desarrollar nuevos productos de SGBD basados en fundamentos teóricos sólidos. El Modelo Relacional correspondería al nivel lógico global/externo de la arquitectura ANSI. En el modelo de Codd los datos ... esto implica independencia ....