Ing. Yim Isaias Apestegui Florentino Base de Datos UNA INTRODUCCION A BASE DE DATOS, EL MODELO ENTIDAD RELACION ING. YIM ISAIAS APESTEGUI FLORENTINO Fuente: Caselli Gismondi Hugo,Manual de Base de Datos 2009 Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, Dr. Carlos Castillo de UPF: Modelo Entidad Relación 1 Ing. Yim Isaias Apestegui Florentino Base de Datos INTRODUCCION: • Las bases de datos no son una mera colección de archivos. • Más bien, es una fuente central de datos significativos. • Usuarios, aplicaciones, compartimiento. 2 Ing. Yim Isaias Apestegui Florentino Base de Datos • El soporte de una base de datos es el (DBMS: Database Management System), el cual permite la creación, modificación y actualización de la base de datos, la recuperación de los datos y la emisión de reportes. 3 Ing. Yim Isaias Apestegui Florentino Base de Datos Nivel Físico: El nivel más bajo de abstracción describe como se almacenan realmente los datos. En el nivel físico, se describen en detalle las estructuras de datos complejas de bajo nivel. Nivel Conceptual: El siguiente nivel de abstracción describe qué datos son realmente almacenados en la base de datos y las relaciones que existen entre los datos. 4 Ing. Yim Isaias Apestegui Florentino Base de Datos Aquí se describe la base de datos completa en términos de un número pequeño de estructuras relativamente sencillas las que pueden implicar estructuras complejas en el nivel físico. El nivel conceptual lo usan los administradores de base de datos, quienes deben decidir qué información se va a guardar en la base de datos. Nivel de Visión: El nivel más alto de abstracción describe sólo partes de la base 5 Ing. Yim Isaias Apestegui Florentino Base de Datos de datos completa. Muchos usuarios de la base de datos, no necesitan conocer toda la información. En cambio, dichos usuarios sólo necesitan conocer una parte de la base de datos. Diseño conceptual. El propósito es describir el contenido de la información de la base de datos, más que las estructuras de almacenamiento que se necesitan para manejar esta información. 6 Ing. Yim Isaias Apestegui Florentino Base de Datos Esta fase parte de la especificación de requerimientos y su resultado es un esquema conceptual. El esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independiente del SMBD que se use para manipularla. Diseño lógico. Tiene como fin obtener el esquema lógico, que es una descripción de la estructura de la base de datos que puede procesar el software del SMBD. 7 Ing. Yim Isaias Apestegui Florentino Base de Datos Para especificar el esquema lógico se usa el modelo lógico (jerárquico, de redes, o Relacional, que es actualmente el mas usado). Diseño físico. El objetivo es obtener el esquema físico, el cual es una descripción de la implantación de una base de datos en la memoria secundaria, describe las estructuras de almacenamiento y los métodos usados para tener acceso efectivo a los datos. 8 Ing. Yim Isaias Apestegui Florentino Base de Datos Hay una retroalimentación entre el diseño físico y lógico, porque las decisiones tomadas durante el diseño físico para mejorar el rendimiento, pueden afectar la estructura del esquema lógico. 9 Ing. Yim Isaias Apestegui Florentino Base de Datos 10 Ing. Yim Isaias Apestegui Florentino Base de Datos Modelos Conceptuales. Son instrumentos para representar la realidad a un alto nivel de abstracción. Con su uso se puede construir una descripción de la realidad, fácil de entender e interpretar. Se caracterizan por el hecho de que proporcionan capacidad de estructuración 11 Ing. Yim Isaias Apestegui Florentino Base de Datos bastante flexible y permiten especificar restricciones de datos explícitamente. Hay modelos diferentes; algunos de los más extensamente conocidos son: o El modelo entidad-relación. o El modelo orientado a objetos. 12 Ing. Yim Isaias Apestegui Florentino Base de Datos Modelos Lógicos. Apoyados por los sistemas de manejo de base de datos (SMBD). Describen los datos procesables en un computador. Los tres modelos de datos más ampliamente aceptados son los modelos relacional, de red y jerárquico. 13 Ing. Yim Isaias Apestegui Florentino Base de Datos Modelo relacional El modelo relacional representa los datos y las relaciones entre los datos mediante una colección de tablas, cada una de las cuales tiene un número de columnas con nombres únicos. 14 Ing. Yim Isaias Apestegui Florentino Base de Datos Modelo de red Los datos en el modelo de red se representan mediante colecciones de registros y las relaciones entre los datos se representan mediante enlaces, los cuales pueden verse como punteros. Se enlazan a nivel de grafos arbitrarios. 15 Ing. Yim Isaias Apestegui Florentino Base de Datos Modelo jerárquico El modelo jerárquico es similar al modelo de red en el sentido de que los datos y las relaciones entre los datos se representan mediante registros y enlaces, respectivamente. 16 Ing. Yim Isaias Apestegui Florentino Base de Datos Se diferencia del modelo de red en que los registros están organizados como colecciones de árboles en vez de grafos arbitrarios. 17 Ing. Yim Isaias Apestegui Florentino Base de Datos M O DE L O EN T I D A D RE L ACI O N 18 Ing. Yim Isaias Apestegui Florentino Base de Datos Los conceptos básicos previstos por el modelo ER son: Entidades, Relaciones y Atributos. 19 Ing. Yim Isaias Apestegui Florentino Base de Datos ENTIDADES: representan clases de objetos. Una entidad es un objeto que es distinguible de otros objetos por medio de un conjunto específico de atributos. Una entidad puede ser concreta, tal como una actor, película o estudio, una persona o un libro, o puede ser abstracta, como un día festivo o un concepto. PELICULA, ACTOR Y ESTUDIO, son ejemplos de entidades para una base de datos de movies. Las entidades se representan gráficamente por medio de rectángulos. 20 Ing. Yim Isaias Apestegui Florentino Base de Datos ATRIBUTOS: representan las propiedades básicas de las entidades o relaciones. Un atributo es una función que asigna un conjunto de entidades a un dominio. Así, cada entidad se describe por medio de un conjunto de pares (atributo, valor del dato), un par para cada atributo del conjunto de entidades. Por ejemplo, los atributos de PERSONA podrían ser: Nombre <Valor>, Apellido<Valor>, DNI<Valor> y Profesión<Valor>. 21 Ing. Yim Isaias Apestegui Florentino Base de Datos RELACIONES: Las relaciones representan agregaciones de dos o más entidades. Tipos de relaciones: 1-1,1-N,N-N 22 Ing. Yim Isaias Apestegui Florentino Base de Datos Por ejemplo: 23 Ing. Yim Isaias Apestegui Florentino Base de Datos Entidades 24 Ing. Yim Isaias Apestegui Florentino Base de Datos Atributos 25 Ing. Yim Isaias Apestegui Florentino Base de Datos Relaciones 26 Ing. Yim Isaias Apestegui Florentino Base de Datos Tipos de Atributos Atómicos-Compuestos 27 Ing. Yim Isaias Apestegui Florentino Base de Datos Tipos de atributo Valores Monovaluados (ej.: edad) Multivaluados (ej.: teléfonos) Almacenados o derivados Ej.: la edad de una persona es casi siempre un atributo derivado de la fecha de nacimiento Posiblemente nulos Cuando un atributo se puede dejar “en blanco” Claves Permiten localizar una entidad, son únicos 28 Ing. Yim Isaias Apestegui Florentino Base de Datos CLAVES Relaciones 29 Ing. Yim Isaias Apestegui Florentino Base de Datos Tipo de relación Ejemplo: es jefe de, participar en curso Instancia de relación Juan es jefe de Pedro Grado de una relación Número de entidades que participan Binario, terciario, etc. Cardinalidades Número de instancias de cada entidad 30 Ing. Yim Isaias Apestegui Florentino Base de Datos Cobertura de las Generalizaciones Consideremos el caso de una empresa cualquiera y diferentes políticas respecto a las personas a considerar, en su calidad de empleados y clientes. Cobertura total y exclusiva: Todas las personas están clasificadas como empleados o clientes (cobertura total); Sí una persona se clasifica como empleado, no puede clasificarse como cliente y al contrario ocurre lo mismo (cobertura exclusiva). 31 Ing. Yim Isaias Apestegui Florentino Base de Datos Cobertura total y superpuesta: Todas las personas son empleados o clientes (cobertura total), permitiéndose que un empleado sea a su vez cliente (cobertura superpuesta). El esquema es similar al anterior. Sólo que en vez de poner la indicación (t, e) se pondrá (t, s). 32 Ing. Yim Isaias Apestegui Florentino Base de Datos Cobertura parcial y exclusiva: No todas las personas están clasificadas como empleados o clientes (cobertura parcial); Si una persona se clasifica como empleado, no puede clasificarse como cliente y al contrario ocurre lo mismo (cobertura exclusiva). El esquema sigue siendo el mismo, pero con la Indicación (p, e). 33 Ing. Yim Isaias Apestegui Florentino Base de Datos Cobertura parcial y superpuesta: No todas las personas están clasificadas como empleados o clientes (cobertura parcial); Si una persona se clasifica como empleado también puede clasificarse como cliente (cobertura superpuesta). El esquema llevaría la indicación (p, s). 34 Ing. Yim Isaias Apestegui Florentino Base de Datos CLAVES DE UNA RELACIÓN (DE UNA TABLA). En el modelo relacional se habla de claves en vez de identificadores, existiendo comúnmente las siguientes definiciones: Clave candidata de una relación (tabla) es un conjunto no vacío de atributos que identifican unívoca y mínimamente cada tupla (registro). 35 Ing. Yim Isaias Apestegui Florentino Base de Datos Clave primaria: Es aquella clave candidata que el usuario elegirá, por consideraciones ajenas al modelo relacional, para identificar las tuplas de la relación. Clave alternativas: Son aquellas claves candidatas que no han sido escogidas como claves primarias. 36 Ing. Yim Isaias Apestegui Florentino Base de Datos Clave ajena o foránea: de una relación R2 es un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relación R1 (R1 y R2 no son necesariamente distintas). Notar que la clave ajena y la correspondiente clave primaria han de estar definidas sobre los mismos dominios. 37 Ing. Yim Isaias Apestegui Florentino Base de Datos También:… 38 Ing. Yim Isaias Apestegui Florentino Base de Datos Relaciones como atributos 39 Ing. Yim Isaias Apestegui Florentino Base de Datos Relaciones Con Atributos 40 Ing. Yim Isaias Apestegui Florentino Base de Datos Relaciones Ternarias 41 Ing. Yim Isaias Apestegui Florentino Base de Datos Disminuir Grado 42 Ing. Yim Isaias Apestegui Florentino Base de Datos Reemplazar por Una Binaria y una Entidad Extra 43 Ing. Yim Isaias Apestegui Florentino Base de Datos ENTIDADES DÉBILES Y FUERTES Entidad débil No tienen atributos clave propios Necesitan otra entidad para ser identificados Entidad fuerte Si tienen clave propia 44 Ing. Yim Isaias Apestegui Florentino Base de Datos 45 Ing. Yim Isaias Apestegui Florentino Base de Datos Ejercicios Propuestos. CASO-1 Sea una empresa dedicada al alquiler de CD-ROMs de audio. Dicha empresa tiene un local de atención al público donde están expuestas las carátulas de los CDs más demandados y las últimas novedades, aunque también existen listados en papel de todos los títulos que se podrían alquilar. Cuando un cliente solicita en alquiler un título, se comprueba si hay ejemplares disponibles y si el cliente no tiene problemas por ejemplares no devueltos, quedando constancia de la fecha de alquiler y la fecha máxima de entrega; de forma que cuando el cliente devuelva el ejemplar se podrá comprobar s i s e l e t i e n e q u e i m p o n e r u n a s a n c i ó n . Ca d a c l i e n t e p u e d e s o l i c i t a r una relación de los CDs que ha alquilado previamente. Ca d a e j e m p l a r d e c a d a t í t u l o d e b e q u e d a r p l e n a m e n t e i d e n t i f i c a d o (incluyendo la información necesaria para su rápida localización física). Se pide realizar la parte del ERD que recoge la información de l o s CDs . 46 Ing. Yim Isaias Apestegui Florentino Base de Datos Caso-2.Realizar el ER correspondiente al siguiente supuesto: Se tienen CLIENTES de los que se guarda un número de cliente, nombre, apellidos, lista de teléfonos, fax y correo electrónico. Los clientes realizan PEDIDOS. (Un pedido no puede ser realizado por dos clientes simultáneamente). Cada pedido tiene un número de pedido, una fecha asociada y una persona de contacto. Cada pedido aglutina varias LÍNEAS DE DETALLE, cada una con una cantidad y una referencia a un artículo. Los ARTÍCULOS tienen un descriptor, un identificador de familia y un identificador de modelo. Varias líneas de detalle correspondientes a uno o varios pedidos (bien en su totalidad, bien en parte) constituyen un ALBARÁN. Los albaranes contienen una fecha de entrega, una dirección de entrega y el nombre y apellido del receptor. Varias líneas de detalle correspondientes a uno o varios albaranes (bien en su totalidad, bien en parte) constituyen una FACTURA, la cual contiene un número de factura, una fecha de cobro y un modo de pago. 47 Ing. Yim Isaias Apestegui Florentino Base de Datos Caso 3 Construir el ER correspondiente al siguiente enunciado: Un centro de instalaciones deportivas quiere hacer una aplicación de reservas. En el centro existen instalaciones deportivas (piscinas, gimnasios, frontones, etc.). El centro en cuestión tiene socios, de los cuales se almacenan su dirección, ciudad, provincia, teléfono, nombre y estado. Existen una serie de artículos que se pueden alquilar junto con las reservas (balones, redes, raquetas, etc.). Cada instalación es reservada por un socio en una fecha dada desde una hora de inicio hasta una hora de fin siempre y cuando este al día en sus cuotas. Cada reserva puede tener asociada uno o varios artículos deportivos que se alquilan a parte. Por ejemplo si yo quiero hacer una reserva para jugar a voleibol tengo que reservar una instalación polideportivo más un artículo red, más un artículo balón. 48 Ing. Yim Isaias Apestegui Florentino Base de Datos Caso 4.Una empresa avícola desea llevar el control de la alimentación diaria de las aves en cada una de las etapas básicas de crecimiento (bebe, joven y consumo). Cada ración de alimento tiene una composición en base a tres elementos, la cual es diferente en cada una de las etapas. Cada etapa tiene definido un periodo de tiempo. Todo empieza con la fecha de nacimiento del ave bebe y finaliza con la fecha de venta del ave de consumo. Las aves se identifican desde su nacimiento y en base al número de lote de incubación. Cada lote posee un tamaño de población y una fecha de entrega para el inicio de crianza. El control de alimentación de cada población de un lote de crianza a lo largo de cada etapa incluye la cantidad total de la ración de alimento que se coloca, la población de aves al inicio del día y el control de la merma en base al número de aves que mueren el día anterior. 49