Successfully reported this slideshow.

Modelos De Datos (Segunda Parte)

13,431 views

Published on

Published in: Technology, Business
  • Be the first to comment

Modelos De Datos (Segunda Parte)

  1. 1. Bases de Datos I Modelos de Datos Erik Sacre
  2. 2. <ul><li>Relaciones N:M </li></ul><ul><li>Relaciones Uno a Uno </li></ul><ul><ul><li>Son aquellas de grado singular en ambos extremos. </li></ul></ul><ul><ul><li>Se debe investigar la posibilidad de fusionar ambas entidades </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas A B A B X A B
  3. 3. <ul><li>Relaciones recursivas </li></ul><ul><ul><li>Modelan jerarquías en entidades del mismo tipo, por ejemplo: parte - componente, jefe - subordinado. </li></ul></ul><ul><ul><ul><ul><ul><li>Coloquialmente: “Oreja de chancho” </li></ul></ul></ul></ul></ul><ul><li>Relaciones excluyentes - Arcos </li></ul><ul><ul><li>Modelan el caso en que las ocurrencias de una entidad están asociadas con sólo una de varias otras entidades. </li></ul></ul><ul><ul><li>Esta es una manera de modelar exclusividad. Otra posibilidad es usar subtipos. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas A
  4. 4. <ul><li>Relaciones excluyentes - Lectura </li></ul><ul><ul><li>Se leen todas las relaciones, uniéndolas por la partícula o bien </li></ul></ul><ul><ul><ul><ul><li>Cada (entidad) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>o bien (relación 1 - entidad 1) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>o bien (relación 2 - entidad 2) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>... </li></ul></ul></ul></ul><ul><ul><ul><ul><li>o bien (relación N - entidad N) </li></ul></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas C A B
  5. 5. <ul><ul><li>Ejemplo : Cada TRABAJO o bien debe ser hecho por un </li></ul></ul><ul><ul><li>EMPLEADO o bien debe ser hecho por un </li></ul></ul><ul><ul><li>PROVEEDOR. </li></ul></ul><ul><li>Relaciones excluyentes - Reglas </li></ul><ul><ul><li>Toda relación en el arco debe tener la misma opcionalidad. </li></ul></ul><ul><ul><li>Toda relación en el arco debe ser de la misma entidad. </li></ul></ul><ul><ul><li>Una relación puede participar en a lo más un arco. </li></ul></ul><ul><li>Identificador Único </li></ul><ul><ul><li>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. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  6. 6. <ul><ul><li>Ejemplo : El conjunto de todas las personas que </li></ul></ul><ul><ul><ul><li>toman ramo en la escuela, puede definirse </li></ul></ul></ul><ul><ul><ul><li>como el conjunto de entidades alumno . </li></ul></ul></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><ul><li>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. </li></ul></ul></ul><ul><ul><ul><li>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. </li></ul></ul></ul><ul><ul><li>Si bien siempre debe ser posible encontrar un identificador único, es frecuente definir atributos artificiales que garanticen la unicidad. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  7. 7. <ul><ul><li>Ejemplo : El N° de matrícula es una buen identificador </li></ul></ul><ul><li>único para el conjunto de entidades alumno. </li></ul><ul><ul><li>Pregunta : ¿ Es el Carnet de Identidad una buen identificador único ? </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas <ul><li>EMPLEADO </li></ul><ul><ul><li># Emp_Id </li></ul></ul>PROYECTO # Codigo <ul><li>ASIGNACION </li></ul><ul><ul><li># Fecha </li></ul></ul>La barra señala que el UID de PROYECTO participa del UID de ASIGNACION
  8. 8. <ul><ul><li>Observaciones </li></ul></ul><ul><ul><ul><li>Una entidad puede tener más de un UID. </li></ul></ul></ul><ul><ul><ul><li>En casos complejos, puede usarse UID artificiales. </li></ul></ul></ul><ul><ul><ul><li>Nunca un atributo o relación opcional es parte de un UID. </li></ul></ul></ul><ul><li>Problema </li></ul><ul><ul><li>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). </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  9. 9. Ejercicios <ul><li>Construir un modelo de datos que represente el funcionamiento de una bomba de bencina. </li></ul><ul><li>Su solución debe al menos contestar: </li></ul><ul><li>        Quiénes son los clientes? </li></ul><ul><li>        Qué productos compran los clientes? </li></ul><ul><li>        Cuál es el monto total de venta diaria? </li></ul><ul><li>        Cuál es la bomba que más vende? </li></ul><ul><li>        Qué octanaje tiene más venta? </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>Construir un modelo de datos que represente un banco y los productos cuenta corriente y tarjeta de crédito. </li></ul><ul><li>Su solución debe al menos contestar: </li></ul><ul><li>        Quiénes son los clientes? </li></ul><ul><li>        Qué productos tiene cada cliente? </li></ul><ul><li>        Cuál es el movimiento de cada producto? </li></ul><ul><li>        Cuál es el saldo de cada producto? </li></ul><ul><li>      </li></ul>
  10. 10. <ul><li>Subtipos y Supertipos </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><ul><li>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. </li></ul></ul></ul><ul><ul><ul><ul><ul><li>Los subtipos modelan exclusividad. </li></ul></ul></ul></ul></ul><ul><ul><li>Observaciones </li></ul></ul><ul><ul><ul><li>Cada ocurrencia de la entidad supertipo debe ser parte de una y sólo una entidad subtipo. Los subtipos son excluyentes. </li></ul></ul></ul><ul><ul><ul><li>Puede haber anidamiento: un subtipo de una entidad puede ser el supertipo de otras </li></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  11. 11. <ul><li>Subtipos y Supertipos </li></ul><ul><ul><li>Generalización y Especialización </li></ul></ul><ul><ul><ul><li>Generalización es el proceso de definir supertipos a partir de varias entidades con atributos comunes. </li></ul></ul></ul><ul><ul><ul><li>Especificación es el proceso de definir subtipos de una entidad base. </li></ul></ul></ul><ul><ul><li>La generalización se usa para obtener un conjunto de entidades de alto nivel a partir de un conjunto entidades de bajo nivel. </li></ul></ul><ul><ul><li>La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. </li></ul></ul><ul><ul><li>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. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  12. 12. <ul><li>Subtipos y Supertipos </li></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Representación gráfica </li></ul></ul>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. 13. <ul><li>Dependencia de Existencia </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><ul><li>La entidad X depende de la entidad Y, si para que exista X debe existir Y. </li></ul></ul></ul><ul><ul><li>Ejemplo : Para que exista una entidad Vendedor debe existir </li></ul></ul><ul><ul><li> una entidad Empleado asociada. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><li>Entidades fuertes y débiles </li></ul><ul><ul><li>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. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  14. 14. <ul><ul><li>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. </li></ul></ul><ul><ul><li>En el ejemplo (visto en clases), la entidad sección es débil por que no puede existir si no existe la entidad curso . </li></ul></ul><ul><ul><li>Una entidad fuerte es una entidad que no es débil. </li></ul></ul><ul><li>Problema para la casa </li></ul><ul><ul><li>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. </li></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  15. 15. <ul><li>Temas al cierre </li></ul><ul><ul><li>Modelo Entidad - Relación y Formas Normales </li></ul></ul><ul><ul><ul><li>1ra F.N. : Todo atributo debe tener valor único en una ocurrencia de la entidad. </li></ul></ul></ul><ul><ul><ul><li>2da F.N.: Todo atributo debe depender de la totalidad del UID de la entidad. </li></ul></ul></ul><ul><ul><ul><li>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. </li></ul></ul></ul><ul><ul><li>Mapeo (elemental) de Modelo E-R a Modelo Relacional </li></ul></ul><ul><ul><ul><li>Entidades se mapean a Tablas </li></ul></ul></ul><ul><ul><ul><li>Atributos se mapean a Columnas </li></ul></ul></ul><ul><ul><ul><li>UIDs se mapean a LLaves Primarias </li></ul></ul></ul><ul><ul><ul><li>Relaciones se mapean a Llaves Foráneas </li></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  16. 16. <ul><ul><li>Mapeo (elemental) de Modelo E-R a Modelo Relacional </li></ul></ul><ul><ul><ul><li>Arcos pueden ser diseñados de dos maneras: </li></ul></ul></ul><ul><ul><ul><ul><li>Explícitos: Cada relación se mapea a una llave foránea. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Implícitos: Todas las relaciones se mapean a una columna de llave foránea más una bandera para el tipo. </li></ul></ul></ul></ul><ul><ul><ul><li>Subtipos pueden ser diseñados de tres maneras: </li></ul></ul></ul><ul><ul><ul><ul><li>Cada subtipo se mapea a una tabla. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Todos los subtipos se mapean a una única tabla, y se agrega una columna de tipo. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>El diseño de subtipos se rehace en términos de relaciones con arcos. </li></ul></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas
  17. 17. <ul><ul><li>Ejercicios </li></ul></ul><ul><ul><ul><li>Discutir la validez de estos casos </li></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas A A B X A B
  18. 18. <ul><ul><li>Ejercicios </li></ul></ul><ul><ul><ul><li>Indicar qué y qué no es implicado por el siguiente diagrama : </li></ul></ul></ul>Modelo de Datos Modelo Entidad - Relación Notas <ul><li>A1 puede ser Y para A2 </li></ul><ul><li>A1 no puede ser Y para A1 mismo </li></ul><ul><li>Si A1 es Y para A2, entonces A2 no puede ser Y para A1 </li></ul><ul><li>El número de niveles es limitado </li></ul><ul><li>No más de tres A1 pueden ser Y para A2 </li></ul>A ser Xde ser Y para
  19. 19. METODOLOGIA A EMPLEAR <ul><li>Sugerencia de pasos para resolver problemas de Modelamiento de Datos: </li></ul><ul><li>  </li></ul><ul><ul><li>Leer bien el texto del problema que describe el negocio. </li></ul></ul><ul><ul><li>Identificar (subrayar) los diferentes conceptos que son susceptibles de ser modelados (entidades, atributos). </li></ul></ul><ul><ul><li>Generar una lista de conceptos, identificando de ellos las Entidades y los Atributos. </li></ul></ul><ul><ul><li>Se recomienda agregar los conceptos sobre los cuales se tienen dudas. Es más fácil posteriormente eliminar que agregar. </li></ul></ul><ul><ul><li>Ahora, se trabajará con las Entidades: Consignar en un Modelo de Datos las Entidades identificadas </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Si hay dudas, se deben efectuar los supuestos correspondientes. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Separar las relaciones N:M y construir los “NUBS” o relaciones 1:N. </li></ul></ul><ul><ul><li>Probar nuevamente el modelo. </li></ul></ul><ul><ul><li>Identificar nuevos requerimientos que pueden ser satisfechos con su solución. </li></ul></ul>
  20. 20. 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.
  21. 21. Entidades <ul><li>Criadero (#codigo, *nombre, *direccion, *fono) </li></ul><ul><li>Animal (#codigo, *nro_pedigree, *nombre, *fec_nac, *señas) </li></ul><ul><li>Raza (#codigo, *nombre) </li></ul><ul><li>Dueño (#rut, *nombre, *direccion, *telefono) </li></ul><ul><li>Cada Animal debe corresponder a una Raza </li></ul><ul><li>Cada Raza puede tener uno o más Animal </li></ul><ul><li>Cada Criadero puede tener uno o más Animal </li></ul><ul><li>Cada Animal debe pertenecer a un Criadero </li></ul><ul><li>Cada Animal puede pertenecer a un Dueño </li></ul><ul><li>Cada Dueño debe tener uno o más Animal </li></ul>

×