SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                      MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TE...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                    MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECN...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                     MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TEC...
SERVCIO NACIONAL DE APRENDIZAJE   TECNICO EN                    MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECN...
Upcoming SlideShare
Loading in...5
×

Modelo entidad relación e

12,220

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,220
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
187
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Modelo entidad relación e"

  1. 1. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Resultado final. El mapeo para todo el diagrama sería: Modelo Entidad Relación E-R "Modelo de datos basado en una percepción del mundo real que consiste en un conjunto de objetos básicos llamados entidades y relaciones entre estos objetos" [Kor98]. Describe los datos en los niveles conceptual y de vista. El modelo E-R, tiene su implementación grafica en el Diagrama Entidad-Relación. 2.1 Componentes y Diagrama E-R Entidad: Representa un objeto que tiene vida propia en el sistema que se está modelando, tanto tangible como intangibles. Ejemplo: cliente, producto, estudiante, vacación. Conjunto de entidades: Grupo (conjunto) de entidades del mismo tipo. Ejemplo: Todos los estudiantes de un curso, representan el conjunto de entidades estudiante. Relación: Asociación o vinculación entre dos o más entidades. Ejemplo: La relación comprar entre las entidades cliente y producto. Generalmente representa acciones entre las entidades.Conjunto de relaciones: Son relaciones del mismo tipo. Atributos: Características o propiedades asociadas al conjunto de entidades o relaciones y que toman valor en una entidad en particular. Ejemplo: nombre, cédula, teléfono. Los posibles valores puede tomar un atributo para un conjunto de entidades se denomina dominio. Los atributos se pueden clasificar en: - Simples o atómicos: Son aquellos que no contienen otros atributos - Compuestos: Son los que incluyen otros atributos simples.. Ejemplo: dirección (Se puede dividir en calle, número, ciudad). - Monovalorados o Univalorados: Atributo que toma un solo valor, para una entidad en particular. - Multivalorados: Atributo que para una misma entidad puede tomar muchos valores. - Derivados o calculados: Son aquellos atributos cuyos valores se pueden conseguir con operaciones sobre valores de otros atributos. - Nulos: Son aquellos atributos para los cuales en algún momento no existe o no se conoce su valor. Diagrama Entidad - Relación. Es la representación gráfica del Modelo Entidad-Relación y permite ilustrar la estructura de la base de datos del negocio modelado. Escribe Johnson "los diagramas ER constituyen una notación para documentar un diseño tentativo de bases de datos. Los analistas los utilizan para facilitar el proceso de diseño" [Joh00]. Está compuesto por los siguientes elementos. Rectángulo que representa un conjunto de entidades. Elipse que representa los atributos de cada entidad. Rombos que representan conjuntos de relaciones.
  2. 2. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Estos elementos se unen a través de líneas para formar así el diagrama. Ejemplo: Dependiendo del tipo de atributo representan en forma diferente: - Simples y monovalorados: Se simbolizan con una elipse sencilla . - Compuestos: Se representan por una elipse de la cual salen otras elipses con los atributos simples. - Multivalorados: Se representan con una elipse doble. - Derivados: Se representan con una elipse punteada. Otra forma de representar los conjuntos de entidades y sus atributos consiste mostrar los atributos en forma de lista dentro del rectángulo: 2.2 Claves Claves (Llaves): Atributos que identifican una entidad dentro de un conjunto de entidades. Superclave: Conjunto de atributos no vacío, que identifica en forma única una entidad dentro de un conjunto de entidades. Cualquier superconjunto de una superclave también es superclave. Clave candidata: Es una superclave para la cual ningún subconjunto es superclave, excepto el mismo. Clave primaria (Llave Primaria): Es la clave candidata escogida por el diseñador. Atributo o conjunto de atributos que permiten identificar en forma única una tupla en la tabla (una entidad en un conjunto de entidades) y ningún subconjunto de ella posee esta propiedad. Llave foránea: Es un atributo que es llave primaria en otra entidad con la cual se relaciona. Las llaves foráneas son en últimas las que permiten relacionar las tablas en las bases de datos. Las llaves primarias se subrayan en el diagrama E-R. 2.3 Entidades Conjunto de entidades Débiles. Es aquel conjunto de entidades que no tiene atributos que puedan identificar una entidad en forma única, o sea que no poseen atributos para conformar la llave primaria; por lo tanto dependen de una entidad fuerte. Gráficamente se representa así: Conjunto de entidades Fuerte. Conjunto de entidades que posee una clave primaria. Relaciones o asociaciones Grado de una relación. El número del conjunto de entidades que participan en la asociación. Puede ser: Unaria: Participa un único conjunto de entidades. Ejemplo:
  3. 3. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Binaria: Participan dos (2) conjuntos de entidades. Ejemplo: Marginalidad de las Relaciones Indica el número de entidades del conjunto de entidades E2 que se relacionan con una entidad del conjunto de entidades E1 y viceversa. Dependiendo de esto, puede ser: Uno a uno. 1:1. Una entidad del conjunto de entidades E1 se relaciona con una única entidad del conjunto de entidades E2 y viceversa. Uno a muchos. 1:n. Una entidad del conjunto de entidades E1 se relaciona con muchas entidades del conjunto de entidades E2 y una entidad del conjunto de entidades E2 solo puede estar relacionada con una entidad del conjunto de entidades E1.
  4. 4. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Muchos a uno. n:1. Una entidad en E1 esta asociada con una única entidad del conjunto de entidades E2 y una entidad del conjunto de entidades en E2 esta relacionada con muchas entidades del conjunto de entidades E1 Muchos a muchos. n:n. Una entidad del conjunto de entidades E1 esta relacionada con muchas entidades del conjunto de entidades E2 y viceversa. Existen diversas maneras de representar la cardinalidad, la más sencilla es la presentada anteriormente, donde solo se especifica el número máximo de relaciones que puede tener una entidad con entidades del otro conjunto de entidades con que se asocia. Korth distingue en el diagrama la cardinalidad a partir de líneas dirigidas o no. La línea dirigida indica que la relación es a uno. Por ejemplo una relación de 1: n se graficaría así: En los modelos conceptuales es suficiente con los valores máximos, pero para el análisis detallado se requieren de cuatro (4) puntos para expresar las reglas del negocio que se necesitan hacer cumplir en la estructura de la base de datos. En estos casos la cardinalidad de las relaciones se expresa con un valor mínimo y un máximo y se declara gráficamente en el diagrama entidad relación, dado que las relaciones se indican en ambos direcciones entre las entidades, la cardinalidad máxima y mínima debe indicarse igualmente [Rub98]: Se tomará como ejemplo una agrupación de propietarios de autos antiguos, con las restricciones que un auto solo pertenece a una persona y toda persona debe tener por lo menos un auto, pues en otro caso no haría parte del club. Por lo tanto teniendo presente los valores máximos y mínimos, se diría que una persona debe tener mínimo un vehículo y máximo varios. Por el otro lado, un auto siempre tiene un dueño y máximo uno, para nuestro caso: Si se permiten personas que no tengan autos el diagrama quedaría: Como se aprecia el valor mínimo realmente es una restricción de obligatoriedad o no en la participación de las entidades en la relación. Si es cero (0), es opcional la participación, en otro caso (valor 1) es requerida. El valor máximo que puede ser 1 o n, determina si la participación es singular o plural en la relación. Los valores cero, uno y n, pueden reemplazarse por 0, | y un tridente, quedando el último caso así: Diagrama para Método CASE. Trabajando con los diagramas modelados para acercamiento a las herramientas CASE, Barker [BAR92] propone
  5. 5. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Observaciones: Los nombres de las entidades se escriben en mayúsculas y en singular. Los nombres de los atributos en minúsculas y en singular. Los atributos identificadores se marcan con el símbolo #. Los atributos obligatorios se marcan con * y los opcionales con o. Las relaciones se representan por flechas que tienen en cada lado un nombre, la cardinalidad y si es obligatoria u opcional dicha relación. Cuando es obligatorio se lee anteponiendo "debe ser". En el caso de opcionales "puede ser". Para el caso: Cada persona puede poseer uno o muchos carros. Cada carro debe pertenecer a una y solo una persona. 2.5 Ejercicio: Se tiene una empresa desarrollando varios proyectos, a los que son asignados varios empleados, pero cada empleado solo esta vinculado a un proyecto, en un momento dado. Cada proyecto consume diferentes recursos en cantidades determinadas: los empleados están a cargo de un supervisor, que es un empleado también. Los empleados pueden tener personas beneficiarias (hijos, esposas, padres, etc.). El diagrama entidad relación correspondiente sería: En la gráfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones. Como ejercicio clasificar e identificar las entidades y los atributos. Expresar con sus palabras las relaciones e identificar la cardinalidad, expresando su significado. 2.6 Mapeo del Diagrama E-R : Este proceso consiste en destruir todas las relaciones, teniendo presente la cardinalidad. Mapeo de relaciones 1:1. Se destruye la relación y la llave primaria de una de las entidades pasa a la otra como llave foránea. Los atributos de la relación, si existen, se van hacia la entidad donde quedó la llave foránea. Par efectos de la explicación supóngase que se presenta otra relación entre proyecto y empleado, dada por el hecho que un empleado dirige un y solo un proyecto. Esta porción del diagrama quedaría así: En la gráfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones.Como ejercicio clasificar e identificar las entidades y los atributos. Expresar con sus palabras las relaciones e identificar la cardinalidad, expresando su significado.
  6. 6. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Pregunta: Qué clase de atributo es No_emp (número de empleados a cargo). Por qué? En el mapeo la relación de 1 a 1 se destruye: Mapeo de relaciones 1:n. Se destruye la relación y la llave primaria de la entidad en uno pasa como llave foránea a la entidad en n. Los atributos de la relación, si existen, pasan a la entidad en n. Al final de la línea de la entidad en n se coloca un tridente o "pata de gallina". Para el ejemplo sería: Se observa como es convertida la relación unaria. El papel de la entidad en 1 (codogosu, código de supervisor), pasa como llave foránea a la misma entidad. Mapeo de relaciones n:n. Se destruye la relación reemplazándola por una entidad. Las llaves primarias de las entidades relacionadas van como llaves foráneas a la nueva entidad y pasan a componer la llave primaria. Los atributos de la relación si existen, serán atributos de la nueva entidad. Se coloca un tridente a lado y lado de la nueva entidad. Para el caso analizado:
  7. 7. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Resultado final. El mapeo para todo el diagrama sería: Guías de Diseño Conjunto de entidades vs. atributos: Optar por atributo cuando esta propiedad toma solo un valor para una entidad (mono valorado) y además no contiene sub-atributos (simple), en otro caso podría tomarse como conjunto de entidades. Otro elemento para la decisión está en el hecho de tener atributos cuyos conjuntos de valores únicos son Otro elemento a tener en cuenta es, que como se ha dicho, las relaciones representan muy usualmente acciones (verbos) que se dan entre conjuntos de entidades, lo cual sería un buen para preferir esta representación antes que tomarlos como atributos o como conjuntos de entidades. Se puede optar por representar entidades débiles como atributos compuestos multivalorados. Pero si la entidad débil participa en otra relación o tiene muchos atributos es preferible manejarla como entidad. compartidos por varias entidades, lo que solo puede ser representados manejándolos como entidades. Conjunto de entidades Vs. conjunto de relaciones: Preferible representar como conjunto de relaciones, si cada relación de un conjunto de relaciones R esta asociada con una entidad del conjunto de entidades E1 y con una entidad del conjunto de entidades E2. En otro caso es mejor optar por representarlo como conjunto d entidades, lo que evitaría réplica de valores y posibles inconsistencias en las actualizaciones. Este proceso consiste en destruir todas las relaciones, teniendo presente la cardinalidad. Mapeo de relaciones 1:1. Se destruye la relación y la llave primaria de una de las entidades pasa a la otra como llave foránea. Los atributos de la relación, si existen, se van hacia la entidad donde quedó la llave foránea. Par efectos de la explicación supóngase que se presenta otra relación entre proyecto y empleado, dada por el hecho que un empleado dirige un y solo un proyecto. Esta porción del diagrama quedaría así: En la gráfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones. Como ejercicio clasificar e identificar las entidades y los atributos. Expresar con sus palabras las relaciones e Mapeo de relaciones 1:1. Se destruye la relación y la llave primaria de una de las entidades pasa a la otra como llave foránea. Los atributos de la relación, si existen, se van hacia la entidad donde quedó la llave foránea. Par efectos de la explicación supóngase que se presenta otra relación entre proyecto y empleado, dada por el hecho que un empleado dirige un y solo un proyecto. Esta porción del diagrama quedaría así:En la gráfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones. Como ejercicio clasificar e identificar las entidades y los atributos. Expresar con sus palabras las relaciones e identificar la cardinalidad, expresando su significado.
  8. 8. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Pregunta: Qué clase de atributo es No_emp (número de empleados a cargo). Por qué? En el mapeo la relación de 1 a 1 se destruye: Todo conjunto de entidades luego del mapeo se convierte en una tabla. Los atributos del conjunto de entidades serán los campos de la tabla y las entidades del conjunto de entidades serán las tuplas o registros. Para el ejercicio que se viene desarrollando se tiene el siguiente modelo relacional, expresado a través de tablas: Se aprecia que el atributo estudios en la tabla empleado es compuesto (contiene otros atributos), por lo tanto debe llevarse a la tabla los atributos últimos: Ejercicios Propuestos: Desarrollar el modelo de los ejercicios vistos en el capítulo usando la metodología de Modelo Entidad - Relación propuesto por Barker. 3.1 Elementos a definir: 1. Nombre de las tablas 2. Nombre de los campos 3. Tipos de Campos 4. Claves foráneas y relaciones 5. Restricciones 3.2 Creación de bases de datos y tablas en Access Access es una de las propuestas de Microsoft para administración de bases de datos. El presente aparte no busca dar un curso de Access, solo mostrar la forma en que se pueden implementar los diseños que se han construido y la forma como se opera en este motor. La ayuda de Microsoft Access resume su aplicación así: "Por medio de Microsoft Access, puede administrar toda la información desde un único archivo de base de datos. Dentro del archivo, puede utilizar: Tablas para almacenar los datos. Consultas para buscar y recuperar únicamente los datos que necesita. Formularios para ver, agregar y actualizar los datos de las tablas. Informes para analizar o imprimir los datos con un diseño específico. Páginas de acceso a datos para ver, actualizar o analizar los datos de la base de datos desde Internet o desde una intranet". Al ingresar al programa el usuario se encontrará con una pantalla similar a la siguiente: que le permite abrir una base de datos existente o crear una nueva. Crear la base de datos comercial. Para ello se tomará una base de datos en blanco:
  9. 9. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Se observan los diferentes objetos que se pueden incluir (Tablas, consultas, formularios, informes, etc). Son de nuestro interés los dos primeros. Para crear la tabla producto, en vista de diseño, se procede de la siguiente forma: En la figura se aprecia el nombre de cada una de las columnas o campos y el tipo de datos que contendrá. El campo referencia ha sido marcado como llave primaria (usando el icono llave de la barra de iconos). Por ser la clave automáticamente se ha determinado el valor indexado y si se quiere ser estricto debemos colocar como requerido este campo y no permitir longitud cero. Este campo es de tipo carácter de 4 posiciones. Es posible colocar valores predeterminados para ser tomados en el momento de inclusión de registros, al igual que se pueden definir las restricciones o reglas de validación para aquellos atributos o campos que lo requieran. La columna de descripción es opcional y sirve para documentar la base de datos. Para definir el nombre de la tabla, luego de capturada la información necesaria, se cierra la ventana de trabajo y aparece el siguiente cuadro de dialogo, donde se digita el nombre deseado, el cual debe ser consistente con la nomenclatura usada en el sistema: Si se fuese a crear la tabla proveedor se tendría algo parecido a: Se observa que la llave primaria es codprove. Además se ha utilizado un campo con tipo de campo fecha, para el cual se puede definir un formato especial según menú mostrado. Esto es posible hacerlo también con otro tipo de campos. Ya debe ser claro para quienes han seguido el curso que se presenta una llave foránea en la tabla producto (el campo prove) que se relaciona con la tabla de proveedores (llave primaria codprove). Es importante tener en cuenta que no es necesario que los campos tengan el mismo nombre, pero si lo es que tengan el mismo tipo de datos y con la misma longitud, cuando se precise definir. Esta relación se puede especificar en la siguiente forma:
  10. 10. SERVCIO NACIONAL DE APRENDIZAJE TECNICO EN MATERIAL DE APOYO PREPARADO POR EL INSTRUCTOR LIC. EN TECNOLOGIA E INFORMATICASISTEMAS CEDAGRO MIGUEL URIEL SOLORZANA ACUÑA ESPECIALISTA EN TELEMATICA E INFORMATICA Presionando el botón de relaciones se pueden seleccionar las diferentes tablas o consultas (representan las vistas en access) que se asociaran. Para el caso, producto y proveedor. Basta con tratar de arrastrar el campo prove sobre el campo codprove de la tabla proveedor, en el cuadro siguiente, para que se pida la definición completa de la relación: Los detalles a precisar se muestran en las dos figuras siguientes: Paradox es un motor de base de datos, que viene incluido con la herramienta RAD Delphi, ambos de la casa Inprise, antes Borland. Para la creación de tablas provee la aplicación DataBase Desktop, la cual permite crear tablas, consultas QBE (Query By Example) o archivos de scripts SQL. Se aprecia que se han definido los nombres de los campos, los tipos de datos y su longitud, la llave primaria y parte de la restricción del valor mínimo para el campo precio. Para seleccionar el tipo de dato y escoger la llave primaria se usa la barra espaciadora ubicándose sobre la casilla respectiva. Pero además de lo anterior la pantalla permite que se definan índices secundarios, integridad referencial, entre otras. Para definir la integridad referencial entre el campo prove de la tabla producto y la clave de proveedor se escoge la opcion Referencial Integrity, ubicado en la tabla producto y luego haber creado la tabla proveedor:

×