Bases de Datos I. Tema II. Modelo Entidad - Relación

44
::Universidad del Mar:: ::Universidad del Mar:: ::Campus Puerto Escondido :: ::Campus Puerto Escondido :: Tema II. Tema II. Modelo Entidad / Modelo Entidad / Relación Relación Bases de Datos I Bases de Datos I MTI Remedios Fabián Velasco MTI Remedios Fabián Velasco Ver. 1.1 Ver. 1.1 Cuarto Semestre Cuarto Semestre Licenciatura en Informática Licenciatura en Informática

description

Hecho en la UMAR.

Transcript of Bases de Datos I. Tema II. Modelo Entidad - Relación

Page 1: Bases de Datos I. Tema II. Modelo Entidad - Relación

::Universidad del Mar:: ::Universidad del Mar:: ::Campus Puerto Escondido ::::Campus Puerto Escondido ::

Tema II. Tema II. Modelo Entidad / Modelo Entidad / RelaciónRelación

Bases de Datos IBases de Datos IMTI Remedios Fabián VelascoMTI Remedios Fabián Velasco

Ver. 1.1Ver. 1.1Cuarto SemestreCuarto Semestre

Licenciatura en InformáticaLicenciatura en Informática

Bases de Datos IBases de Datos IMTI Remedios Fabián VelascoMTI Remedios Fabián Velasco

Ver. 1.1Ver. 1.1Cuarto SemestreCuarto Semestre

Licenciatura en InformáticaLicenciatura en Informática

Page 2: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

SimbologíaSimbología

Concepto importanteConcepto importante

Base de DatosBase de Datos

Tarea o ejercicioTarea o ejercicio

AplicacionesAplicaciones

Tablas – Entidades - RelacionesTablas – Entidades - Relaciones Tabla 2Tabla 2

Page 3: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

TemarioTemario

2 Modelo entidad/relación.2 Modelo entidad/relación.

2.1 Entidades y conjunto de entidades.2.1 Entidades y conjunto de entidades.

2.2 Relaciones y conjunto de relaciones.2.2 Relaciones y conjunto de relaciones.

2.3 Limitantes de mapeo.2.3 Limitantes de mapeo.

2.4 Llaves primarias.2.4 Llaves primarias.

2.5 Diagramas entidad/relación.2.5 Diagramas entidad/relación.

2.6 Reducción de diagramas entidad/relación a 2.6 Reducción de diagramas entidad/relación a tablas.tablas.

2.7 Generalización y especialización.2.7 Generalización y especialización.

2.8 Agregación.2.8 Agregación.

Page 4: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2. Modelo entidad/relación.2. Modelo entidad/relación.EL modelo de datos EL modelo de datos entidad/relación (E-entidad/relación (E-R) R) está basado en una percepción del está basado en una percepción del mundo real consistente en objetos básicos mundo real consistente en objetos básicos llamados llamados entidadesentidades y de y de relacionesrelaciones entre entre estos objetos.estos objetos.Se desarrolló para facilitar el diseño de Se desarrolló para facilitar el diseño de bases de datos permitiendo la bases de datos permitiendo la especificación de un especificación de un esquema de la esquema de la empresaempresa que representa la estructura que representa la estructura lógica completa de una base de datos. lógica completa de una base de datos. El modelo E-R es extremadamente útil para El modelo E-R es extremadamente útil para hacer corresponder los significados e hacer corresponder los significados e interacciones de las empresas del mundo interacciones de las empresas del mundo real con un esquema conceptual. real con un esquema conceptual. Debido a esta utilidad, muchas Debido a esta utilidad, muchas herramientas de diseño de bases de datos herramientas de diseño de bases de datos se basan en los conceptos del modelo E-R.se basan en los conceptos del modelo E-R.

Page 5: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Componentes básicos del E-RComponentes básicos del E-R

Conjuntos de entidades Conjuntos de entidades AtributosAtributosConjuntos de relacionesConjuntos de relaciones

Page 6: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.1 2.1 Entidades y conjunto de Entidades y conjunto de entidades.entidades.

Una Una entidadentidad es una «cosa» u «objeto» en es una «cosa» u «objeto» en el mundo real que es distinguible de todos el mundo real que es distinguible de todos los demás objetos. los demás objetos.

Por ejemplo, cada persona en un desarrollo es Por ejemplo, cada persona en un desarrollo es una entidad. una entidad.

Una entidad tiene un Una entidad tiene un conjunto de conjunto de propiedades, y los valorespropiedades, y los valores para algún para algún conjunto de propiedades pueden identificar conjunto de propiedades pueden identificar una entidad de forma unívoca. una entidad de forma unívoca. Una entidad puede ser Una entidad puede ser concretaconcreta, como una , como una persona o un libro, o puede ser persona o un libro, o puede ser abstractaabstracta, , como un préstamo, unas vacaciones o un como un préstamo, unas vacaciones o un concepto.concepto.

Page 7: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.1 2.1 Entidades y conjunto de Entidades y conjunto de entidades.entidades.

Un Un conjunto de entidadesconjunto de entidades es un conjunto es un conjunto de entidades del de entidades del mismo tipomismo tipo que que comparten las mismas propiedades, o comparten las mismas propiedades, o atributosatributos. . El conjunto de todas las personas que son El conjunto de todas las personas que son clientes en un banco dado, por ejemplo, se clientes en un banco dado, por ejemplo, se pueden definir como el conjunto de pueden definir como el conjunto de entidades entidades clientecliente. .

Por ejemplo, es posible definir el conjunto de Por ejemplo, es posible definir el conjunto de entidades de todos los empleados de un banco entidades de todos los empleados de un banco ((empleadosempleados) y el conjunto de entidades de todos ) y el conjunto de entidades de todos los clientes del banco (los clientes del banco (clientesclientes). Una entidad ). Una entidad persona persona puede ser una entidad puede ser una entidad empleadoempleado, una , una entidad entidad clientecliente, ambas cosas, o ninguna., ambas cosas, o ninguna.

Page 8: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributos

Una entidad se representa mediante un conjunto de Una entidad se representa mediante un conjunto de atributosatributos. . Los atributos describen Los atributos describen propiedades que posee cada miembro propiedades que posee cada miembro de un conjunto de entidadesde un conjunto de entidades. . La designación de un atributo para un conjunto de entidades La designación de un atributo para un conjunto de entidades expresa que la base de datos almacena información similar expresa que la base de datos almacena información similar concerniente a cada entidad del conjunto de entidades; sin concerniente a cada entidad del conjunto de entidades; sin embargo, cada entidad puede tener su propio valor para cada embargo, cada entidad puede tener su propio valor para cada atributo. atributo. Posibles atributos del conjunto de entidades Posibles atributos del conjunto de entidades cliente cliente son son

id-clienteid-clientenombre-clientenombre-clientecalle-clientecalle-clienteciudad-cliente.ciudad-cliente.

En la vida real, habría más atributos, tales como el número de En la vida real, habría más atributos, tales como el número de la calle, el número del portal, la provincia, el código postal, y la la calle, el número del portal, la provincia, el código postal, y la comunidad autónoma, pero no se incluyen en el ejemplo comunidad autónoma, pero no se incluyen en el ejemplo simple. simple. Cada entidad tiene un Cada entidad tiene un valor valor para cada uno de sus atributos.para cada uno de sus atributos.

Page 9: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributos

Para cada atributo hay un Para cada atributo hay un conjunto de conjunto de valores permitidosvalores permitidos, llamados el , llamados el dominiodominio, o el , o el conjunto de valoresconjunto de valores, , de ese atributo. de ese atributo. El dominio del atributo El dominio del atributo nombrecliente nombrecliente podría ser el conjunto de todas las podría ser el conjunto de todas las cadenas de texto de una cierta cadenas de texto de una cierta longitud. longitud. Análogamente, el dominio del Análogamente, el dominio del atributo atributo número-préstamo número-préstamo podría ser podría ser el conjunto de todas las cadenas de la el conjunto de todas las cadenas de la forma «P-forma «P-nn», donde », donde n n es un entero es un entero positivo.positivo.

Page 10: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributos

Un atributo se puede caracterizar por los siguientes tipos de Un atributo se puede caracterizar por los siguientes tipos de atributo:atributo:Atributos Atributos simples simples y y compuestoscompuestos. .

En los ejemplos considerados hasta ahora, los atributos han sido En los ejemplos considerados hasta ahora, los atributos han sido simples; es decir, no están divididos en subpartes. simples; es decir, no están divididos en subpartes. Los atributos compuestos, en cambio, se pueden dividir en Los atributos compuestos, en cambio, se pueden dividir en subpartes (es decir, en otros atributos). subpartes (es decir, en otros atributos).

Por ejemplo, Por ejemplo, nombre-cliente nombre-cliente podría estar estructurado como podría estar estructurado como un atributo compuesto consistente en un atributo compuesto consistente en nombrenombre, , primer-primer-apellido apellido y y segundo-apellidosegundo-apellido. . Usar atributos compuestos en un esquema de diseño es una Usar atributos compuestos en un esquema de diseño es una buena elección si el usuario desea referirse a un atributo buena elección si el usuario desea referirse a un atributo completo en algunas ocasiones y, en otras, a algún completo en algunas ocasiones y, en otras, a algún componente del atributo. componente del atributo.

Se podrían haber sustituido los atributos del conjunto de Se podrían haber sustituido los atributos del conjunto de entidades entidades clientecliente, , calle-cliente calle-cliente y y ciudad-clienteciudad-cliente, por el atributo , por el atributo compuesto compuesto dirección-clientedirección-cliente, con los atributos , con los atributos calle, ciudad, calle, ciudad, provincia, provincia, y y código-postal código-postal 2. 2.

Page 11: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributosLos atributos compuestos ayudan a agrupar los atributos Los atributos compuestos ayudan a agrupar los atributos relacionados, haciendo los modelos más claros.relacionados, haciendo los modelos más claros.

Page 12: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributos

Atributos Atributos monovaloradosmonovalorados y y multivaloradosmultivalorados. Los atributos . Los atributos que se han especificado en los ejemplos tienen todos un que se han especificado en los ejemplos tienen todos un valor sólo para una entidad concreta.valor sólo para una entidad concreta.Por ejemplo, el atributo Por ejemplo, el atributo número-préstamo número-préstamo para una entidad para una entidad préstamo específico, referencia a un único número de préstamo específico, referencia a un único número de préstamo. Tales atributos se llaman préstamo. Tales atributos se llaman monovaloradosmonovalorados. . Puede haber ocasiones en las que un atributo tiene un Puede haber ocasiones en las que un atributo tiene un conjunto de valores para una entidad específica. conjunto de valores para una entidad específica. Considérese un conjunto de entidades Considérese un conjunto de entidades empleado empleado con el con el atributo atributo número-teléfono. número-teléfono. Cualquier empleado particular Cualquier empleado particular puede tener cero, uno o más números de teléfono. Este tipo puede tener cero, uno o más números de teléfono. Este tipo de atributo se llama de atributo se llama multivaloradomultivalorado. En ellos, se pueden . En ellos, se pueden colocar apropiadamente límites inferior y superior en el colocar apropiadamente límites inferior y superior en el número de valores en el atributo número de valores en el atributo multivaloradomultivalorado. . Como otro ejemplo, un atributo Como otro ejemplo, un atributo nombresubordinado nombresubordinado del del conjunto de entidades conjunto de entidades empleado empleado sería multivalorado, ya que sería multivalorado, ya que un empleado en concreto podría tener cero, uno o más un empleado en concreto podría tener cero, uno o más subordinados.subordinados.

Page 13: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

AtributosAtributos

Atributos Atributos derivadosderivados. El valor para este tipo de atributo se . El valor para este tipo de atributo se puede derivar de los valores de otros atributos o entidades puede derivar de los valores de otros atributos o entidades relacionados. relacionados.

Por ejemplo, sea el conjunto de entidades Por ejemplo, sea el conjunto de entidades cliente cliente que tiene un que tiene un atributo atributo préstamos préstamos que representa cuántos préstamos tiene un que representa cuántos préstamos tiene un cliente en el banco. Ese atributo se puede derivar contando el cliente en el banco. Ese atributo se puede derivar contando el número de entidades número de entidades préstamo préstamo asociadas con ese asociadas con ese clientecliente..

Un atributo toma un valor Un atributo toma un valor nulonulo cuando una entidad no tiene cuando una entidad no tiene un valor para un atributo. El valor un valor para un atributo. El valor nulo nulo también puede indicar también puede indicar «no aplicable», es decir, que el valor no existe para la «no aplicable», es decir, que el valor no existe para la entidad. entidad.

Por ejemplo, una persona puede no tener segundo nombre de pila. Por ejemplo, una persona puede no tener segundo nombre de pila. Nulo Nulo puede también designar que el valor de un atributo es puede también designar que el valor de un atributo es desconocido. Un valor desconocido puede ser, bien desconocido. Un valor desconocido puede ser, bien perdido perdido (el valor existe pero no se tiene esa información) o (el valor existe pero no se tiene esa información) o desconocido desconocido (no se conoce si el valor existe realmente o no).(no se conoce si el valor existe realmente o no).

Por ejemplo, si el valor Por ejemplo, si el valor nombre nombre para un para un cliente cliente particular es particular es nulonulo, , se asume que el valor es perdido, ya que cada cliente debe tener se asume que el valor es perdido, ya que cada cliente debe tener un nombre. Un valor un nombre. Un valor nulo nulo para el atributo para el atributo piso piso podría significar podría significar que la dirección no incluye un piso (no aplicable), que existe piso que la dirección no incluye un piso (no aplicable), que existe piso pero no se conoce cuál es (perdido), o que no se sabe si el piso pero no se conoce cuál es (perdido), o que no se sabe si el piso forma parte o no de la dirección del cliente (desconocido).forma parte o no de la dirección del cliente (desconocido).

Page 14: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

Una Una relación relación es una asociación entre es una asociación entre diferentes entidades. diferentes entidades.

Por ejemplo, se puede definir una relación que Por ejemplo, se puede definir una relación que asocie al cliente López con el préstamo P-15. asocie al cliente López con el préstamo P-15. Esta relación especifica que López es un cliente Esta relación especifica que López es un cliente con el préstamo número P-15.con el préstamo número P-15.

Un Un conjunto de relaciones conjunto de relaciones es un es un conjunto de relaciones del mismo tipo. conjunto de relaciones del mismo tipo. Formalmente es una relación matemática Formalmente es una relación matemática con con n n > = 2 de conjuntos de entidades > = 2 de conjuntos de entidades (posiblemente no distintos). (posiblemente no distintos).

Si Si EE1, 1, EE2,…,2,…,En En son conjuntos de entidades, son conjuntos de entidades, entonces un conjunto de relaciones R es un entonces un conjunto de relaciones R es un subconjunto de: {(subconjunto de: {(ee1, 1, ee2,…,2,…,enen) | ) | ee1 1 єє EE1, 1, ee2 2 єє EE2,…,2,…,en en єє EnEn} } donde (donde (ee1,1,ee2,…2,…enen) es una relación.) es una relación.

Page 15: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

La función que desempeña una entidad en La función que desempeña una entidad en una relación se llama una relación se llama papelpapel de la entidad. de la entidad. Las entidades en una relación concreta se Las entidades en una relación concreta se denominan denominan participacionesparticipaciones . . La relaciones pueden recibir La relaciones pueden recibir nombres de nombres de rolesroles para indicar el papel de cada tipo de para indicar el papel de cada tipo de entidad participante juega en una relación.entidad participante juega en una relación.

Page 16: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

Considérense los dos conjuntos de entidades préstamo y sucursal. Se puede definir el conjunto de relaciones sucursal-préstamo para denotar la asociación entre un préstamo y la sucursal en que se mantiene ese préstamo.

Page 17: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

Los conjuntos de relaciones Los conjuntos de relaciones prestatarioprestatario y y sucursal l préstamosucursal l préstamo proporcionan un proporcionan un ejemplo de un conjunto de relaciones ejemplo de un conjunto de relaciones binariobinario, es decir, uno que implica dos , es decir, uno que implica dos conjuntos de entidades. La mayoría de los conjuntos de entidades. La mayoría de los conjuntos de relaciones en un sistema de conjuntos de relaciones en un sistema de bases de datos son binarios.bases de datos son binarios.

Page 18: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

El número de conjuntos de entidades que El número de conjuntos de entidades que participan en un conjunto de relaciones es participan en un conjunto de relaciones es también el también el gradogrado del conjunto de del conjunto de relaciones.relaciones. Un conjunto de relaciones Un conjunto de relaciones binariobinario tiene tiene grado 2; un conjunto de relaciones grado 2; un conjunto de relaciones ternarioternario tiene grado 3, un conjunto de relaciones tiene grado 3, un conjunto de relaciones cuaternariocuaternario tiene grado 4. tiene grado 4.

Page 19: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

Unarias. Relaciones recursivas

Un empleado (Supervisor)Supervisa a otro (supervisado)

Binaria. El propietario posee propiedades en renta

Page 20: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.2 2.2 Relaciones y conjunto de Relaciones y conjunto de relaciones.relaciones.

Ternaria: El empleado registra un cliente en una sucursal

Cuaternaria: Un agente gestiona una oferta por parte de un comprador con el soporte de una institución financiera.

Page 21: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Ejercicio para la claseEjercicio para la clase

Identifica las Entidades para un Sistema de Identifica las Entidades para un Sistema de Base de Datos para un Restaurante de Base de Datos para un Restaurante de manera que des un ejemplo de cada tipo manera que des un ejemplo de cada tipo de relación.de relación.

UnariaUnariaBinariaBinariaTernaria Ternaria CuaternariaCuaternaria

Page 22: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.3 Limitantes de mapeo.2.3 Limitantes de mapeo.

Un esquema E-R puede definir restricciones a las que los contenidos de la base de datos se deben adaptar.

Existe una correspondencia entre cardinalidades y las restricciones de participación que son dos de los tipos más importantes de restricciones.

La correspondencia de cardinalidades, o La correspondencia de cardinalidades, o razón de cardinalidad, expresa el número razón de cardinalidad, expresa el número de entidades a las que otra entidad puede de entidades a las que otra entidad puede estar asociada vía un conjunto de estar asociada vía un conjunto de relaciones.relaciones.

Page 23: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

La correspondencia de cardinalidades es la La correspondencia de cardinalidades es la más útil describiendo conjuntos de más útil describiendo conjuntos de relaciones binarias, aunque relaciones binarias, aunque ocasionalmente contribuye a la descripción ocasionalmente contribuye a la descripción de conjuntos de relaciones que implican de conjuntos de relaciones que implican más de dos conjuntos de entidades. más de dos conjuntos de entidades.

Uno a Uno a unouno

Uno a Uno a variosvarios

Varios a Varios a unouno

Varios a Varios a variosvarios

Page 24: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Analicemos las relaciones binarias únicamente: Analicemos las relaciones binarias únicamente:

Para un conjunto de relaciones binarias R entre los Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de conjuntos de entidades A y B, la correspondencia de cardinalidades debe ser una de las siguientes:cardinalidades debe ser una de las siguientes:

Uno a uno.Uno a uno. Una entidad en A se asocia con sólo una entidad Una entidad en A se asocia con sólo una entidad en B, y una entidad en B se asocia con sólo una entidad en en B, y una entidad en B se asocia con sólo una entidad en A.A.

Uno a varios.Uno a varios. Una entidad en A se asocia con cualquier Una entidad en A se asocia con cualquier número de entidades en B (ninguna o varias). Una entidad número de entidades en B (ninguna o varias). Una entidad en B, sin embargo, se puede asociar con sólo una entidad en B, sin embargo, se puede asociar con sólo una entidad en A. en A.

Varios a uno.Varios a uno. Una entidad en A se asocia con sólo una Una entidad en A se asocia con sólo una entidad en B. Una entidad en B, sin embargo, se puede entidad en B. Una entidad en B, sin embargo, se puede asociar con cualquier número de entidades (ninguna o asociar con cualquier número de entidades (ninguna o varias) en A. varias) en A.

Varios a varios.Varios a varios. Una entidad en A se asocia con cualquier Una entidad en A se asocia con cualquier número de entidades (ninguna o varias) en B, y una número de entidades (ninguna o varias) en B, y una entidad en B se asocia con cualquier número de entidades entidad en B se asocia con cualquier número de entidades (ninguna o varias) en A. (ninguna o varias) en A.

Page 25: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Ejemplo de restricción:Ejemplo de restricción:

Considera el conjunto de relaciones prestatario. Si en un banco particular un préstamo puede pertenecer a varios clientes y un cliente puede tener varios préstamos, entonces el conjunto de relaciones de cliente a préstamo es varios a varios.

Prestatario:Prestatario:

Page 26: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.4 Llaves primarias.2.4 Llaves primarias.Conceptualmente las entidades y relaciones individuales son distintas; desde una perspectiva de bases de datos, sin embargo, la diferencia entre ellas se debe expresar en término de sus atributos.Por lo tanto, los valores de los atributos de una entidad deben ser tales que permitan identificar unívocamente a la entidad. En otras palabras, no se permite que ningún par de entidades tengan exactamente los mismos valores de sus atributos.Una llave permite identificar un conjunto de atributos suficiente para distinguir las entidades entre sí. Las llaves también ayudan a identificar unívocamente a las relaciones y así a distinguir las relaciones entre sí.

Page 27: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.4 Llaves primarias.2.4 Llaves primarias.Una superllave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades.Si K es una superllave, entonces también lo es cualquier superconjunto de K. A menudo interesan las superllaves tales que los subconjuntos propios de ellas no son superllave. Tales superllaves mínimas se llaman llaves candidatas.Llave primaria se utiliza para denotar una llave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades.

Page 28: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.5 Diagramas 2.5 Diagramas entidad/relación.entidad/relación.

El El modelado entidad-relaciónmodelado entidad-relación es una es una técnicatécnica para el modelado de datos utilizando para el modelado de datos utilizando diagramas diagramas entidad relaciónentidad relación. No es la única técnica pero sí la . No es la única técnica pero sí la más utilizada. Brevemente consiste en los más utilizada. Brevemente consiste en los siguientes pasos:siguientes pasos:

Se parte de una descripción textual del problema o Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). sistema de información a automatizar (los requisitos). Requisitos de datos

Se hace una lista de los sustantivos y verbos que Se hace una lista de los sustantivos y verbos que aparecen. aparecen. Los sustantivos son posibles entidades o atributos. Los sustantivos son posibles entidades o atributos. Designación de los conjuntos de entidades

Los verbos son posibles relaciones. Los verbos son posibles relaciones. Designación de los conjuntos de relaciones

Analizando las frases se determina la cardinalidad de las Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. relaciones y otros detalles. Cardinalidad y llaves

Se elabora el diagrama (o diagramas) entidad-relación. Se elabora el diagrama (o diagramas) entidad-relación. Se completa el modelo con listas de atributos y una Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden descripción de otras restricciones que no se pueden reflejar en el diagrama. reflejar en el diagrama.

Page 29: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Entidad: objeto (real o abstracto) acerca del cual se recoge información de interés para la base de datos.

Relación: asociación o correspondencia existente entre entidades.

cita acita a

artículoartículoeses

escritoescritoporpor

autorautor

perteneceperteneceaa

institucióninstitución

Page 30: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Atributos: cada una de las propiedades o características de una entidad o relación.

Cardinalidad: nº máximo y nº mínimo de ocurrencias de cada entidad que intervienen en la relación.

Uno a uno 1:1Una a muchos 1:N ó 1: *Muchos a muchos N:M

RealizaRealizaClienteCliente

Se Se compone compone

dede

PedidoPedido

artículosartículos

RFCRFC

11 **

**

**

1:N1:N

N:MN:M

FechaFecha

CantidadCantidadNSerieNSerie

Page 31: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

EjercicioEjercicio

Consideremos una empresa que requiere Consideremos una empresa que requiere controlar a los vendedores y las ventas que controlar a los vendedores y las ventas que ellos realizan.ellos realizan.De este problema determinamos que los De este problema determinamos que los objetos o entidades principales a estudiar objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo son el empleado (vendedor) y el artículo (que es el producto en venta), y las (que es el producto en venta), y las características que los identifican son:características que los identifican son:

                                    Empleado:       Artículo:Empleado:       Artículo:                                    Nombre            DescripciónNombre            Descripción                  Puesto              Costo                  Puesto              Costo                  Salario              Clave                  Salario              Clave                  RFC                  RFC

La relación entre ambas entidades la La relación entre ambas entidades la podemos establecer como Venta. podemos establecer como Venta. Establezca el diagrama.Establezca el diagrama.

Page 32: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.6 2.6 Reducción de diagramas Reducción de diagramas entidad / relación a tablas.entidad / relación a tablas.

Una base de datos que se ajusta a un esquema de bases de datos E-R se puede representar por una colección de tablas. Para cada conjunto de entidades de la base de datos y para cada conjunto de relaciones de la base de datos hay una única tabla a la que se asigna el nombre del conjunto de entidades o del conjunto de relaciones correspondiente. Cada tabla tiene varias columnas, cada una de las cuales tiene un nombre único.

Page 33: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.6 2.6 Reducción de diagramas Reducción de diagramas entidad / relación a tablas.entidad / relación a tablas.

ClienteCliente PréstamosPréstamosAdeudaAdeuda

IdCteIdCte IdPrestamoIdPrestamoNombreNombre

DirecciónDirección

CantidadCantidad

NoPagosNoPagos

FechaFechaTeléfonoTeléfono

IdCteIdCte NombreNombre DirecciónDirección TeléfonoTeléfono FechaFechaIdCteIdCte IdPrestamoIdPrestamo IdPrestamoIdPrestamo CantidadCantidadNoPagosNoPagos

ClienteCliente AdeudaAdeuda PréstamosPréstamos

Llave Llave primariaprimaria

Llave Llave primariaprimaria

Page 34: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.6 2.6 Reducción de diagramas Reducción de diagramas entidad / relación a tablas.entidad / relación a tablas.

noCuentanoCuenta saldosaldo nombreCuentanombreCuenta nombreSucursalnombreSucursal activoactivociudadSucursalciudadSucursal

CuentaCuenta SucursalSucursal

CuentaCuenta SucursalSucursalCuentasucursalCuentasucursal

noCuentanoCuenta nombreSucursalnombreSucursalsaldosaldo

ciudadSucursalciudadSucursal

activoactivo

Participación totalParticipación total

Llave Llave primariaprimaria

nombreCuentanombreCuenta

Page 35: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.6 2.6 Reducción de diagramas Reducción de diagramas entidad / relación a tablas.entidad / relación a tablas.

idEmpleadoidEmpleadoidSubordinadoidSubordinado

EmpleadoEmpleado NombreSubordinadoNombreSubordinado

Atributo multivaloradoAtributo multivalorado

Atributo calculadoAtributo calculado

idEmpleadoidEmpleado fechaIniciofechaInicionombreEmpleadonombreEmpleadonumTelefononumTelefonoantiguedadantiguedad

EmpleadoEmpleado TrabajaParaTrabajaPara

idEmpleadoidEmpleado

numTelefononumTelefono

nombreSubordinadonombreSubordinado

fechaIniciofechaInicio

antiguedadantiguedad

nombreEmpleadonombreEmpleado

direccióndirecciónAtributo Atributo compuestocompuesto

direcciónNumerodirecciónNumerodirecciónCalledirecciónCalle

Llave Llave primariaprimaria

Page 36: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

EjercicioEjercicio

Analiza los tres diagramas anteriores y di Analiza los tres diagramas anteriores y di para cada uno en que consiste la reducción para cada uno en que consiste la reducción de los diagramas en tablas.de los diagramas en tablas.Como se representa cada elemento del Como se representa cada elemento del diagrama entidad-relación en una tabla.diagrama entidad-relación en una tabla.

Page 37: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.7 2.7 Generalización y Generalización y especialización.especialización.

GeneralizaciónGeneralizaciónEl proceso de diseño puede ser de una forma ascendente, en el que varios conjuntos de entidades se sintetizan en un conjunto de entidades de nivel más alto basado en características comunes.

EspecializaciónEspecializaciónUn conjunto de entidades puede incluir subgrupos de entidades que se diferencian de alguna forma de las otras entidades del conjunto. El refinamiento a partir de un conjunto de entidades inicial en sucesivos niveles de subgrupos de entidades representa un proceso de diseño descendente en el que las distinciones se hacen explícitas.

Page 38: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.7 2.7 Generalización y Generalización y especialización.especialización.

Page 39: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Reducción a tablas - Reducción a tablas - generalizacióngeneralización

Hay dos métodos diferentes para transformar a forma tabular un diagrama E-R que incluya generalización:

Aunque la generalización a la que se va a hacer referencia es la de la figura anterior se incluye sólo la primera capa de los conjuntos de entidades de nivel más bajo — es decir, empleado y cliente. Se asume que nombre es la clave primaria de persona.

1. Crear una tabla para el conjunto de entidades de nivel más alto. Para cada conjunto de entidades de nivel más bajo, crear una tabla que incluya una columna para cada uno de los atributos de ese conjunto de entidades más una columna por cada atributo de la clave primaria del conjunto de entidades de nivel más alto. Así, para el diagrama ER de la Figura 2.15, se tienen tres tablas:

persona, con atributos nombre, calle y ciudadempleado, con atributos nombre y salariocliente, con atributos nombre, límite-crédito

Page 40: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Reducción a tablas - Reducción a tablas - generalizacióngeneralización2. Es posible una representación alternativa

si la generalización es disjunta y completa. Aquí no se crea una tabla para el conjunto de entidades de nivel más alto. En su lugar, para cada conjunto de entidades de nivel más bajo se crea una tabla que incluya una columna por cada atributo del conjunto de entidades más una columna por cada atributo del conjunto de entidades de nivel más alto. Entonces, para el mismo diagrama E-R anterior se tienen dos tablas.

empleado, con atributos nombre, calle, ciudad y sueldocliente, con atributos nombre, calle, ciudad y límite-crédito

Page 41: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

2.8 Agregación.2.8 Agregación.

La agregación es una abstracción a través de la cual las relaciones se tratan como entidades de nivel más alto.

Page 42: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Reducción a tablas - agregaciónReducción a tablas - agregación

Transformar a forma tabular un diagrama E-R que incluya agregación es sencillo. Considérese el diagrama anterior. La tabla para el conjunto de relaciones dirige entre la agregación de trabaja-en y el conjunto de entidades director incluye una columna para cada atributo de la clave primaria del conjunto de entidades director y del conjunto de relaciones trabaja-en. También incluiría una columna para los atributos descriptivos, si los hubiera, del conjunto de relaciones dirige. Por tanto, se transforman los conjuntos de relaciones y los conjuntos de entidades dentro de la entidad agregada.

Page 43: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

EjercicioEjercicio

Dibuja las tablas en las que quedaría Dibuja las tablas en las que quedaría reducido el diagrama de reducido el diagrama de generalización/especializacióngeneralización/especialización y el de y el de agregaciónagregación, de acuerdo a como se indica , de acuerdo a como se indica en en Reducción a tablasReducción a tablas correspondientes a correspondientes a cada caso.cada caso.

Page 44: Bases de Datos I. Tema II. Modelo Entidad - Relación

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Bibliografía utilizadaBibliografía utilizadaLibros: Libros:

Fundamentos de Bases de Datos. Abraham Fundamentos de Bases de Datos. Abraham Silberschatz, Henry F. Korth, S. SudarshanSilberschatz, Henry F. Korth, S. SudarshanSistemas de Bases de Datos. Sistemas de Bases de Datos. Carolyn BeggCarolyn Begg

Papers:Papers:A relational model of data for large shared data banks. E.F. Codd. IBM Research Laboratory San Jose California. 1983.El modelo relacional de bases de datos. Javier Quiroz. Boletín de Política Informática 2003.

Imágenes:Imágenes:Imágenes blanco y negro tomadas del libro de SilberschatzImágenes azules con blanco tomadas del libro de blanco tomadas del libro de BeggBegg