1 / 36

Organización y Estructuración de Datos

Organización y Estructuración de Datos. Modelo Entidad Interrelación. Profesor Titular: Mg Carlos G. Neil Profesor Adjunto: Lic. José Horacio Amorena 2010.

Download Presentation

Organización y Estructuración de Datos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Organización y Estructuración de Datos Modelo Entidad Interrelación Profesor Titular: Mg Carlos G. Neil Profesor Adjunto: Lic. José Horacio Amorena 2010

  2. ¿ES IMPORTANTE TRADUCIR LAS ESPECIFICACIONES FUNCIONALES DE UN SISTEMA DE INFORMACIÓN A LOS DISTINTOS MODELOS DEL ANÁLISIS ESTRUCTURADO? Unidad 1 1.1 Mapas Conceptuales Unidad 2 2.1. Información 2.2. Base de datos 2.3. Normalización 2.4. SQL Unidad 3 3.1. Sistemas Unidad 4 4.1. Ciclo de vida 4.2. Planificación y Programación de Proyectos Unidad 5 5.1. Requerimientos y Diagrama de Flujo de Datos 5.2. Diccionario de Datos 5.3. Especificación de Procesos 5.4. Modelo Entidad Interrelación 5.5. Balanceo de Modelos Unidad 6 6.1. Proceso de análisis ascendente

  3. Clase anterior – repaso general • ¿Cuál es la diferencia entre el árbol y la tabla de decisión? • ¿Sobre qué procesos del DFD realizo la especificación? • ¿Vinculo los flujos entrantes y salientes del proceso con los datos utilizados en la especificación? • ¿Entiendo la relación que existe entre el flujo de datos, los almacenamientos y el pseudocódigo?

  4. Unidad 5.4 Modelo Entidad Interrelación

  5. Modelos de datos Modelo entidad interrelación Modelo conceptual Independiente de la implementación Transformación Modelo lógico dependiente de la implementación Modelo Relacional

  6. Entidades regulares y débiles Tienen existencia propia Su existencia depende de otra entidad

  7. Atributos Las entidades tienen atributos que lo describen o identifican. Estos pueden ser • Descriptivos / Identificatorios • Monovaluados / Multivaluados • Obligatorios / Optativos (Esta caracterización depende de la multiplicidad máxima y mínima) • Simples / Compuestos • derivable Cada atributo está asociado a un dominio particular (tipo de dato)

  8. Tipos de Atributos el par (1,1) puede omitirse

  9. Identificadores Propiedades de los identificadores minimalidad y unicidad

  10. Interrelaciones Las interrelaciones pueden tener atributos Se denominan: atributos descriptivos

  11. Multiplicidad en las interrelaciones binarias Para analizar la multiplicidad, parto de un objeto de la entidad y pregunto con cuántos objetos de la otra puede conectarse

  12. Relación de Generalización Las sub_entidades heredan atributos, interrelaciones y generalizaciones de la super_entidad

  13. Transformación/1 Entidades Se transforman en Tablas Atributos Se transforman en Campos de la tabla Se transforma en Identificador de la tabla Identificador Se transforman en Tabla, el identificador es la unión de los identificadores de la entidades intervientes, cada uno de ellos es clave foránea con referencia a la entidad (tabla) respectiva. Los atributos descriptivos pasan a ser campos a la tabla generada Interrelación binaria (y n-arias) M:N Interrelaciones 1:N, 1:1 Atributo identificador del lado “1” pasa como clave foránea al lado “N”

  14. Transformación/2 Opcion 1, sub_entidades y sub_entidades se transforman en tablas, los atributos de ambas pasan a las tablas respectivas como campos, el identificador de la super_entidad será el identificador de la tabla, el atributo identificador en las sub_entidades será, además, clave foránea con referencia a la super_intedidad Generalización Opcion 2, desaparece la super_entidad y todos los atributos de ésta pasan a ser atributos en las sub_entidades (incluyendo el identificador)

  15. Transformación/3 Entidad débil Se transforma en Tabla Atributos Se transforman en campos de la tabla Identificador Unión del identificador de la entidad fuerte (que además es clave foránea con referencia a ésta) más el atributo discrimante

  16. Transformación/4 E1(ID1, atrib1, ...) E2(ID1(E1), atrib2, ... ,ID4(E4)) E3(ID1(E1), atrib3, ...) E4(ID4, atrib4, ...) E5(ID5, atrib5, ... ,ID1(E3)) E6(ID6, atrib6, ...) E7(ID5(E5), atrib7, ...) I46(ID4(E4), (ID6(E6), ...)

  17. Auto evaluación/1 Comprendí los conceptos más importantes de la unidad 5.4 si puedo definir y dar ejemplos de: • Atributo • Descriptivo • Identificador • Obligatorio/optativo • Entidad • Débil • Regular • Interrelación • Multiplicidad • Máxima • Mínima • Relación de Generalización • Transformación Modelo de datos/modelo lógico

  18. Auto evaluación/2 Comprendí los conceptos más importantes de la unidad 5.4 si: • Vinculo a las entidad e interrelaciones (¿Cuáles?) del modelo de datos con los almacenamientos del DFD (guía 5.1) • Entiendo qué interrelaciones se transforman en tablas (guía 2.2) y cuáles no • Reconozco en qué casos utilizo entidades débiles (y no hago abuso de ellas) • Entiendo qué es un identificador y sé qué propiedades deben tener • Vinculo el tipo de atributo con su multiplicidad (max, min) • Comprendo cómo se forma el identificador en las entidades débiles • Entiendo por qué las interrelaciones no tienen identificador y sí lo tienen las tablas producto de la transformación • Comprendo cómo transformo un atributo multivaluado del modelo conceptual al modelo lógico • Vinculo las entidades e interrelaciones (¿Cuáles?) con las tablas que usamos en SQL (guía 2.3 – 2.4)

  19. ejemplo

  20. ejemplo “El sistema administra la información relacionada con un club deportivo. Los socios pueden ser de distintas categorías; ésta depende de su antigüedad. La cuota social, tiene dos componentes, consta de un básico que depende de la categoría del socio más un plus que depende del deporte elegido. Se desea tener, además, información sobre los deportes que practica cada socio, con la siguiente información: deporte, día y hora de práctica, profesor y arancel. Un socio puede practicar distintos deportes. Cada profesor trabaja en un sólo deporte pero, por supuesto, en cada deporte trabaja más de un profesor”

  21. Traducción de Requerimientos a Consultas Una práctica no muy extendida, pero muy útil, para aclarar los requerimientos y validar el diseño propuesto, es traducir los primeros en consultas: un diseño será apropiado de si es capaz de satisfacer las consultas que se realizan sobre el modelo propuesto por ejemplo: • listado de socios por categoría • listado de socios y sus cuotas pagas • listado de socios con los deportes que practican, días y horarios • Listado de pagos de cada socio el año 2005 en concepto de cuotas social

  22. Identificando Entidades e Interrelaciones Entidades: SOCIO, CATEGORÍA, PROFESOR, DEPORTE, CUOTA Interrelaciones: SOCIO-DEPORTE, DEPORTE-PROFESOR, SOCIO-CATEGORIA, SOCIO-CUOTA

  23. Primera Aproximación al Modelo Entidades: SOCIO, CATEGORÍA, PROFESOR, DEPORTE, CUOTA Interrelaciones: SOCIO-DEPORTE, DEPORTE-PROFESOR, SOCIO-CATEGORIA, SOCIO-CUOTA

  24. Atributos en las Entidades

  25. De entidad regular a débil

  26. Multiplicidad de las interrelaciones

  27. Atributos de las Interrelaciones

  28. Transformación al Modelo Lógico CATEGORÍA(cod_cat, nombre, valor_cuota, ...) SOCIO(cod_socio, nombre , apellido, valor-cuota, ..., cod_cat(CATEGORÍA)) DEPORTE(cod_deporte, nombre, arancel, ...) PROFESOR(cod_profesor, nombre, apellido,..., cod_deporte(DEPORTE) CUOTA(cod_socio(SOCIO), mes_cuota, fecha, valor_cuota) PRACTICA(cod_socio(SOCIO), cod_deporte(DEPORTE),dia, hora)

  29. Implementación en un SABD

  30. Resolución de Consultas en SQL/1 listado de socios por categoría SELECT socio.nombre, socio.apellido, categoria.nombre FROM socio, categoria WHERE (((socio.cod_cat)=[categoria].[cod_cat])) ORDER BY categoria.nombre;

  31. Resolución de Consultas en SQL/2 listado de socios y sus cuotas pagas SELECT socio.cod_socio, socio.apellido, cuota.num_cuota, cuota.fecha FROM socio, cuota WHERE (((socio.cod_socio)=[cuota].[cod_socio])) ORDER BY socio.cod_socio, cuota.num_cuota;

  32. Resolución de Consultas en SQL/3 listado de socios con los deportes que practican, días y horarios SELECT socio.apellido, socio.nombre, deporte.nombre, practica.dia, practica.hora FROM socio, deporte, practica WHERE (((socio.cod_socio)=[practica].[cod_socio]) AND ((deporte.cod_deporte)=[practica].[cod_deporte])) ORDER BY socio.apellido;

  33. Resolución de Consultas en SQL/4 Listado de pagos de cada socio el año 2005 en concepto de cuotas social SELECT socio.cod_socio, socio.apellido, sum(valor_cuota) AS [pago 2005] FROM socio, cuota WHERE socio.cod_socio=cuota.cod_socio GROUP BY socio.cod_socio, socio.apellido;

  34. Fin

More Related