Bases de Datos Modelo Entidad Relación MODELO ENTIDAD RELACION Propuesto por Peter P. Chen en 1976. Facilita el diseño de BD. Se basa en una percepción de un mundo real. Permite la especificación de un esquema de “empresa”. Etapa diseño conceptual Esquema conceptual Sus objetos básicos son denominados entidades y las relaciones entre estos objetos. Entidad “Una persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa" . Se diferencia unívocamente de cualquier otro objeto o cosa: Una persona: se diferencia de cualquier otra persona, incluso gemelos. Un automóvil: aunque sean de la misma marca, mismo modelo, tendrán atributos diferentes, por ejemplo, el número de chasis o la patente. Una casa: aunque sea exactamente igual a otra, se diferenciarán en su dirección. Una entidad se representa por sus características o atributos: Por ejemplo, la entidad Persona puede llevar consigo las características: Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc... Entidad Préstamo Persona Asignatura Auto Entidades Persona, Préstamo, Asignatura y Auto. Atributos Cualquier característica o propiedad que describe a una entidad. …y cada instancia de una entidad específica. Entidad Alumno, con el sgte. conjunto de atributos: (id, nombre, edad, semestre) (1, Sofia, 18, 2 ) (2, Josefa, 19, 5 ) (3, Gabriela, 20, 2 ) (4, Josefa, 19, 3 ) ... Instancia 1 Instancia 2 Instancia 3 Instancia 4 Instancia N Una instancia de entidad tiene valores específicos para cada uno de sus atributos por lo que es posible su identificación unívoca. Cada instancia se diferencia de las demás por el valor de sus atributos. Distintas instancias pueden tener los mismos valores para algunos atributos, pero nunca para todos. Debe haber uno o más atributos que permitan diferenciar a una instancia de otra distinta. El atributo identificativo que distingue a un alumno de otro es su número de id. atributo Persona Nombre Apellido Edad Teléfono Auto Patente Marca Modelo Motor Color Dominio Cada atributo tiene un dominio. Indica el tipo de datos que será almacenado. Restricciones en los valores que el atributo puede tomar: Cadenas de caracteres Números Solo dos letras Solo números mayores que cero Solo números enteros.... Simples y Compuestos Atributos simples son no divisibles: nombre, apellido, sexo, edad… Compuestos: se pueden dividir en subpartes pudiendo formar jerarquías. nombre-cliente: podría estar estructurado como un atributo compuesto consistente en nombre, primer-apellido y segundo-apellido N_ persona Persona Nombre Primer_apellido Segundo_apellido Monovalorados y Multivalorados Monovalorados: un solo valor para una entidad: fecha_nacimiento Multivalorado: Un atributo puede tener un conjunto de valores para una entidad específica. Tienen límites inferior y superior en el número de valores para una entidad. Entidad empleado con el atributo númeroteléfono. Empleado puede tener 0, 1 o más números de teléfono. Un banco puede limitar el número de números de teléfono almacenados para un único cliente a dos. (entre 0 y 2) atributo multivalorado Cliente Número_teléfono Almacenados y derivados Almacenados: aquellos guardados en la BD. Derivados: aquellos que es posible calcular o derivar a partir de datos almacenados. Entidad cliente con atributo préstamos (cuántos préstamos tiene un cliente en el banco). Atributo se puede derivar contando el número de instancias préstamo asociadas con ese cliente. Entidad cliente tiene un atributo edad y tb. atributo fecha-de-nacimiento. Se puede calcular edad a partir de fecha-de-nacimiento y de la fecha actual. El valor de un atributo derivado no se almacena; se calcula cuando sea necesario. atributo derivado Cliente F_nac Etiqueta Edad F_nac Atributos con valor nulo Se puede asignar valor nulo a algunos atributos: Sin valor aplicable: atributo titulo_universitario para personas que no tengan este tipo de título. De valor desconocido: Falta: atributo altura para una persona. Es seguro que toda persona tiene un valor de altura. Existe?: atributo teléfono de una persona, puede que no tenga o que sí tenga pero no se conozca. Hay algunos atributos que no deben contener valor nulo: los atributos clave. Claves Atributo o conjunto de atributos de una entidad, capaces de identificar unívocamente una instancia de la misma. E.d., si conocemos el valor de dichos atributos, seremos capaces de conocer a qué ocurrencia de entidad hace referencia. ->los valores de los atributos clave no se pueden repetir para dos instancias de la misma entidad. Ejemplo: entidad auto. ¿Cómo identificar una instancia de auto? Los atributos marca, modelo o color no identifican unívocamente una ocurrencia de la entidad, ya que pueden existir dos automóviles distintos de la misma marca, modelo o color. Se puede identificar de qué automóvil se habla, con sólo conocer el valor del atributo patente: ->no existe una misma patente para dos automóviles distintos. Por ende, patente sería la clave de la entidad auto. clave Auto Patente Marca Modelo Motor Color Automovil (sin clave): resulta imposible identificar a alguno de los 2 autos marca Peugeot: Marca Modelo Motor Color Peugeot 207 1.6 Rojo Mercedes Benz W116 3.0 Verde Peugeot 207 1.6 Rojo Automovil (con clave): a través de la clave, es posible identificar cualquiera de los autos: Patente Marca Modelo Motor Color GF6534 Peugeot 207 1.6 Rojo W116 3.0 Verde 207 1.6 Rojo DE8743 Mercedes Benz MU8732 Peugeot La clave puede estar conformada por más de un atributo, así como puede ser un atributo compuesto. Proyecto Nombre Número Localidad La clave es elegida por el diseñador dentro de un conjunto de atributos que cumplen con la condición de identificar una instancia de entidad. A estos atributos les llamaremos claves candidatas y la clave elegida será la clave primaria. Relaciones Correspondencia entre dos entidades. Relación Si tenemos dos entidades automóvil y persona, podemos tener una relación entre ellas: Persona Auto La relación debe tener un nombre que sea capaz de identificar el tipo de correspondencia entre ambas entidades. Generalmente estos nombres son verbos: Persona posee Auto Persona posee auto. Auto pertenece a persona. Persona es _de Auto Atributos en relaciones A veces los atributos no son propios de ninguna entidad… Sino del hecho mismo de la relación: Relaciones de tipo "histórico" donde debe constar una fecha o una hora. Hacer constar la fecha de compra en que persona compró el auto: la fecha es de la compra, no de la persona, ni del auto. Se representan igual que los atributos de las entidades. En tal caso, el atributo "Fecha de compra" debería colocarse en la relación "compra". Fecha_compra Persona compra Auto Cardinalidad de una relación Número de ocurrencias que se pueden dar de una relación: con cuantas ocurrencias de B se puede relacionar A y con cuantas ocurrencias de A se puede relacionar B. (cardinalidad) A (cardinalidad) R B Ejemplo: Una persona puede comprar muchos autos y un auto es comprado por una sola persona. Una ocurrencia de A (Persona) se puede relacionar con muchas ocurrencias de B (Auto) y que una ocurrencia de B (Auto) se puede relacionar con sólo una ocurrencia de A (Persona). Persona 1 N compra Auto Cardinalidad 1-1: cada ocurrencia de una entidad se relaciona con una ocurrencia de otra entidad. Ej.: una persona posee un automóvil. Persona 1 1 compra Auto Cardinalidad 1-N: también llamada uno a muchos. Cada ocurrencia de una entidad puede relacionarse con varias ocurrencias de otra entidad. Cardinalidad N-1: varias ocurrencias de una entidad pueden relacionarse con una de otra entidad. Ej.: una persona posee varios automóviles. Cardinalidad N-M: también llamada muchos a muchos. Cada ocurrencia de una entidad puede relacionarse con varias ocurrencias de otra entidad y viceversa. Una persona posee varios automóviles y un automóvil puede pertenecer a varias personas. Persona N M compra Auto Cardinalidad máxima de una relación: representa el número máximo de ocurrencias de una entidad con las que se puede relacionar otra ocurrencia de entidad. Ej.: una persona puede tener como máximo tres automóviles. Cardinalidad mínima de una relación: representa el número mínimo de ocurrencias de una entidad con las que se puede relacionar otra entidad. Ej.: un automóvil debe pertenecer como mínimo a una persona. (mínimo, máximo) A (mínimo, máximo) R B Una ocurrencia de A se relaciona con mínimo una ocurrencia de B y máximo varias ocurrencias de B, una ocurrencia de B se relaciona con mínimo una ocurrencia de A y máximo una ocurrencia de A. Aplicado a un ejemplo: Una persona puede comprar mínimo 1, máximo varios automóviles. Un auto puede ser comprado por mínimo 1 persona y máximo 1 persona. Persona (1,1) (1,N) compra Auto Se lee de izquierda a derecha y luego de derecha a izquierda (o al revés): Una persona compra uno o más autos, y un auto es comprado por sólo una persona. N ó M también se puede definir como un número entero específico Entidad débil Es débil cuando depende de otra para su existencia, sin la cual no tiene sentido. Sus atributos no la identifican completamente, sino que sólo la identifican de forma parcial. Debe participar en una relación que ayuda a identificarla: siempre debe haber una única interrelación que permita completar su identificación. Esta interrelación debe ser 1:N, y la entidad débil debe estar en el lado N. Si se elimina una ocurrencia de la entidad fuerte, se debe eliminar las ocurrencias de la entidad débil asociadas. Entidad Débil Ejemplo: un libro tiene uno o más ejemplares, y un ejemplar es de solo un libro. El ejemplar en si no dice mucho semánticamente, solo podría saber algo mas de el sabiendo de que libro es el ejemplar. Por otro lado, si eliminamos un libro, desaparecen sus ejemplares. Código Nombre Nr_hojas Editorial Libro (1,1) (1,N) tiene Ejemplar Ejemplar Número Estado Posición Ejercicios Modelo Entidad Relación Ejercicio 1. Biblioteca (Versión Simple) Crear un diseño entidad relación que permita gestionar los datos de una biblioteca de modo que las personas socias de la biblioteca disponen de un código de socio y además necesitar almacenar su dni, dirección, teléfono, nombre y apellidos. La biblioteca almacena libros que presta a los socios y socias, de ellos se almacena su título, su editorial, el año en el que se escribió el libro, el nombre completo del autor (o autores), el año en que se editó y en qué editorial fue y el ISBN. Necesitamos poder indicar si un volumen en la biblioteca está deteriorado o no. Queremos controlar cada préstamo que se realiza almacenando la fecha en la que se realiza, la fecha tope para devolver (que son 15 días más que la fecha en la que se realiza el préstamo) y la fecha real en la que se devuelve el libro Ejercicio 2. Academia de clases Crear un diseño entidad relación que permita controlar el sistema de información de una academia de cursos siguiendo estas premisas: Se dan clases a trabajadores y desempleados. Los datos que se almacenan de los alumnos son el DNI, dirección, nombre, teléfono y la edad. Además de los que trabajan necesitamos saber el CIF, nombre, teléfono y dirección de la empresa en la que trabajan Los cursos que imparte la academia se identifican con un código de curso. Además se almacena el programa del curso, las horas de duración del mismo, el título y cada vez que se imparte se anotará las fechas de inicio y fin del curso junto con un número concreto de curso (distinto del código) y los datos del profesor o profesora (sólo uno por curso) que son: dni, nombre, apellidos, dirección y teléfono. Se almacena la nota obtenida por cada alumno en cada curso teniendo en cuenta que un mismo alumno o alumna puede realizar varios cursos y en cada cual obtendrá una nota. Ejercicio 3. Geografía Crear un diseño entidad relación que permita almacenar datos geográficos referidos a España: Se almacenará el nombre y población de cada localidad, junto con su nombre y los datos de la provincia a la que pertenece la localidad, su nombre, población y superficie. Necesitamos también conocer los datos de cada comunidad autónoma, nombre, población y superficie y por supuesto las localidades y provincias de la misma Para identificar a la provincia se usarán los dos primeros dígitos del código postal. Es decir 34 será el código de Palencia y 28 el de Madrid Necesitamos saber qué localidad es la capital de cada provincia y cuáles lo son de cada comunidad Ejercicio 4. Guerras Diseñar un modelo entidad/relación que almacene los datos de todas las guerras de la historia de modo que: Se almacene el año en el que empezó la guerra y el año en que terminó, así como su nombre y el de los países contendientes, pudiendo indicar además quienes fueron los ganadores Hay que tener en cuenta que los países se pueden unir a la guerra a uno u otro bando (suponemos que solo hay dos bandos) después de comenzada la guerra (como EEUU en la 2ª guerra mundial) y que incluso pueden abandonar la guerra antes de que esta finalice (como Rusia en la 1ª guerra mundial) Los países que se almacenan en la base de datos pueden no ser países actualmente (como Prusia, Aragón, Asiria, etc.) por lo que se ha contemplado que en la base de datos se almacenen los años en los que el país ha sido independiente, teniendo en cuenta que hay países que ha habido momentos en los que ha sido independiente y otros en los que no (por ejemplo Croacia). Bastará con almacenar los periodos en los que ha sido independiente. Ejercicio 5. Almacén (Versión simple) Se trata de crear una base de datos sobre un almacén de piezas de modo que: Cada pieza se identifica con dos letras (tipo, por ejemplo TU=tuerca) y un número (modelo, por ejemplo 6) Almacenamos un atributo que permite saber la descripción de cada tipo de pieza. Es decir el tipo TU tendrá la descripción tuerca. Necesitamos conocer el precio al que vendemos cada pieza. Además hay piezas que se componen de otras piezas, por ejemplo una puerta se compone de una hoja de madera, una bisagra y un picaporte. Incluso una pieza puede estar compuesta de otras piezas que ha su vez pueden estar compuestas por otras y así sucesivamente Tenemos una serie de almacenes de los que guardamos su número, descripción, dirección y el nombre de cada estantería de almacén. Cada estantería se identifica por tres letras. Necesitaremos saber la cantidad de piezas que tenemos en cada almacén y saber en qué estanterías están las piezas buscadas Ejercicio 6. Biblioteca v2 Se trata de crear una base de datos sobre el funcionamiento de una biblioteca Almacenaremos el DNI, nombre, apellidos, código de socio, dirección y teléfonos (pueden ser varios, pero al menos uno) La biblioteca presta libros, CDs y películas. De todos ellos se almacena un código de artículo distinto para cada pieza en la biblioteca. Es decir si tenemos tres libros del Quijote, los tres tendrán un número distinto de artículo. Además almacenamos el nombre de cada artículo, el año en el que se hizo la obra (sea del tipo que sea) un resumen de la obra y los datos de los autores del mismo. Se considera autor de la película al director, de la música al intérprete y del libro al escritor. Pero de todos ellos se guarda la misma información: nombre y país. De los libros además se guarda el número de páginas, de los CDs el número de canciones y de la película la duración Anotamos si un artículo concreto está deteriorado y un comentario sobre el posible deterioro Cuando se presta un artículo, se anota fecha en la que se presta y la fecha tope para devolverle. Cuando el socio le devuelve, se anota la fecha de devolución. No hay tope sobre el número de artículos que puede prestarse a un socio e incluso el socio podría llevarse varias veces el mismo artículo en distintos préstamos Ejercicio 7. Organigrama Crear el esquema entidad/relación que represente el organigrama de una empresa, de modo que: Aparezcan los datos de todos los empleados y empleadas: dni, nº de seguridad social, código de trabajador, nombre, apellidos, dirección, teléfono y departamento en el que trabajan indicado por su código y nombre. También hay que tener en cuenta que cada trabajador puede tener un responsable (que en realidad es otro trabajador) Los departamentos poseen un único coordinador del mismo Necesitamos almacenar la categoría profesional de los trabajadores y trabajadoras, teniendo en cuenta que la categoría a veces cambia al cambiar el contrato, de los contratos se almacena la fecha de inicio del mismo y la fecha final (un contrato en vigor tendrá como fecha final el valor nulo). También controlaremos las nóminas que ha recibido el trabajador de las que sabemos la fecha, el salario y a qué trabajador van dirigidas y la categoría del mismo. Ejercicio 8. Vuelos Crear el esquema entidad/relación que permita gestionar reservas de vuelos, de modo que: Los clientes pueden reservar vuelos. Con la reserva se pueden reservar varias plazas, pero no poseeremos el número de asiento hasta obtener la tarjeta de embarque. En ese instante se asignará el asiento que tiene como identificación la fila, columna y la planta en la que está situado. Se pueden obtener tarjetas de embarque sin tener reserva Las tarjetas de embarque se refieren a un único cliente. De modo que aunque reserváramos nueve plazas, cada cliente podrá sacar su tarjeta de embarque indicando el número de reserva, la fecha de la misma y sus datos personales (dni, nombre, apellidos, dirección y teléfono). Además la persona que reserva debe indicar una tarjeta de crédito que quedará asociada a esa persona. El vuelo que se reserva tiene un código único, una fecha y una hora de salida y de llegada y un aeropuerto de salida y otro de llegada Los aeropuertos poseen un código único, además del nombre y la localidad y el país en el que se encuentran Se guarda información sobre los aviones, código y número de plazas. Los vuelos sólo les puede realizar un avión determinado, pero el mismo avión puede realizar (como es lógico) otros vuelos Ejercicio 9. Recetas de cocina Crear el esquema entidad/relación que permita gestionar los datos sobre preparación de recetas de cocina Ejercicio 10. Futbol Crear el esquema entidad/relación que permita crear el diseño de una base de datos que almacena información sobre los partidos de una liga de futbol una temporada. Hay que tener en cuenta que en dicha liga los jugadores no pueden cambiar de equipo Ejercicio 11. Accidentes geográficos Realizar un esquema entidad/relación que sirva para almacenar información geográfica. Para ello hay que tener en cuenta Se almacenan los siguientes accidentes geográficos: ríos, lagos y montañas De cada accidente se almacenan su posición horizontal y vertical según el eje de la tierra, además de su nombre De los ríos se almacena su longitud, de las montañas su altura y de los lagos su extensión Se almacena también información sobre cada país, su nombre, su extensión y su población Se desea almacenar información que permite saber en qué país está cada accidente geográfico, teniendo en cuenta que cada accidente puede estar en más de un país. Se almacena también los nombres de cada localidad del planeta. Y se almacena por qué localidades pasa cada río. Ejercicio 12. Empresa de software Realizar un esquema entidad/relación que permita modelar el sistema de información de una empresa de software atendiendo las siguientes premisas La empresa crea proyectos para otras empresas. De dichas empresas se almacena el CIF, nombre, dirección y teléfono así como un código interno de empresa. Los proyectos se inician en una determinada fecha y finalizan en otra. Además al planificarle se almacena la fecha prevista de finalización (que puede no coincidir con la finalización real) Los proyectos los realizan varios trabajadores, cada uno de ellos desempeña una determinada profesión en el proyecto (analista, jefe de proyecto, programador,…), dicha profesión tiene un código de profesión. En el mismo proyecto puede haber varios analistas, programadores,… Todos los trabajadores tienen un código de trabajador, un dni, un nombre y apellidos. Su profesión puede cambiar según el proyecto: en uno puede ser jefe y en otro un programador Se anota las horas que ha trabajado cada trabajador en cada proyecto. Puede haber varios proyectos que comiencen el mismo día. A todas las empresas les hemos realizado al menos un proyecto Todos los trabajadores han participado en algún proyecto En la base de datos, la profesión “administrador de diseño” no la ha desempeñado todavía ningún trabajador o trabajadora Ejercicio 13. Empresa de comidas Crear un diseño entidad/relación para una empresa de comidas. En la base de datos tienen que figurar: El nombre y apellidos de cada empleado, su dni y su número de SS además del teléfono fijo y el móvil Algunos empleados/as son cocineros/as. De los cocineros y cocineras anotamos (además de los datos propios de cada empleado) sus años de servicio en la empresa. Hay empleados/as que son pinches. De los y las pinches anotamos su fecha de nacimiento. La mayoría de trabajadores no son ni pinches ni cocineros/as En la base de datos figura cada plato (su nombre como “pollo a la carloteña”, “bacalo al pilpil”,…), el precio del plato junto con los ingredientes que lleva. Anotamos también si cada plato es un entrante, un primer plato, segundo plato o postre De los ingredientes necesitamos la cantidad que necesitamos de él en cada plato y en qué almacén y estantería del mismo le tenemos. Cada almacén se tiene un nombre (despensa principal, cámara frigorífica A, cámara frigorífica B…), un número de almacén y una descripción del mismo. Cada estante en el almacén se identifica con dos letras y un tamaño en centímetros. Dos almacenes distintos pueden tener dos estantes con las mismas letras. Necesitamos también saber qué cocineros son capaces de preparar cada plato. Cada pinche está a cargo de un cocinero o cocinera. La cantidad de ingredientes en cada estantería de un almacén se actualiza en la base de datos al instante. SI cogemos dos ajos de un estante, figurará al instante que tenemos dos ajos menos en ese estante. Es necesario por lo tanto saber los ingredientes (cuáles y en qué número) que tenemos en cada estante. Ejercicio 14. Red social Crear un diseño entidad/relación que permita modelar un sistema que sirva para simular el funcionamiento de una red social, teniendo en cuenta lo siguiente: Los usuarios de la red social se identifican con un identificador y una contraseña. Además se almacena de ellos: Su nombre, apellidos, dirección, teléfono (puede tener varios teléfonos) e e-mail (el e-mail no tiene que poder coincidir con el de otro usuario) y una foto Si los usuarios son celebridades, de ellos no aparecerá ni el email ni la dirección ni el teléfono. Los usuarios pueden tener una serie de contactos, que en realidad son otros usuarios. De cada contacto se puede almacenar un comentario que es personal y que sirve para describir al contacto. Los usuarios pueden organizar sus contactos en grupos de los cuales se almacena un nombre y deberemos saber los contactos que contiene. El mismo contacto puede formar parte de varios grupos. Además cada usuario puede tener una lista de usuarios bloqueados a fin de que no puedan contactar con él Los usuarios pueden publicar en la red comentarios, los cuales se puede hacer que los vea todo el mundo, que los vea uno o varios de los grupos de contactos del usuario o bien una lista concreta de usuarios. Los comentarios pueden incluir un texto y una imagen. Ejercicio 15. Menú diario Crear un esquema Entidad/relación que represente un modelo para llevar los datos que maneja un restaurante de menús diarios. Teniendo en cuenta que: Sólo interesa llevar los datos de los menús diarios a la hora de la comida, nada más del restaurante Cada menús se compone de una serie de posibles platos. cada plato se puede repetir en diferentes días. Los platos pueden ser primer plato, segundo plato o postres. De cada plato se almacena el nombre (por ejemplo Arroz negro con setas) y una pequeña descripción. De los menús almacenamos la fecha en la que se ofrece el menú, el número de personas que han tomado menú ese día. Además almacenamos la cantidad de cada plato que se ha tomado ese día. Se almacena también la temperatura que hacía el día del menú para así poder analizar las temperaturas y los platos exitosos Ejercicio 16. Twitter Crear un esquema Entidad/relación que represente un modelo para llevar los datos que maneja la red social Twitter: usuarios, mensajes,... Ejercicio 17. Horario escolar Crear un esquema Entidad/relación que represente el funcionamiento de un centro escolar de formación profesional, teniendo en cuenta que: Sólo interesa llevar el control de ocupación de las aulas en el horario escolar El horario es de seis horas diarias y en la base de datos simplemente se anota si es la primera, segunda,… y el día de la semana del que hablamos (por ejemplo miércoles a tercera hora) Las asignaturas tienen un nombre, un código interno del centro y un código europeo. La misma asignatura se puede impartir en dos ciclos distintos y en ese caso tendría el mismo código europeo y nombre, pero el código interno sería distinto. Hace falta saber en qué curso del ciclo se imparte la asignatura Los ciclos tienen un nombre, pueden ser de grado superior,de grado medio o de iniciación profesional; además tienen otro código interno en el centro. Las asignaturas en cada momento ocupan un aula, del que tenemos que almacenar un código de aula, un nombre (que no se repite), un número de aula (que tampoco se repite) y los metros que tiene. A una hora concreta de la semana, el aula puede estar vacia o bien ocuparse, pero sólo se puede ocupar por una asignatura Necesitamos saber y anotar en la base de datos si una asignatura requiere que antes se hayan aprobado otras, para poder matricularse en ella. Por ejemplo, Ampliación de Matemáticas de 2º a lo mejor requiere aprobar Matemáticas de 1º. Puede requerirse terminar más de una asignatura previamente para poder matricularse de una concreta. Se entiende que la asignatura sólo la puede impartir un profesor en todo el año, siempre será uno en todo momento el titular De los profesores se almacena su nombre, dirección, teléfono, email, DNI, nº de Seguridad Social y un código interno de profesor así como los años que tiene de antigüedad impartiendo cada asignatura. Puede ser cada profesora o profesor, tutora de un curso y también se anota la antigüedad que tiene en esa tarea Complicamos el esquema anterior en este sentido Siendo más realistas, nos damos cuenta de que en un curso escolar, puede haber varios profesores responsables de una asignatura (por bajas, ceses, etc.); por lo que anotamos cuándo empezó a impartir dicho profesor la asignatura y cuando terminó (si no ha terminado, se dejaría vacío) Asegurar que podemos averiguar gracias al diseño, que si buscamos a un profesor un día concreto (por ejemplo el 13 de Mayo de 2012) a una hora concreta (sexta hora), podríamos saber en qué aula va a estar. Ejercicio 18. Inmuebles Crear un diseño entidad/relación que permita modelar un sistema que sirva para gestionar una empresa que posee inmuebles. Para ello Se almacenan los clientes usando su DNI, Teléfono fijo, Móvil, Nombre y Apellidos. Se almacenan los trabajadores y se almacenan los mismos datos. Ocurre además que un trabajador puede ser un cliente (porque puede alquilar o comprar mediante la inmobiliaria) a veces. A cada cliente y trabajador se le asigna un código personal Los clientes pueden comprar pisos, locales o garajes. En los tres casos se almacena un código de inmueble (único para cada inmueble), los metros que tienen, una descripción y su dirección. Los pisos tienen un código especial de piso que es distinto para cada piso. En los locales se indica el uso que puede tener y si tienen servicio o no. De los garajes se almacena el número de garaje (podría repetirse en distintos edificios) y la planta en que se encuentra (para el caso de garajes que están en varias plantas). Los garajes además pueden asociarse a un piso y así cuando se alquile el piso se incluirá el garaje. La empresa prevé que podría haber inmuebles que podrían no ser ni locales, ni garajes, ni pisos Los inmuebles se pueden comprar. Incluso varias veces. Se asigna un código de compra cada vez que se haga, la fecha y el valor de la compra. La compra puede tener varios titulares. Cada inmueble se puede alquilar y en ese caso se asigna un número de alquiler por cada inmueble. Ese número se puede repetir en distintos inmuebles (es decir puede haber alquiler nº 18 para el inmueble 40 y el 35). Pero no se repite para el mismo inmueble. Al alquilar queremos saber el nombre del agente de la empresa que gestionó el alquiler así como a qué persona (solo una) estamos alquilando el inmueble. Cada pago de cada alquiler será almacenado en la base de datos, llevando el año, el mes y el valor del mismo.
© Copyright 2024