Bases de Datos I Modelos de Datos Erik Sacre
Relaciones N:M Relaciones Uno a Uno Son aquellas de grado singular en ambos extremos.  Se debe investigar la posibilidad de fusionar ambas entidades Modelo de Datos Modelo Entidad - Relación Notas  A B A B X A B
Relaciones recursivas Modelan jerarquías en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado. Coloquialmente: “Oreja de chancho” Relaciones excluyentes - Arcos Modelan el caso en que las ocurrencias de una entidad están asociadas con sólo una de varias otras entidades. Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos.   Modelo de Datos Modelo Entidad - Relación Notas  A
Relaciones excluyentes - Lectura Se leen todas las relaciones, uniéndolas por la partícula  o bien Cada (entidad) o bien (relación 1 - entidad 1) o bien (relación 2 - entidad 2) ... o bien (relación N - entidad N) Modelo de Datos Modelo Entidad - Relación Notas  C A B
Ejemplo : Cada TRABAJO o bien debe ser hecho por un  EMPLEADO o bien debe ser hecho por un PROVEEDOR. Relaciones excluyentes - Reglas Toda relación en el arco debe tener la misma opcionalidad. Toda relación en el arco debe ser de la misma entidad. Una relación puede participar en a lo más un arco. Identificador Único Un  conjunto de entidades  es un conjunto de entidades del mismo tipo que poseen los mismos atributos. Una entidad se identifica dentro del conjunto, por los valores que adquieren sus atributos. Modelo de Datos Modelo Entidad - Relación Notas
Ejemplo : El conjunto de todas las personas que toman ramo en la escuela, puede definirse como el conjunto de entidades  alumno . Definición Para todo conjunto de entidades del mismo tipo, debe existir uno o más atributos, o una o más relaciones, o una combinación de éstos que permite identificar inequívocamente cada entidad en forma única. Este atributo o combinación de atributos se denomina identificador único. Conjunto de atributos y/o relaciones cuya combinación de valores para una ocurrencia de una entidad es única en el universo de ocurrencias posibles de la entidad. Si bien siempre debe ser posible encontrar un identificador único, es frecuente definir atributos artificiales que garanticen la unicidad. Modelo de Datos Modelo Entidad - Relación Notas
Ejemplo : El N° de matrícula es una buen identificador único para el conjunto de entidades alumno. Pregunta : ¿ Es el Carnet de Identidad una buen identificador único ? Modelo de Datos Modelo Entidad - Relación Notas  EMPLEADO # Emp_Id PROYECTO # Codigo ASIGNACION # Fecha La barra señala que el UID de PROYECTO participa del UID de ASIGNACION
Observaciones Una entidad puede tener más de un UID. En casos complejos, puede usarse UID artificiales. Nunca un atributo o relación opcional es parte de un UID. Problema Definir el modelo E-R que permite obtener los horarios y las salas de clases de los cursos dictados por la escuela. (resolver los alumnos, supuestos vistos en clase). Modelo de Datos Modelo Entidad - Relación Notas
Ejercicios Construir un modelo de datos que represente el funcionamiento de una bomba de bencina.  Su solución debe al menos contestar:          Quiénes son los clientes?          Qué productos compran los clientes?          Cuál es el monto total de venta diaria?          Cuál es la bomba que más vende?          Qué octanaje tiene más venta?       Construir un modelo de datos que represente un banco y los productos cuenta corriente y tarjeta de crédito. Su solución debe al menos contestar:          Quiénes son los clientes?          Qué productos tiene cada cliente?          Cuál es el movimiento de cada producto?          Cuál es el saldo de cada producto?      
Subtipos y Supertipos Definición Un  supertipo  es una entidad que queda completamente definida como la unión de dos o más entidades. A éstas últimas se les llama  subtipos  de la entidad supertipo. Los subtipos modelan exclusividad. Observaciones Cada ocurrencia de la entidad supertipo debe ser parte de una y sólo una entidad subtipo.  Los subtipos son excluyentes. Puede haber anidamiento: un subtipo de una entidad puede ser el supertipo de otras Modelo de Datos Modelo Entidad - Relación Notas
Subtipos y Supertipos Generalización y Especialización Generalización  es el proceso de definir supertipos a partir de varias entidades con atributos comunes. Especificación  es el proceso de definir subtipos de una entidad base. La  generalización  se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel. La  generalización  se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. La  generalización  ayuda a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R. Modelo de Datos Modelo Entidad - Relación Notas
Subtipos y Supertipos La  especificación  es el proceso inverso, pueden haber entidades en el conjunto de alto nivel que no estén asociadas a entidades en un conjunto de bajo nivel. Representación gráfica Modelo de Datos Modelo Entidad - Relación Notas  PERSONA JURÍDICA NATURAL Regla descrita: Toda PERSONA es  o bien jurídica o bien natural.
Dependencia de Existencia Definición La entidad X depende de la entidad Y, si para que exista X debe existir Y. Ejemplo : Para que exista una entidad  Vendedor  debe existir   una entidad  Empleado  asociada. Para que exista una orden de compra debe existir algún cliente que la ordena. Si se elimina un cliente se debe eliminar también sus órdenes de compra. El conjunto de entidades  Clientes  es el dominante y  Orden  es el subordinado. Entidades fuertes y débiles Es posible que una entidad no tenga suficientes atributos para formar un identificador único y deba ser formado usando la relación. Entidades así se llaman entidades débiles. Modelo de Datos Modelo Entidad - Relación Notas
Una entidad débil  es aquella cuya existencia depende de otra entidad, en el sentido de que no puede existir si no existe también esa otra entidad. En el ejemplo (visto en clases),   la entidad  sección  es débil por que no puede existir si no existe la entidad  curso .  Una  entidad fuerte  es una entidad que no es débil. Problema para la casa Definir el modelo E-R de los “Mundiales de Fútbol”, que considere a los países participantes y jugadores de cada selección, indicando edad y posición en que juega. Un jugador puede participar en más de un mundial y lo puede hacer cada vez en una posición distinta. Un jugador siempre juega por un mismo país. Los partidos del mundial deben indicar los países que jugaron y el marcador obtenido. Los países se clasifican en etapas : final, semifinal, cuartos de final , etc. Modelo de Datos Modelo Entidad - Relación Notas
Temas al cierre Modelo Entidad - Relación y Formas Normales 1ra F.N. : Todo atributo debe tener valor único en una    ocurrencia de la entidad. 2da F.N.: Todo atributo debe depender de la totalidad    del UID de la entidad. 3ra F.N. : Ningún atributo que no sea parte del UID de    la entidad puede depender de otro atributo    que tampoco sea parte del UID. Mapeo (elemental) de Modelo E-R a Modelo Relacional Entidades se mapean a  Tablas Atributos se mapean a Columnas UIDs se mapean a LLaves Primarias Relaciones se mapean a  Llaves Foráneas Modelo de Datos Modelo Entidad - Relación Notas
Mapeo (elemental) de Modelo E-R a Modelo Relacional Arcos pueden ser diseñados de dos maneras: Explícitos: Cada relación se mapea a una llave  foránea. Implícitos: Todas las relaciones se mapean a una  columna de llave foránea más una  bandera para el tipo. Subtipos pueden ser diseñados de tres maneras: Cada subtipo se mapea a una tabla. Todos los subtipos se mapean a una única tabla, y se agrega una columna de tipo. El diseño de subtipos se rehace en términos de relaciones con arcos. Modelo de Datos Modelo Entidad - Relación Notas
Ejercicios Discutir la validez de estos casos Modelo de Datos Modelo Entidad - Relación Notas  A A B X A B
Ejercicios Indicar qué y qué no es implicado por el siguiente diagrama : Modelo de Datos Modelo Entidad - Relación Notas  A1 puede ser Y para A2 A1 no puede ser Y para A1 mismo Si A1 es Y para A2, entonces A2 no puede ser Y para A1 El número de niveles es limitado No más de tres A1 pueden ser Y para A2 A ser Xde ser Y para
METODOLOGIA A EMPLEAR Sugerencia de pasos para resolver problemas de Modelamiento de Datos:   Leer bien el texto del problema que describe el negocio. Identificar (subrayar) los diferentes conceptos que son susceptibles de ser modelados (entidades, atributos). Generar una lista de conceptos, identificando de ellos las Entidades y los Atributos. Se recomienda agregar los conceptos sobre los cuales se tienen dudas. Es más fácil posteriormente eliminar que agregar. Ahora, se trabajará con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas Relacionar las Entidades según la nomenclatura vista en clases. (1:1, 1:N, N:M). Las relaciones N:M se separan al final del proceso. Probar el modelo: para ello, se deberá “leer” las relaciones y comprobar si satisfacen el problema. Es probable que su modelo permita obtener más información de la solicitada. Esto no es malo. Sería errado que no soportara un requerimiento explícito en el texto. Si hay dudas, se deben efectuar los supuestos correspondientes. Identificar los Atributos llave (#), los obligatorios (*) y los opcionales (o). Las llaves que se propagan a las otras entidades, no se colocan en el modelo: solamente se explicita con una línea según nomenclatura vista en clases. Separar las relaciones N:M y construir los “NUBS” o relaciones 1:N. Probar nuevamente el modelo. Identificar nuevos requerimientos que pueden ser satisfechos con su solución.
Ejercicio en Clases Un empresario tiene en la Región Metropolitana varias parcelas; en cada una de ellas tiene un Criadero de Perros. El empresario, que se dedica a la venta de perros, los clasifica por raza. Cada perro es inscrito oficialmente en el Kennel Club y tiene un número de pedigree que lo identifica en forma única. Cuando se realiza la venta, el perro debe quedar registrado con su nuevo dueño, además de asignársele un nombre al perrito. Para cada perro  interesa también identificar la raza a la cual pertenece, en qué criadero fue vendido, cuál es su fecha de nacimiento y las señas particulares del perrito. Además, y dado que la venta de un perrito genera ingresos, el dueño del criadero necesita saber el precio de venta de cada perrito.   Construir el modelo de datos que satisfaga este requerimiento.
Entidades Criadero (#codigo, *nombre, *direccion, *fono) Animal (#codigo, *nro_pedigree, *nombre, *fec_nac, *señas) Raza (#codigo, *nombre) Dueño (#rut, *nombre, *direccion, *telefono) Cada Animal debe corresponder a una Raza Cada Raza puede tener uno o más Animal Cada Criadero puede tener uno o más Animal Cada Animal debe pertenecer a un Criadero Cada Animal puede pertenecer a un Dueño Cada Dueño debe tener uno o más Animal

Modelos De Datos (Segunda Parte)

  • 1.
    Bases de DatosI Modelos de Datos Erik Sacre
  • 2.
    Relaciones N:M RelacionesUno a Uno Son aquellas de grado singular en ambos extremos. Se debe investigar la posibilidad de fusionar ambas entidades Modelo de Datos Modelo Entidad - Relación Notas A B A B X A B
  • 3.
    Relaciones recursivas Modelanjerarquías en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado. Coloquialmente: “Oreja de chancho” Relaciones excluyentes - Arcos Modelan el caso en que las ocurrencias de una entidad están asociadas con sólo una de varias otras entidades. Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos. Modelo de Datos Modelo Entidad - Relación Notas A
  • 4.
    Relaciones excluyentes -Lectura Se leen todas las relaciones, uniéndolas por la partícula o bien Cada (entidad) o bien (relación 1 - entidad 1) o bien (relación 2 - entidad 2) ... o bien (relación N - entidad N) Modelo de Datos Modelo Entidad - Relación Notas C A B
  • 5.
    Ejemplo : CadaTRABAJO o bien debe ser hecho por un EMPLEADO o bien debe ser hecho por un PROVEEDOR. Relaciones excluyentes - Reglas Toda relación en el arco debe tener la misma opcionalidad. Toda relación en el arco debe ser de la misma entidad. Una relación puede participar en a lo más un arco. Identificador Único Un conjunto de entidades es un conjunto de entidades del mismo tipo que poseen los mismos atributos. Una entidad se identifica dentro del conjunto, por los valores que adquieren sus atributos. Modelo de Datos Modelo Entidad - Relación Notas
  • 6.
    Ejemplo : Elconjunto de todas las personas que toman ramo en la escuela, puede definirse como el conjunto de entidades alumno . Definición Para todo conjunto de entidades del mismo tipo, debe existir uno o más atributos, o una o más relaciones, o una combinación de éstos que permite identificar inequívocamente cada entidad en forma única. Este atributo o combinación de atributos se denomina identificador único. Conjunto de atributos y/o relaciones cuya combinación de valores para una ocurrencia de una entidad es única en el universo de ocurrencias posibles de la entidad. Si bien siempre debe ser posible encontrar un identificador único, es frecuente definir atributos artificiales que garanticen la unicidad. Modelo de Datos Modelo Entidad - Relación Notas
  • 7.
    Ejemplo : ElN° de matrícula es una buen identificador único para el conjunto de entidades alumno. Pregunta : ¿ Es el Carnet de Identidad una buen identificador único ? Modelo de Datos Modelo Entidad - Relación Notas EMPLEADO # Emp_Id PROYECTO # Codigo ASIGNACION # Fecha La barra señala que el UID de PROYECTO participa del UID de ASIGNACION
  • 8.
    Observaciones Una entidadpuede tener más de un UID. En casos complejos, puede usarse UID artificiales. Nunca un atributo o relación opcional es parte de un UID. Problema Definir el modelo E-R que permite obtener los horarios y las salas de clases de los cursos dictados por la escuela. (resolver los alumnos, supuestos vistos en clase). Modelo de Datos Modelo Entidad - Relación Notas
  • 9.
    Ejercicios Construir unmodelo de datos que represente el funcionamiento de una bomba de bencina. Su solución debe al menos contestar:         Quiénes son los clientes?         Qué productos compran los clientes?         Cuál es el monto total de venta diaria?         Cuál es la bomba que más vende?         Qué octanaje tiene más venta?       Construir un modelo de datos que represente un banco y los productos cuenta corriente y tarjeta de crédito. Su solución debe al menos contestar:         Quiénes son los clientes?         Qué productos tiene cada cliente?         Cuál es el movimiento de cada producto?         Cuál es el saldo de cada producto?      
  • 10.
    Subtipos y SupertiposDefinición Un supertipo es una entidad que queda completamente definida como la unión de dos o más entidades. A éstas últimas se les llama subtipos de la entidad supertipo. Los subtipos modelan exclusividad. Observaciones Cada ocurrencia de la entidad supertipo debe ser parte de una y sólo una entidad subtipo. Los subtipos son excluyentes. Puede haber anidamiento: un subtipo de una entidad puede ser el supertipo de otras Modelo de Datos Modelo Entidad - Relación Notas
  • 11.
    Subtipos y SupertiposGeneralización y Especialización Generalización es el proceso de definir supertipos a partir de varias entidades con atributos comunes. Especificación es el proceso de definir subtipos de una entidad base. La generalización se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel. La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. La generalización ayuda a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R. Modelo de Datos Modelo Entidad - Relación Notas
  • 12.
    Subtipos y SupertiposLa especificación es el proceso inverso, pueden haber entidades en el conjunto de alto nivel que no estén asociadas a entidades en un conjunto de bajo nivel. Representación gráfica Modelo de Datos Modelo Entidad - Relación Notas PERSONA JURÍDICA NATURAL Regla descrita: Toda PERSONA es o bien jurídica o bien natural.
  • 13.
    Dependencia de ExistenciaDefinición La entidad X depende de la entidad Y, si para que exista X debe existir Y. Ejemplo : Para que exista una entidad Vendedor debe existir una entidad Empleado asociada. Para que exista una orden de compra debe existir algún cliente que la ordena. Si se elimina un cliente se debe eliminar también sus órdenes de compra. El conjunto de entidades Clientes es el dominante y Orden es el subordinado. Entidades fuertes y débiles Es posible que una entidad no tenga suficientes atributos para formar un identificador único y deba ser formado usando la relación. Entidades así se llaman entidades débiles. Modelo de Datos Modelo Entidad - Relación Notas
  • 14.
    Una entidad débil es aquella cuya existencia depende de otra entidad, en el sentido de que no puede existir si no existe también esa otra entidad. En el ejemplo (visto en clases), la entidad sección es débil por que no puede existir si no existe la entidad curso . Una entidad fuerte es una entidad que no es débil. Problema para la casa Definir el modelo E-R de los “Mundiales de Fútbol”, que considere a los países participantes y jugadores de cada selección, indicando edad y posición en que juega. Un jugador puede participar en más de un mundial y lo puede hacer cada vez en una posición distinta. Un jugador siempre juega por un mismo país. Los partidos del mundial deben indicar los países que jugaron y el marcador obtenido. Los países se clasifican en etapas : final, semifinal, cuartos de final , etc. Modelo de Datos Modelo Entidad - Relación Notas
  • 15.
    Temas al cierreModelo Entidad - Relación y Formas Normales 1ra F.N. : Todo atributo debe tener valor único en una ocurrencia de la entidad. 2da F.N.: Todo atributo debe depender de la totalidad del UID de la entidad. 3ra F.N. : Ningún atributo que no sea parte del UID de la entidad puede depender de otro atributo que tampoco sea parte del UID. Mapeo (elemental) de Modelo E-R a Modelo Relacional Entidades se mapean a Tablas Atributos se mapean a Columnas UIDs se mapean a LLaves Primarias Relaciones se mapean a Llaves Foráneas Modelo de Datos Modelo Entidad - Relación Notas
  • 16.
    Mapeo (elemental) deModelo E-R a Modelo Relacional Arcos pueden ser diseñados de dos maneras: Explícitos: Cada relación se mapea a una llave foránea. Implícitos: Todas las relaciones se mapean a una columna de llave foránea más una bandera para el tipo. Subtipos pueden ser diseñados de tres maneras: Cada subtipo se mapea a una tabla. Todos los subtipos se mapean a una única tabla, y se agrega una columna de tipo. El diseño de subtipos se rehace en términos de relaciones con arcos. Modelo de Datos Modelo Entidad - Relación Notas
  • 17.
    Ejercicios Discutir lavalidez de estos casos Modelo de Datos Modelo Entidad - Relación Notas A A B X A B
  • 18.
    Ejercicios Indicar quéy qué no es implicado por el siguiente diagrama : Modelo de Datos Modelo Entidad - Relación Notas A1 puede ser Y para A2 A1 no puede ser Y para A1 mismo Si A1 es Y para A2, entonces A2 no puede ser Y para A1 El número de niveles es limitado No más de tres A1 pueden ser Y para A2 A ser Xde ser Y para
  • 19.
    METODOLOGIA A EMPLEARSugerencia de pasos para resolver problemas de Modelamiento de Datos:   Leer bien el texto del problema que describe el negocio. Identificar (subrayar) los diferentes conceptos que son susceptibles de ser modelados (entidades, atributos). Generar una lista de conceptos, identificando de ellos las Entidades y los Atributos. Se recomienda agregar los conceptos sobre los cuales se tienen dudas. Es más fácil posteriormente eliminar que agregar. Ahora, se trabajará con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas Relacionar las Entidades según la nomenclatura vista en clases. (1:1, 1:N, N:M). Las relaciones N:M se separan al final del proceso. Probar el modelo: para ello, se deberá “leer” las relaciones y comprobar si satisfacen el problema. Es probable que su modelo permita obtener más información de la solicitada. Esto no es malo. Sería errado que no soportara un requerimiento explícito en el texto. Si hay dudas, se deben efectuar los supuestos correspondientes. Identificar los Atributos llave (#), los obligatorios (*) y los opcionales (o). Las llaves que se propagan a las otras entidades, no se colocan en el modelo: solamente se explicita con una línea según nomenclatura vista en clases. Separar las relaciones N:M y construir los “NUBS” o relaciones 1:N. Probar nuevamente el modelo. Identificar nuevos requerimientos que pueden ser satisfechos con su solución.
  • 20.
    Ejercicio en ClasesUn empresario tiene en la Región Metropolitana varias parcelas; en cada una de ellas tiene un Criadero de Perros. El empresario, que se dedica a la venta de perros, los clasifica por raza. Cada perro es inscrito oficialmente en el Kennel Club y tiene un número de pedigree que lo identifica en forma única. Cuando se realiza la venta, el perro debe quedar registrado con su nuevo dueño, además de asignársele un nombre al perrito. Para cada perro interesa también identificar la raza a la cual pertenece, en qué criadero fue vendido, cuál es su fecha de nacimiento y las señas particulares del perrito. Además, y dado que la venta de un perrito genera ingresos, el dueño del criadero necesita saber el precio de venta de cada perrito.   Construir el modelo de datos que satisfaga este requerimiento.
  • 21.
    Entidades Criadero (#codigo,*nombre, *direccion, *fono) Animal (#codigo, *nro_pedigree, *nombre, *fec_nac, *señas) Raza (#codigo, *nombre) Dueño (#rut, *nombre, *direccion, *telefono) Cada Animal debe corresponder a una Raza Cada Raza puede tener uno o más Animal Cada Criadero puede tener uno o más Animal Cada Animal debe pertenecer a un Criadero Cada Animal puede pertenecer a un Dueño Cada Dueño debe tener uno o más Animal