Bases de Datos I – Sem02 (P)

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.