Вы находитесь на странице: 1из 52

Ejercicios Resueltos de Repaso de “Sistemas Gestores de Bases de Datos” 1er Parcial - 1er Trimestre 2ºA del C.F.G.S. de A.S.I.

de A.S.I. Página 1 de 2

1.-¿Qué son las reglas de validación de un campo? Pon un ejemplo descriptivo y coméntalo.

Son expresiones que limitan los valores que pueden almacenarse en un campo.

Por ejemplo, si un campo es de tipo numérico, podría tomar muchos valores inicialmente, pero si únicamente nos interesa
que almacene valores entre 0 y 10 podríamos asignarle una regla de validación que limitase los valores inicialmente
posibles a los incluidos en el rango de 0 y 10. En Access se pondría así: “>=0 Y <=10”.

2.- Define los conceptos modelo de datos y esquema de la base de datos. ¿Cuáles son los 2 modelos de datos más usados?

Modelo de datos: Conjunto de conceptos y herramientas conceptuales que permiten describir la estructura de una base de
datos. Los más usados son el modelo entidad-relación y el modelo relacional.

Esquema de una base de datos: Descripción de una base datos mediante un modelo de datos.

3.- ¿Qué quiere decir que una tabla está en tercera forma normal (3FN)?

Que la tabla está en 2FN, y que no tiene ningún atributo que no forme parte de la clave primaria que dependa de otro atributo que
tampoco forme parte de la clave primaria, donde éste último sí depende directamente de la clave primaria.

5.- Transformar el siguiente diagrama E-R en un esquema relacional completo eficiente:

FechaMatrícula
NombreCompleto Nombre Horas
Teléfono
DNI Nivel
N:M
(0,N) (1,M)
Alumno Está Asignatura
matriculado en

NOTA: Hay que tener en cuenta que en esta base de datos se almacenará la información de matriculación de alumnos en un centro durante varios
años (en las mismas tablas), por tanto, si un alumno repite podrá matricularse de la misma asignatura el siguiente año y quedará registrada en la
misma base de datos esa información.
NOTA (2): “Horas” almacena el número de horas anuales del curso, que podrá tener un decimal, por ejemplo: 210 horas, 215,5 horas; y “Nivel”
indica el nombre del curso, por ejemplo: “1ºASI”,”1ºBACH-CS”,2ºESO”.

SOLUCIÓN:
Tablas, atributos y claves primarias:
ALUMNOS(DNI,NombreCompleto,Teléfono)
ASIGNATURAS(Nombre,Horas,Nivel)
MATRÍCULAS(DNIAlumno,NombreAsignatura,FechaMatrícula)

Diagramas referenciales:
DNIAlumno
MATRÍCULAS ALUMNOS: DNI del alumno que realiza la matrícula.
NombreAsignatura
MATRÍCULAS ASIGNATURAS: Nombre identificativo de la asignatura en la que se matricula el alumno.

Dominios de los atributos:


DNI,DNIAlumno: Cadena de 9 caracteres.
NombreCompleto,Nombre,NombreAsignatura: Cadena de 40 caracteres.
Horas: Número de 3 cifras enteras y 1 decimal.
FechaMatrícula: Fecha.
Nivel: Cadena de 10 caracteres.
Ejercicios Resueltos de Repaso de “Sistemas Gestores de Bases de Datos” 1er Parcial - 1er Trimestre 2ºA del C.F.G.S. de A.S.I. Página 2 de 2
4.- Construir el diagrama Entidad-Relación que modela el siguiente problema:

• En un centro de investigación se llevan a cabo varios proyectos. Cada proyecto de investigación es llevado a cabo por una
serie de investigadores. Si hay un proyecto, al menos, hay un investigador trabajando en él. Cada investigador trabaja sólo
en un proyecto en el centro obligatoriamente, el que se le asignó. De cada proyecto nos interesa su nombre (que es único
por proyecto) y la fecha en la que se inició el proyecto.

• Proyectos de investigación hay únicamente de 2 tipos: nuevos y de revisión. De los proyectos nuevos nos interesaría
registrar el presupuesto económico (en euros) del que se dispone para poderlo llevar a cabo, mientras que de los proyectos
de revisión nos interesaría guardar un texto explicativo del motivo que provocó la revisión del mismo (por ejemplo “Error de
cálculo inicial” o “Adaptación a las nuevas necesidades del mercado”).

• Entre los investigadores hay jefes e investigadores que no son jefes. Cada investigador que no es jefe es supervisado por un
jefe, mientras que los que son jefes no tienen ningún jefe superior que los supervise. De cada investigador nos interesaría
registrar su nombre completo (aunque separado en nombre y apellidos), D.N.I., dirección, localidad, y teléfono.

• Además, los investigadores realizarán conferencias en otros centros sobre sus investigaciones, aunque no todos los
investigadores las harán. Cada conferencia será realizada por uno o varios investigadores. Los investigadores más dotados
podrán participar incluso en más de una conferencia. De cada conferencia nos interesa su nombre identificativo, fecha y hora
del inicio de la conferencia, número de horas de la exposición y el lugar donde se realizará (por ejemplo, en la Facultad de
Estadística).

SOLUCIÓN:

Nombre Apellidos

NombreCompleto
Teléfono
FechaInicio Dirección
DNI Localidad
Nombre 1:N
(1,N)
(1,1) Es Llevado a (1,N)
Proyecto cabo por Investigador
(0,1) N:M
(1,1) (0,N)
Realiza
1:N
(0,1) (0,1)
Es supervisado por Lugar
Nuevo De Revisión
FechaHoraInicio
NúmeroHoras
Nombre
Presupuesto Motivo
(0,N)
Conferencia
[1] Resuelve la siguiente cruzada:
1. Lenguaje de consultas en el que los datos se consiguen combinando una serie
de operadores algebraicos
2. Representación de interacciones entre distintos objetos del sistema real en el
modelo E-R.
3. En el modelo E-R adjetivo que define una característica de una entidad.
4. Conjunto de operaciones para obtener una determinada información de la base
de datos.
5. En una relación del modelo relacional cada fila distinta, que se corresponde
con los valores de los atributos para una ocurrencia distinta.
6. Conjunto de información presentado de una manera específica, adaptándose a
la persona a la que va dirigido.
7. (Singular) Conjunto de normas que establecen las limitaciones del modelo. Lo
que el modelo no puede hacer.
8. Para una relación es el conjunto de valores de un determinado estado de la
base de datos.
9. El de una base de datos está formado por el conjunto de especificaciones que
definen como han de ser los datos que almacena esa base de datos.
1

Á
L
G
6 I N F O R M E 4
B
R C 7
2 R E L A C I O N
8 N R
R S E
A M E U Q S E 9 U S
X L L T
T A T R
E C A I
N I A C
S O L C
I N P I
Ó 3 A T R I B U T O
N L T N

5
[2] Diseña el esquema de una BD Relacional que nos permita construir los siguientes
informes:
• Calificaciones de todas las asignaturas cursadas por un alumno en un año
escolar para ser enviadas a dicho alumno por correo.
• Nombres de las asignaturas y de todos los profesores que dan alguna
asignatura cuyo nombre empiece por la letra I.

Diseñamos un modelo E-R con Profesores, Alumnos, Asignaturas y Direcciones.


Decidimos que las opciones más lógicas son:
© 2002, José Ayude Vázquez
Departamento de Informática
Universidade de Vigo
Un alumno puede estar matriculado de varias asignaturas.
En una asignatura puede haber varios alumnos matriculados.
Un profesor puede impartir varias asignaturas.
Una asignatura puede ser impartida por varios profesores.
Los profesores tienen Nombre, Apellidos, DNI, sexo y dirección
Los alumnos tienen Nombre, Apellidos , DNI, sexo y dirección
Un profesor podría ser (en algún caso) alumno.
Una persona (tanto profesor, como alumno) tiene una única dirección de contacto.
En una misma dirección de contacto pueden habitar varias personas.
Un alumno puede tener varias notas (una por asignatura)
Una asignatura puede tener varias notas (una por alumno)
Una nota determinada pertenece a un solo alumno.
Una nota determinada pertenece a una única asignatura.
La BD almacena información de un único año escolar.

Así mismo los datos de la dirección son estructurados en cuatro entidades Dirección,
Calle, Localidad y Provincia debido a que:
En una dirección pueden vivir varias personas: Incluir los datos de la
dirección en la entidad persona causaría problemas de repetición de datos.
Una calle puede aparecer en varias direcciones: Incluir los datos de la calle en
la entidad Dirección generaría problemas de repetición de datos.
Una localidad puede aparecer en varias calles: Incluir los datos de la localidad
en la entidad Calle generaría problemas de repetición.
Una provincia puede aparecer en varias localidades: Incluir los datos de la
provincia en la entidad Localidad generaría problemas de repetición.
Dirección Alumno Nota
*Dirección *Alumno *Nota
Portal Valor
Piso Persona
CP *Persona
Nombre Profesor Asignatura
Apellidos *Profesor *Asignatura
Calle DNI Nombre
*Calle Sexo Cuatrimestre
Nombre Créditos
Localidad Provincia Tipo
*Localidad *Provincia
Nombre Nombre
Para las entidades ligadas por relaciones 1 a n se ha incluido el identificador de la
parte 1 en la parte n:
El atributo Provincia (identificador de la entidad Provincia) se ha incluido
como clave foránea en la entidad Localidad.
El atributo Localidad (identificador de la entidad Localidad) se ha incluido
como clave foránea en la entidad Calle.
El atributo Calle (identificador de la entidad Calle) se ha incluido como clave
foránea en la entidad Dirección.
El atributo Dirección (identificador de la entidad Dirección) se ha incluido
como clave foránea en la entidad Persona.
El atributo Alumno (identificador de la entidad Alumno) se ha incluido como
clave foránea en la entidad Nota.
© 2002, José Ayude Vázquez
Departamento de Informática
Universidade de Vigo


El atributo Asignatura (identificador de la entidad Asignatura) se ha incluido


como clave foránea en la entidad Nota.
En la entidad Nota se ha eliminado el atributo Nota cuya única función era la de
ejercer de identificador de la entidad. Esta función se cubre con la combinación de
atributos Alumno, Asignatura (claves foráneas de las entidades Alumno y Asignatura
respectivamente).
Para las entidades ligadas por relaciones 1 a 1, observamos las dos posibilidades
(introducir el identificador de la primera como clave foránea en la segunda o
introducir el identificador de la segunda como clave foránea en la primera) y vemos si
alguna no genera valores nulos para la clave foránea:


En la relación entre las entidades Persona y Alumno


o introducir el identificador de la entidad Alumno como clave foránea en
la entidad Persona genera valores nulos para la clave foránea en
aquellas personas que no son alumnos.
o introducir el identificador de la entidad Persona como clave foránea en
la entidad Alumno no genera valores nulos para la clave foránea ya que
todos los alumnos son personas.
La única función del atributo Alumno era la de ejercer de identificador en la
entidad Persona. Podemos eliminar este atributo ya que el atributo Persona
puede ejercer dicha función (no hay dos valores iguales para alumnos distintos)
y llamarse Alumno. Aunque cambie de nombre sigue siendo clave foránea de la

tabla Persona.
En la relación entre las entidades Persona y Profesor
o introducir el identificador de la entidad Profesor como clave foránea en
la entidad Persona genera valores nulos para la clave foránea en
aquellas personas que no son profesores.
o introducir el identificador de la entidad Persona como clave foránea en
la entidad Profesor no genera valores nulos para la clave foránea ya
que todos los profesores son personas.
La única función del atributo Profesor era la de ejercer de identificador en la
entidad Persona. Podemos eliminar este atributo ya que el atributo Persona
puede ejercer dicha función (no hay dos valores iguales para profesores
distintos) y llamarse Profesor. Aunque cambie de nombre sigue siendo clave
foránea de la tabla Persona.
Dirección Alumno Nota
*Dirección *Alumno *Alumno
Calle *Asignatura
Portal Persona Valor
Piso *Persona
CP Nombre Profesor PA Asignatura
Apellidos *Profesor *Profesor *Asignatura
Calle DNI *Asignatura Nombre
*Calle Sexo Cuatrimestre
Nombre Créditos
Localidad Localidad Provincia Tipo
*Localidad *Provincia
Nombre Nombre
Provincia
Para las entidades ligadas por relaciones n a m introducimos una nueva entidad
intermedia que heredará los identificadores de las dos entidades originales como claves
© 2002, José Ayude Vázquez
Departamento de Informática
Universidade de Vigo
foráneas, ejerciendo conjuntamente la labor de identificador. Habrá una relación 1 a n
entre cada una de las entidades originarias y la nueva entidad:


Para la relación entre las entidades Profesor y Asignatura se crea una nueva
entidad intermedia denominada PA, que hereda los atributos Profesor
(identificador de la entidad Profesor) como clave foránea de la entidad Profesor
y Asignatura (identificador de la entidad Asignatura) como clave foránea de la
entidad Asignatura. Ambos atributos se combinan para ejercer la función de
identificador. Se establece una relación 1 a n entre la entidad Profesor y la
entidad PA y otra relación 1 a n entre la entidad Asignatura y la entidad PA.
Modelo Relacional:
Dirección = {Dirección, Calle, Portal, Piso, CP}
Calle = {Calle, Nombre, Localidad}
Localidad = {Localidad, Nombre, Provincia}
Provincia = {Provincia, Nombre}
Persona = {Persona, Nombre, Apellidos, DNI, Sexo}
Alumno = {Alumno}
Profesor = {Profesor}
Nota = {Alumno, Asignatura, Valor}
PA = {Profesor, Asignatura}
Asignatura = {Asignatura, Nombre, Cuatrimestre, Créditos, Tipo}
[3] Realiza las consultas necesarias para obtener los informes del ejercicio 2 en álgebra
relacional y en SQL.


Calificaciones de todas las asignaturas cursadas por un alumno en un año


escolar para ser enviadas a dicho alumno por correo.
Álgebra relacional


Persona.Nombre, Apellidos, Asignatura.Nombre, Valor(Persona     


  
Alumno

  
   
   

AA
    
     
      
  
Asignatura)
SQL
SELECT Persona.Nombre, Apellidos, Asignatura.Nombre, Valor
FROM (Persona Alumno ON
              ! " # $ % & 

         AA ON # $ % &  ' # $ % &  " # # ' # $ % & 

   Asignatura ON
      ) ( ( ) ( * + , - . / 0 1 . 2 ( * + , - . / 0 1 . ) ( * + , - . / 1 0 .

Nombres de las asignaturas y de todos los profesores que dan alguna


asignatura cuyo nombre empiece por la letra I.

Álgebra relacional
4

Persona.Nombre, Apellidos, Asignatura.Nombre(Persona 5 6 7 8 9 : ; < = 6 8 : > 7 9 : 8 Profesor


5 6 8 : > 7 9 : 8 ? 6 8 : > 7 9 : 8 = 6 @ ? 6 8 : > 7 9 : 8
PA
5 A A B A C D E F G H I J G K A C D E F G H I J G B A C D E F G H I J G (
L

Nombre>”I” y Nombre<”J”Asignatura))

© 2002, José Ayude Vázquez


Departamento de Informática
Universidade de Vigo
SQL
SELECT Persona.Nombre, Apellidos, Asignatura.Nombre, Valor
FROM (Persona Alumno ON M N N O P Q R M N S T U V W X Y Z [ \ ] ^ X W

M N N O P Q R M N AA ON [ \ ] ^ X W _ [ \ ] ^ X W Z [ [ _ [ \ ] ^ X W

M N N O P Q R M N Asignatura ON [ [ _ [ V ` a X Y b ] U Y Z [ V ` a X Y b ] U Y _ [ V ` a X Y b U ] Y )
c d

O P O [ V ` a X Y b ] U Y _ N W ^ e U T f g M g [ N h [ V ` a X Y b ] U Y _ N W ^ e U T i g Q g

[4] Resuelve la siguiente cruzada:


1. Lenguaje de consultas utilizado en BD relacionales, basado en el cálculo de
predicados de primer orden.
2. Representación de un objeto de nuestro sistema real en el modelo E-R.
3. (Singular) Conjunto de normas que establecen las limitaciones del modelo. Lo
que el modelo no puede hacer.
4. Representación de interacciones entre distintos objetos del sistema real en el
modelo E-R. En el modelo relacional se emplea el mismo término para un
concepto completamente distinto.
5. En una relación cada fila distinta, que corresponde con los valores de los
atributos para cada ocurrencia.
6. Conjunto de categorías y propiedades que soportan un determinado modelo. El
de una base de datos es el esqueleto de los datos. No contiene ningún dato pero
determina como van a ser los datos que contendrá la base de datos.
7. Modelo de datos que representa la realidad utilizando rectángulos y líneas con
flechas.
8. Lenguaje de consultas. Alguno de sus operadores son la proyección, la selección
y el join.
9. La de una relación es el conjunto de tuplas que la forman para un estado de la
base de datos.
10. Especificación del modo de obtener una información de la base de datos.
8

1 C Á L C U L O R E L A C I O N A L
L T
G L
2 E N T I D A D U
B N S
3 R E S T R I C C I O N N
A I O
S C
R N
4 R E L A C I O N E 10
L 5 T U P L A
A X
C 6 E S Q U E MA
I
O 9
7 E N T I D A D - R E L A C I O N
A
L
© 2002, José Ayude Vázquez
Departamento de Informática
Universidade de Vigo
[5] El esquema (mal hecho) de una BD relacional es el siguiente:
Persona = {Nombre, Apellidos, Dirección}
Teléfono = {Número, Compañía}
Rediseña la BD correctamente en el modelo E-R y efectúa la transformación al modelo
relacional para que se pueda obtener la siguiente consulta: Nombre, Dirección y
teléfono de todas las mujeres entre 18 y 26 años. (Un teléfono solo pertenece a una
persona, que puede tener varios teléfonos. Una persona solo tiene una dirección que
puede compartir con otras personas)
Inicialmente las relaciones del modelo relacional se corresponden con las siguientes
entidades del modelo E-R:
Persona Teléfono
*Persona *Teléfono
Nombre Número
Apellidos Compañía
Dirección
A la entidad Persona se le ha añadido el atributo Persona para Desempeñar la función
de identificador.
Aunque el atributo Número podría desempeñar la función de identificador, se ha
incluido el atributo Teléfono para dicha tarea, por ser más eficiente y ocupar menos
espacio.
La consulta nos obliga a:
j

Relacionar la entidad persona y la entidad teléfono para saber a que persona


j
corresponde cada teléfono.
Determinar la edad de cada persona. Se puede incluir en la entidad Persona un
atributo Nacimiento que indique la fecha de nacimiento de cada persona. Otra
solución sería añadir el atributo Edad, que nos indique la edad de cada persona
(Pero sería una mala elección puesto que es un atributo que requiere
j
actualizaciones muy complicadas para mantener información veraz)
Determinar el sexo de cada persona. Se puede incluir en la entidad Persona un
atributo Sexo que indique el sexo de cada persona.
Así mismo en el ejercicio se indican los siguientes requisitos:
j

Un teléfono solo pertenece a una persona, que puede tener varios teléfonos.
j
Esto determina una relación 1 a n entre las entidades Persona y Teléfono.
Una persona solo tiene una dirección que puede compartir con otras personas.
Esto determina que los datos de la dirección han de estar en una entidad
separada que se llamará Dirección. Además implica que la relación entre las
entidades Dirección y Persona será de 1 a n.
Dirección Persona Teléfono
*Dirección *Persona *Teléfono
Modelo
Valor Nombre Número E-R
Apellidos Compañía
Nacimiento
Sexo
La entidad Dirección se ha construido con un atributo Dirección, que desempeñará la
función de identificador y un atributo Valor que especifica el valor de la dirección.

© 2002, José Ayude Vázquez


Departamento de Informática
Universidade de Vigo
En este modelo solo hay relaciones 1 a n por lo que únicamente tendremos colocar el
identificador de la entidad de la parte uno de la relación en la entidad que ocupa la
parte n para relacionar mediante atributos dichas entidades:
k

Incluiremos el atributo Dirección (identificador de la entidad Dirección) en la


k
entidad Persona.
Incluiremos el atributo Persona (identificador de la entidad Persona) en la
entidad Teléfono.
Dirección Persona Teléfono
*Dirección *Persona *Teléfono
Valor Nombre Número
Apellidos Compañía
Nacimiento Persona
Sexo
Dirección
Finalmente, siguiendo la notación relacional, el esquema del modelo relacional para
esta BD será el siguiente:
Dirección = {Dirección, Valor}
Persona = {Persona, Nombre, Apellidos, Nacimiento, Sexo, Dirección}
Teléfono = {Teléfono, Número, Compañía, Persona}
[6] Realiza la consulta del ejercicio 5 en álgebra relacional y en SQL.
k

Nombre, Dirección y teléfono de todas las mujeres entre 18 y 26 años.


Suponiendo que hoy es 22 de julio de 2002:
o Las mujeres con 18 años o más han nacido con fecha <= 22 de julio de
1984. Las nacidas después de esa fecha tendrían 17 años o menos.
o Las mujeres con 26 años o menos han nacido con fecha >22 de julio de
1975. Las nacidas antes de, o en esa fecha tendrían 27 años o más.
Álgebra relacional:
l

Nombre, Apellidos, Número, Valor(Dirección m

Dirección.Dirección=Persona.Dirección(

Persona)
n

Sexo=”M” And Nacimiento<=22/7/1984 And Nacimiento>22/7/1875

Persona.Persona=Teléfono.Persona Teléfono)
SQL:
SELECT Nombre, Apellidos, Número, Valor
FROM Dirección INNER JOIN Persona ON Dirección.Dirección=Persona.Dirección
INNER JOIN Teléfono ON Persona.Persona=Teléfono.Persona
WHERE Sexo=”M” And Nacimiento<=22/7/1984 And Nacimiento>22/7/1875
[7] El siguiente modelo E-R tiene una relación muchos a muchos . Diseña un modelo
equivalente sin relaciones muchos a muchos.
Dirección Persona
*Dirección *Persona
Calle Nombre
Portal Apellidos
Piso DNI
CP Sexo
Localidad
Provincia
© 2002, José Ayude Vázquez
Departamento de Informática
Universidade de Vigo
Para eliminar la relación n a m se crea una entidad intermedia que heredará de las dos
entidades ligadas por dicha relación sus identificadores, para hacer la función de
claves foráneas en el modelo relacional y para combinarse formando el identificador
de la nueva entidad:
Dirección DP Persona
*Dirección *Dirección *Persona
Calle *Persona Nombre
Portal Apellidos
Piso DNI
CP Sexo
Localidad
Provincia
[8] El modelo del ejercicio 7 genera problemas de repetición de datos cuando:
• La misma calle puede aparecer en varias direcciones.
• La misma localidad puede aparecer para varias calles.
• La misma provincia puede aparecer para varias localidades.
Diseña un modelo equivalente que resuelva dichos problemas.
Construye el modelo relacional.
Para evitar cada uno de esos problemas hemos de añadir una nueva entidad:
o

Separamos la información de la calle de la de la dirección creando la entidad


Calle. Para establecer la cardinalidad de la relación entre ambas entidades
tendremos en cuenta que una calle puede aparecer en varias direcciones, pero
o
una dirección solo tiene una calle.
Separamos la información de la localidad de la de la calle creando la entidad
Localidad. Para establecer la cardinalidad de la relación entre ambas entidades
tendremos en cuenta que una localidad puede aparecer en varias calles, pero
o
una calle solo tiene una localidad.
Separamos la información de la provincia de la de la localidad creando la
entidad Provincia. Para establecer la cardinalidad de la relación entre ambas
entidades tendremos en cuenta que una provincia puede aparecer en varias
localidades, mientras que una localidad en concreto pertenece a una única
provincia.
Calle Dirección DP Persona
*Calle *Dirección *Dirección *Persona
Nombre Portal *Persona Nombre
Piso Apellidos
CP DNI
Sexo
Localidad Provincia
*Localidad *Provincia
Nombre Nombre
Para construir el modelo relacional, tomando cada una de las relaciones tendremos
que disponer de un atributo en las dos entidades que une, que tome el mismo valor para
aquellas ocurrencias de ambas entidades que estén relacionadas:
o

Relación 1 a n entre Provincia y Localidad. Incluiremos el atributo Provincia


(identificador de la entidad Provincia) en la entidad Localidad.

© 2002, José Ayude Vázquez


Departamento de Informática
Universidade de Vigo
p

Relación 1 a n entre Localidad y Calle. Incluiremos el atributo Localidad


p
(identificador de la entidad Localidad) en la entidad Calle.
Relación 1 a n entre Calle y Dirección. Incluiremos el atributo Calle
p
(identificador de la entidad Calle) en la entidad Dirección.
Relación 1 a n entre Dirección y DP. La entidad DP ya posee el atributo
p
Dirección (identificador de la entidad Dirección).
Relación 1 a n entre Persona y DP. La entidad DP ya posee el atributo Persona
(identificador de la entidad Persona).
Calle Dirección DP Persona
*Calle *Dirección *Dirección *Persona
Nombre Calle *Persona Nombre
Localidad Portal Apellidos
Piso DNI
CP Sexo
Localidad Provincia
*Localidad *Provincia
Nombre Nombre
Provincia
Introduciendo la notación del modelo relacional, el esquema del modelo relacional
para esta base de datos quedaría:
Provincia = {Provincia, Nombre}
Localidad = {Localidad, Nombre, Provincia}
Calle = {Calle, Nombre, Localidad}
Dirección = {Dirección, Calle, Portal, Piso, CP}
DP = {Dirección, Persona}
Persona = {Persona, Nombre, Apellidos, DNI, Sexo}

© 2002, José Ayude Vázquez


Departamento de Informática
Universidade de Vigo
EJERCICIOS RESUELTOS DE LA PRÁCTICA 2 DE OPERACIONES CON
BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS

TEMA 2. BASES DE DATOS RELACIONALES

EJERCICIO 1

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 1


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 2

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 2


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 3

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 3


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 4

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 4


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 5

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 5


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 6

EJERCICIO 7

CLIENTE(dni, nombre, apellidos, fecha_nac, tfno)


PRODUCTO(código, nombre, precio, nif_proveedor)
PROVEEDOR(nif, nombre, dirección)
COMPRAS(dni_cliente, código_producto)

EJERCICIO 8

CAMIONERO(dni, población, nombre, tfno, dirección, salario)


CAMION(matrícula, modelo, potencia, tipo)
PAQUETE(código, descripción, destinatario, dirección, dni_camionero,
código_provincia)
PROVINCIA(código, nombre)
CONDUCE(dni_camionero, matrícula_camión)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 6


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 9

PROFESOR(dni, nombre, dirección, tfno)


MÓDULO(código, nombre, dni_profesor)
ALUMNO(expediente, nombre, apellidos, fecha_nac, expediente_delegado)

Si un profesor imparte un solo módulo, y un módulo sólo puede ser impartido por un
profesor, entonces la relación imparte sería (1,1). El modelo E-R resultante quedaría como
se ve a continuación.

En este caso el modelo relacional quedaría de la siguiente forma.

PROFESOR(dni, nombre, dirección, tfno)


MÓDULO(código, nombre, dni_profesor)
ALUMNO(expediente, nombre, apellidos, fecha_nac, expediente_delegado)

Se ha añadido el atributo dni_profesor a la tabla MÓDULO, aunque también se habría


podido añadir el atributo código de módulo a la tabla PROFESOR.

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 7


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 10

CLIENTE(nif, nombre, dirección, ciudad, tfno)


COCHE(matrícula, marca, modelo, color, precio, nif_cliente)
REVISIÓN(código, aceite, filtro,frenos, matrícula_coche)

Si un cliente sólo puede comprar un coche el modelo E-R quedaría de la siguiente forma.

En este caso el modelo relacional quedaría de la siguiente manera:

CLIENTE(nif, nombre, dirección, ciudad, tfno, matrícula_coche)


COCHE(matrícula, marca, modelo, color, precio)
REVISIÓN(código, aceite, filtro,frenos, matrícula_coche)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 8


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 11

MEDICO(código, nombre, apellidos)


INGRESO(código, habitación, fecha, código_médico, código_paciente)
PACIENTE(código, nombre, apellidos)

EJERCICIO 12

PRODUCTO(código, existencias, precio, descripción)


CLIENTE(código, apellidos, dirección, nombre, tfno)
PROVEEDOR(código, nombre, apellidos, dirección, tfno)
COMPRAS(código_producto, código_cliente, fecha_compra)
SUMINISTRA(código_producto, código_proveedor)

EJERCICIO 13

El modelo relacional queda de la siguiente forma.

PERSONA(dni, nombre, dirección, tfno)


PERSONA(dni_padre, dni_hijo)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 9


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 14

AUTOR(código, nombre)
LIBRO(código, título, ISBN, editorial, páginas)
EJEMPLAR(código, localización, código_libro)
USUARIO(código, nombre, tfno, dirección)
ESCRIBE(código_autor, código_libro)
SACA(código_usuario, código_ejemplar, fecha_devolución, fecha_préstamo)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 10


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 15

CLIENTE(dni, nombre, apellidos, dirección, tfno)


COCHE(matrícula, marca, modelo, color, dni_cliente)
COCHE_NUEVO(matrícula, unidades)
COCHE_USADO(matrícula, kilómetros)
MECANICO(dni, nombre, apellidos, fecha_contratación, salario)
REPARA(matrícula, dni_mecánico, fecha_reparación, horas)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 11


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 16

JUGADOR(código, nombre, posicion, fecha_nac, código_equipo)


EQUIPO(código, nombre, estadio, aforo, año, ciudad, dni_presidente)
PRESIDENTE(dni, nombre, apellidos, año, fecha_nac)
PARTIDO(código, goles_fuera, goles_casa, fecha)
GOL(código, minuto, descripción, código_jugador, código_partido)
JUEGA(código_equipo, código_partido)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 12


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 17

ALUMNO(dni, apellidos, nombre, dirección, tfno, código_postal)


ASIGNATURA(código, nombre, num_horas, dni_profesor, código_curso)
PROFESOR(dni, apellidos, nombre, dirección, tfno, código_postal)
CURSO(código, nombre, dni_profesor_tutor)
AULA(código, num_piso, num_pupitres)
MATRICULAS(dni_alumno, código_asignatura, nota, incidencias)
OCUPACIÓN_AULAS(código_aula, código_asignatura, mes, día, hora)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 13


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 18

DEPARTAMENTO(código, nombre, presupuesto, código_centro)


CENTRO(código, nombre, población, dirección, código_empleado_director)
EMPLEADO(nif, nombre, apellidos, num_hijos, tfno, código_departamento)
HABILIDAD(código, descripción)
HIJO(código, nombre, fecha_nac, código_empleado)
EMPLEADO_HABILIDAD(nif_empleado, código_habilidad)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 14


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 19

HOTEL(nombre, dirección, tfno, año_construcción, código_categoría)


CATEGORÍA(código, descripción, iva)
HABITACIÓN(código, tipo, nombre_hotel)
AGENCIA(código, nombre, tfno, dirección, persona_contacto)
PARTICULAR(código, nombre, dirección, tfno)
RESERVAS_AGENCIA(código_agencia, código_habitación, fecha_ini, fecha_fin,
facturas)
RESERVAS_PARTICULAR(código_particular, código_habitación, fecha_ini, fecha_fin,
facturas)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 15


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 20

PERSONA(dni, nombre, apellidos, dirección, tfno, población)


VEHÍCULO(matrícula, marca, modelo)
ACCIDENTE(código, hora, fecha, lugar)
MULTA(código, fecha, lugar, hora, importe, matrícula_vehículo, dni_persona)
PERSONAS_VEHÍCULOS(dni_persona, matrícula_vehículo)
ACCIDENTES_PERSONAS(código_accidente, dni_persona)
ACCIDENTES_VEHÍCULOS(código_accidente, matrícula_vehículo)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 16


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 21

VIAJERO(dni, nombre, dirección, tfno)


VIAJE(código, num_plazas, fecha, otros_datos, dni_viajero, código_origen,
código_destino)
ORIGEN(código, nombre, otros_datos)
DESTINO(código, nombre, otros_datos)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 17


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
EJERCICIO 22

PROYECTO(código, descripción, fecha_inicio, fecha_fin, cuantía, código_cliente)


COLABORADOR(nif, nombre, domicilio, banco, número_cuenta, tfno)
PARTICIPAN(nif_colaborador, código_proyecto)
CLIENTE(código, num_social, domicilio, tfno)
PAGO(número, concepto, cantidad, fecha_pago, nif_colaborador, código_tipo_pago)
TIPO_PAGO(código, descripción)

EJERCICIOS RESUELTOS DE LA PRÁCTICA NÚMERO 2. MODELO ENTIDAD-RELACIÓN. PÁG. 18


I.E.S. SAN JUAN BOSCO. LORCA. MURCIA
CC42A – BASES DE DATOS
Profesores: Claudio Gutiérrez, Gonzalo Navarro
Auxiliar: Mauricio Monsalve

GUÍA DE EJERCICIOS:
Modelo Entidad/Relación y conversión a Modelo Relacional

Modelo Entidad/Relación

Problema 1 (*): Artículos y encargos


Una base de datos para una pequeña empresa debe contener información acerca de clientes, artículos y
pedidos. Hasta el momento se registran los siguientes datos en documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo, Límite de
crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000 pts), Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese artículo
en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada
por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son varias líneas, en
cada línea se especifican el número del artículo pedido y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el
uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver
cuántos artículos (en total) provee la fábrica. También, por información estratégica, se podría incluir
información de fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye hora.
Se pide hacer el diagrama ER para la base de datos que represente esta información.

Problema 2 (*): Sistema de ventas


Le contratan para hacer una BD que permita apoyar la gestión de un sistema de ventas. La empresa
necesita llevar un control de proveedores, clientes, productos y ventas.
Un proveedor tiene un RUT, nombre, dirección, teléfono y página web. Un cliente también tiene RUT,
nombre, dirección, pero puede tener varios teléfonos de contacto. La dirección se entiende por calle,
número, comuna y ciudad.
Un producto tiene un id único, nombre, precio actual, stock y nombre del proveedor. Además se
organizan en categorías, y cada producto va sólo en una categoría. Una categoría tiene id, nombre y
descripción.
Por razones de contabilidad, se debe registrar la información de cada venta con un id, fecha, cliente,
descuento y monto final. Además se debe guardar el precio al momento de la venta, la cantidad vendida
y el monto total por el producto.

Problema 3: Carreteras
Diseñar un esquema E/R que recoja la organización de una base de datos para contener la información
sobre todas las carreteras del país, sabiendo que se deben cumplir las siguientes especificaciones:
- Las carreteras están divididas en varias categorías (locales, comerciales, regionales, nacionales,
autovías, etc).
- Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no puede
cambiar de carretera.
- Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la comuna
donde empieza el tramo y en donde termina.
- Para los tramos que suponen principio o final de carretera, interesa saber si es que la carretera
concluye físicamente o es que confluye en otra carretera. En este caso, interesa conocer con qué
carretera confluye y en qué kilómetro, tramo y comuna.

Problema 4: Sistema de vuelos


Obtener el diagrama E/R para un sistema de control de vuelos adaptado a las siguientes reglas de
gestión (indicar las entidades, interrelaciones, etc., que se deducen de cada una de las reglas):
a) De cada aeropuerto se conoce su código, nombre, ciudad y país.
b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avión
determina su capacidad, es decir, el número de plazas.
c) En cada aeropuerto existe una colección de programas de vuelo. En cada programa de vuelo se indica
el número de vuelo, línea aérea y días de la semana en que existe dicho vuelo.
d) Cada programa de vuelo despega de un aeropuerto y aterriza en otro.
e) Los números de vuelo son únicos para todo el mundo.
f) En cada aeropuerto hay múltiples aterrizajes y despegues. Todos los aeropuertos contemplados están
en activo, es decir, tienen algún aterrizaje y algún despegue.
g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Para cada vuelo se quiere conocer su
fecha, plazas vacías y el modelo de avión utilizado.
h) Algunos programas de vuelo incorporan escalas técnicas intermedias entre los aeropuertos de salida y
de llegada. Se entiende por escala técnica a un aterrizaje y despegue consecutivos sin altas ó bajas de
pasajeros.
i) De cada vuelo se quieren conocer las escalas técnicas ordenadas asignándole a cada una un número
de orden.
Por ejemplo, el programa de vuelo 555 de Iberia con vuelos los lunes y jueves despega de Barajas-
Madrid-España y aterriza en Caudell-Sydney-Australia teniendo las siguientes escalas técnicas: 1- Los
Pradiños-Sao Paulo-Brasil, 2-El Emperador-Santiago-Chile y 3-Saint Kitts-Auckland-Nueva Zelanda.
¿Que cambios se producirán en el caso anterior si en las escalas pudiesen bajar o subir pasajeros?
Explicar cómo se podría representar esta nueva situación.

Problema 5 (*): Olimpíadas


Las sedes olímpicas se dividen en complejos deportivos. Los complejos deportivos se subdividen en
aquellos en los que se desarrolla un único deporte y en los polideportivos. Los complejos polideportivos
tienen áreas designadas para cada deporte con un indicador de localización (ejemplo: centro, esquina-
NE, etc.). Un complejo tiene una localización, un jefe de organización individual y un área total ocupada.
Los dos tipos de complejos (deporte único y polideportivo) tendrán diferentes tipos de información. Para
cada tipo de sede, se conservará el número de complejos junto con su presupuesto aproximado.
Cada complejo celebra una serie de eventos (ejemplo: la pista del estadio puede celebrar muchas
carreras distintas.). Para cada evento está prevista una fecha, duración, número de participantes, número
de comisarios. Una lista de todos los comisarios se conservará junto con la lista de los eventos en los que
esté involucrado cada comisario ya sea cumpliendo la tarea de juez u observador. Tanto para cada
evento como para el mantenimiento se necesitará cierto equipamiento (ejemplo: arcos, pértigas, barras
paralelas, etc).

Problema 6: Educando S.A.


En la Empresa "Educando S.A." se lleva control de sus Bienes y Servicios. El interés primario es poder
hacer que los Bienes se manejen de forma rápida y con el menor grado de error. Para esto quien maneja
la sección de "Bienes y Suministros" plantea las siguientes condiciones del negocio para la construcción
de una base de datos:
• La Sección está dividida en tres (3) áreas: COMPRAS, ALMACEN, INVENTARIO.
• El área de Compras funciona de la siguiente forma:
o Recibe las solicitudes de compras de las diferentes áreas de la empresa.
o Cada solicitud tiene un responsable.
o Cada solicitud es autorizada por el jefe del área y posteriormente por el Director
Financiero.
o Quien realiza una solicitud puede ser responsable de uno o varios centros de costos, con
la salvedad de que él como empleado solo está adscrito a uno.
o De la solicitud se debe diligenciar la siguiente información: Número de la solicitud
(consecutivo), Fecha, Responsable (nombre y cédula), Centro de Costos, Rubro
presupuestal del cual se descargará la compra. En cada solicitud se pueden discriminar
uno o muchos ítems con la siguiente información: ítem, nombre del bien, cantidad
solicitada, unidad de medida del bien, valor unitario y valor total. Cada solicitud debe ser
totalizada.
o Cada bien es identificado por un código universal que es único y es de carácter
devolutivo (suministro) o un bien inmueble.
o Una vez diligenciada la solicitud es remitida al área de compras para realizar su
correspondiente cotización.
o Las cotizaciones son realizadas con uno o varios proveedores de los bienes solicitados.
o Una vez la cotización definitiva está lista, se crea una orden contractual que maneja la
siguiente información: Número de la orden contractual, nit y nombre del proveedor al cual
se le va a realizar la compra, fecha de la orden, monto total de la orden, fecha de
entrega. Cada orden puede tener asociado uno o varios ítems de la solicitud o
solicitudes que van a ser despachadas. Cada ítem tiene la siguiente información:
nombre del bien, cantidad solicitada, cantidad despachada, unidad de medida del bien,
valor unitario y valor total.
o La orden de compra es aprobada por el Director Financiero para que sea enviada al
proveedor elegido.
• El área de Almacén funciona de la siguiente forma:
o Su función principal es recepcionar los bienes que llegan de los proveedores y
distribuirlos a las correspondientes áreas que realizaron las solicitudes de compras.
o Cuando llega un proveedor mercancía, este hace una entrega física de los bienes, los
cuales son comparados con la factura que este entrega y con la orden de compra
correspondiente. Si esta acción es correcta se registra una entrada de almacén por cada
factura relacionada, con la siguiente información: Número de Entrada, Fecha, Número de
factura, Proveedor, Total Bienes, Valor Total (los totales deben coincidir con los de la
factura). Adjunto a esta se discriminan los ítems recibidos con la siguiente información:
nombre del bien, cantidad entregada.
o Cuando el almacén decide despachar los bienes a las diferentes áreas solicitantes,
registra cada una de las entregas en Salidas de Almacén con la siguiente información:
Número de Salida, Empleado responsable del bien a entregar, fecha de salida, fecha de
entrega. Por cada entrega se detalla cada uno de los ítems con la siguiente información:
nombre del bien, cantidad entregada.
o Una entrada de almacén puede generar muchas salidas de almacén, por
ejemplo: Pueden ingresar 500 pacas de papel higiénico, pero como se debe repartir entre
varias áreas, cada una requiere de una salida de almacén.
• El área de inventarios funciona de la siguiente forma:
o Es la encargada de administrar y controlar la ubicación de los bienes dentro de la
empresa, por esto antes de que el bien salga del almacén debe ser codificado a través
de un código único que lo haga identificable dentro de la empresa.
o La ubicación del bien se identifica por la siguiente información: responsable del bien,
fecha de entrega, dirección del bien (ubicación).
Diseñar modelo ER para la base de datos.

Problema 7: Torneo de Tenis Grand Slam


El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el torneo, así
como las siguientes características de estos.
Descripción:
El Grand Slam se compone de cuatro torneos anuales que se celebran en Gran Bretaña, Estados Unidos,
Francia y Australia. En cada país se pueden desarrollar en distintos lugares (p. ej., en EE. UU. puede
desarrollarse en Forest Hill o en Flashing Meadows).
Cada partido tiene asociado un premio de consolación para el perdedor que dependerá de la fase en que
se encuentre el torneo (p. ej., el perdedor de octavos de final puede ganar 5.000 dólares). El ganador de
a final recibirá el premio correspondiente al torneo.
Cada torneo tiene cinco modalidades: Individual masculino, individual femenino, dobles masculino, dobles
femenino y dobles mixtos.
También hay que tener en cuenta la nacionalidad de un jugador, de forma que ´este puede ser apátrida o
tener varias nacionalidades.
Resultados a considerar:
El sistema debe dar respuesta a las siguientes preguntas:
1. Dado un año y un torneo, composición y resultado de los partidos.
2. Lista de árbitros que participaron en el torneo.
3. Ganancias percibidas en premios por un jugador a lo largo del torneo.
4. Lista de entrenadores que han entrenado a un jugador a lo largo del torneo y fechas en las que lo hizo.
Ejemplos de acceso a la base de datos.
1. Connors gano Gerulaitis en Roland Garros en 1979 en cuartos de final en individuales masculinos por
6-3 4-6/7-5 6-0.
2. El señor Wilkinson arbitro ese partido.
3. Alemania ha ganado dos veces las individuales masculinas de Wimbledon. Borg ha ganado 2.000.000
de dólares a lo largo de su participación en el Grand Slam.
4. El ganado de Roland Garros de 1987 ganó 20.000 dólares.
5. Noah ha jugado cuatro veces en dobles mixtos con Mandlikova.

Problema 8:
Se desea crear un sitio web con información referente a las películas en cartel en las salas de un dudoso
cine cercano a la plaza de armas.
De cada película, se almacena una ficha con su título de distribución, su título original, su género, el
idioma origina, si tiene subtítulos en español o no, los paises de origen, el año de la producción, la url del
sitio web de la película, la duración (en horas y minutos), la calificación (Apta todo público,+9 años, +15
años,+18 años), fecha de estreno en Santiago, un resumen y un identificador de la película. De cada
película interesa conocer la lista de directores y el reparto, es decir para cada actor que trabaja, el
nombre de todos los personajes que interpreta.
Además interesa disponer de información sobre los directores y actores que trabajan en cada película.
De ambos, se conoce su nombre (que lo identifica) y su nacionalidad. Además se desea conocer la
cantidad de películas en las que dirigieron o actuaron. Tenga en cuenta que hay personas que cumplen
los dos roles.
Los cines pueden tener más de una sala y cada semana cada uno de los cines envía la cartelera para
dicha semana, indicando de detalle de las funciones. Para cada función se conoce el día de la semana y
la hora de comienzo, y obviamente la sala y la película que exhibe. De cada sala se sabe el nombre, un
número que la identifica dentro del cine y la cantidad de butacas que posee. De cada cine se conoce el
nombre que lo identifica, su dirección y teléfono para consultas.
Algunos cines cuentan con promociones. Estas promociones dependen de la función. (Ej. De lunes a
jueves antes de las 18 50% de descuento en la sala tal del cine tal para la película cual...La función del
lunes a las 14 para la película tal en la sala cual, no se cobra a los escolares con túnica... ) De cada
promoción se conoce una descripción y el descuento que aplica.
Además del resumen de la película que se incluye en la ficha interesa mostrar la opinión de las personas
que vieron la película. De cada opinión se conoce el nombre de la persona que la realiza, su edad, le
fecha en que registró su opinión, la calificación que le dio a la película (Obra Maestra, Muy Buena,
Buena, Regular, Mala) y el comentario propiamente dicho. A cada opinión se le asigna un número que la
identifica respecto de la película sobre la cual opina.
SOLUCIONES A LOS EJERCICIOS (*):

Problema 1:
Calle Comuna

Ciudad
Direcciones #Artículo Descripción
#Cliente
de envío

Saldo
Cliente Artículo
Límite de
Crédito (0,n) (0,n) (1,n)
Cantidad
Descuento

Es Se Fabrica Existencias
hecho incluye

(1,1) (1,n) (0,n)


Pedido Fábrica
Nº artículos
provistos
Fecha Dirección de
#Fábrica Teléfono
envío
Nº Ciudad
Calle Comuna

Notas: - El Nº de artículos provistos es la suma de las existencias de cada artículo


- Se podría almacenar una fábrica de la cual no se tengan artículos
Problema 2:
ID Nombre Descripción

Categoría
Número
Calle Comuna (1,n)

Ciudad se
Dirección clasifica
ID
Teléfono
(1,1) Nombre

(1,n) (1,1) Precio


Proveedor Provee Producto
Stock
(0,n)
RUT

Nombre
WEB Cantidad Detalle

ID
(1,n)
Fecha
Venta
Monto Final
(1,1)
Descuento

Nombre RUT
Compra

Cliente (1,n)

Teléfonos Dirección
Comuna

Calle
Ciudad
Número
Problema 5:
Conversión a Modelo Relacional

Problema 1 (*): Modelo ER incompleto


Se desea mantener una base de datos para una cadena de farmacias distribuida en diferentes ciudades.
Cada farmacia tiene sus empleados propios y un farmacéutico. Por cada ciudad existe un único
farmacéutico; esto es, si en una ciudad hubiera más de una farmacia, el mismo farmacéutico estaría
afectado a todas las farmacias de esa ciudad. Cada farmacia tiene a su vez su stock de medicamentos.
El mismo se mantiene por medicamento y presentación. Los medicamentos se organizan según la o las
monodrogas que lo componen, su presentación (por ejemplo ampollas de 5 unidades, jarabe de 100ml,
inyecciones por 10 unidades, pomada 60gr, etc.), el laboratorio que lo comercializa, y su acción
terapéutica (analgésico, antibiótico, etc.). Por cada medicamento se mantiene su precio y la cantidad en
existencia del mismo. El sistema deberá permitir consultar la base de datos de diferentes alternativas
para medicamentos compuestos por una monodroga, medicamentos de un laboratorio, presentaciones
de un medicamento, entre otras.
El siguiente modelo ER supuestamente debería representar lo anterior, sin embargo está incompleto.

El problema: Obtenga los esquemas (solamente) del modelo relacional siguiendo la idea del modelador
(o sea, coloque los atributos necesarios y convierta el modelo ER a relaciones planas).
Problema 2 (*): Diagrama ER genérico
Convierta el siguiente diagrama ER a modelo relacional. Incluya flechas de integridad referencial.

Problema 3: Mundial de fútbol


Construir el modelo E/R y a partir de él el modelo relacional que refleje toda la información necesaria para
almacenar la información relativa a algunos aspectos del campeonato mundial de fútbol considerando los
supuestos semánticos siguientes:
1. Un jugador pertenece a un único equipo y no hay dos jugadores con el mismo nombre.
2. Un jugador puede actuar en varios puestos distintos, pero en un determinado partido sólo puede jugar
en un puesto.
3. En cada partido intervienen varios colegiados.
4. Un colegiado puede realizar una función en un partido y otra distinta en otro partido.
5. Es obligatorio en todo momento que un jugador pertenezca a un equipo determinado y no podría
cambiar de equipo a lo largo del mundial.

Problema 4: Diagrama ER genérico


Convierta el siguiente diagrama ER a modelo relacional. Incluya flechas de integridad referencial.
Problema 5 (*): La biblioteca
Convertir el siguiente modelo ER a uno relacional:

Problema 6: Convierta a modelo relacional el problema 5 de la sección anterior, Las Olimpíadas (eeeh,
oro pa’ Chile).
SOLUCIONES A LOS EJERCICIOS (*):

Problema 1:
Ciudad (nombre, CI_farmacéutico)
Farmacia (número, nombre, dirección, nombre_ciudad)
Personal (CI, nombre)
Farmacéutico (CI, fecha_título, nombre_ciudad)
Propio (CI, salario)
Medicamento (código, nombre, precio, cantidad, código_laboratorio)
Acción_terapeutica (tipo_acción, descripción)
Laboratorio (código, nombre)
Presentación (tipo_presentación)
Monodroga (código, descripción)
Tiene (número_farmacia, CI_personal)
Tiene_stock (número_farmacia, código_medicamento, tipo_presentación, cantidad)
Contiene (código_medicamento, código_monodroga)
Sirve_para (código_medicamento, tipo_acción)

Problema 2:

A(A1,A2) RAB(A1,B1) B(B1,B2)

C(A1,C1,A1’,AC,C2) F0(A1,C1,F1,F2)

D(A1,C1,D1,D2,D3) RBCD(A1,C1,A1’,C1’,D1,D2,D3,B1)

Problema 5:
BD 2004/2005 Modelo E/R
20/10/2004 La biblioteca I

LA BIBLIOTECA I

Supongamos que queremos diseñar una base de datos para una biblioteca y hemos
conocido que ésta funciona de la siguiente forma:
En la biblioteca se encuentran, como es natural, una serie de libros que los empleados
solicitan a las editoriales. Cando un libro se recibe, se le da de alta, construyéndole una ficha
para búsqueda por autor y otra ficha para búsqueda por tema. En ambas fichas aparecen el
título del libro, el nombre del autor y su nacionalidad, la editorial a la que pertenece la
publicación, el tema sobre el que trata, el ISBN y la estantería de la biblioteca en la que se
encuentra. Hay que aclarar que en la biblioteca no se encuentran ejemplares repetidos de
ningún libro. Las estanterías de la biblioteca soportan como máximo 100 libros y tienen un
número y un lugar asignado dentro de la biblioteca. Un empleado puede solicitar un libro
escribiendo una carta de petición a la editorial correspondiente. La dirección a la que ha de
dirigir la carta se encuentra en un archivo de editoriales.
Para acceder a los libros de la biblioteca es necesario la posesión de un carnet que
acredita a los distintos usuarios. Este carnet se confecciona a cada persona la primera vez que
intenta retirar un libro. Cada usuario solo puede tener retirado un libro en cada instante
determinado.
En la biblioteca les gustaría disponer de un listado que se lanzaría al final de cada día y
en el que aparecería, para cada libro que se encentra retirado, el título, el ISBN, el autor y el
número de carnet, nombre y el DNI del usuario que lo mantiene retirado.
Cuando un usuario intenta retirar un libro ha de presentar su carnet para que se tome nota
de la retirada. Si el libro que desea ha sido retirado por otro usuario se llama a éste por
teléfono indicándole que hay otro usuario que desea el libro para que lo devuelva en caso de
que no lo esté utilizando.
Mensualmente se confecciona un inventario actualizado donde se indica para cada libro
el nombre, el autor y el lugar de la biblioteca donde se encuentra.
BD 2004/2005 Modelo E/R
20/10/2004 La biblioteca I

#autor nombre nacionalidad


BIBLIOTECA

AUTOR
ISBN
título
Escrito por tema
nombre dirección

Editado por Situado en


EDITORIAL LIBRO ESTANTERIA
100

Solicitado por #estanteria lugar numero

USUARIO

carnet nombre dni teléfono


BD 2004/2005 Modelo E/R
20/10/2004 Las viviendas

LAS VIVIENDAS

Los ayuntamientos de los municipios de la comunidad autónoma de Extremadura desean


mantener información actualizada de las viviendas ubicadas en zonas urbanas. Se desea
diseñar una base de datos que incluya las características de las viviendas, su ubicación,
propietarios, personas que las habitan, etc. Esta información se utilizará con fines
administrativos (impuestos y otros) y estadísticos. Inicialmente sólo se considerará
información de las viviendas de manera individual, sin hacer distinción entre pisos que
forman parte de un bloque o viviendas unifamiliares.
A finales de año, el ayuntamiento de cada municipio debe cobrar a cada propietario un
impuesto por las viviendas que son de su propiedad en la actualidad. Así, emite un recibo para
cada vivienda donde figura el nº de registro catastral de la vivienda, la dirección donde se
ubica la vivienda (calle, numero y piso), el número de metros cuadrados y el DNI y nombre
del propietario (aunque la propiedad de una vivienda puede ser compartida por varias
personas, a efectos de cobro de impuestos consideramos sólo a uno de ellos), además del
importe de impuesto. Este recibo se le remitirá a la dirección del propietario, que por supuesto
no tiene por qué coincidir con la de la vivienda de la que debe pagar el impuesto.
El importe del impuesto de cada vivienda depende de múltiples factores que deben
considerarse en su cálculo. Entre ellos están el municipio y el barrio o zona urbana donde se
ubica la vivienda, los m2 de la vivienda y el precio de tasación de la vivienda. A estos efectos
cada provincia consta de una serie de municipios, de los que hay que mantener su nombre, el
área y perímetro y la provincia a la que pertenecen; además para identificar cada municipio se
utiliza un código único a nivel regional. Y su vez cada municipio está dividido en una serie de
barrios o zonas urbanas claramente delimitadas. A la hora de calcular el impuesto debe usarse
el precio medio del m2 en esa zona urbana..
El propietario puede realizar el pago del impuesto de dos maneras: en efectivo,
dirigiéndose al ayuntamiento una vez que le ha llegado la notificación de que tiene que pagar,
o a través de la cuenta bancaria que el propietario haya indicado al ayuntamiento; en este
último caso la notificación sólo le indica al propietario que se le va a cobrar el impuesto y en
el recibo figurará la cuenta de cargo. No es nuestro objetivo en este momento mantener
información de los impuestos pagados o de los morosos. Esto se abordará más adelante.
Por otra parte, cada cierto tiempo desde la Junta de Extremadura se solicitan una serie de
informes destinados a distintas conserjerías. La Conserjería de Vivienda y Urbanismo suele
solicitar : 1) una lista de todas las zonas urbanas, indicando el precio medio del m2, su
nombre, área, perímetro, coordenadas geográficas y el municipio y provincia al que
pertenecen, ordenados por provincia y municipio, 2) el mismo listado ordenado por el precio
medio del m2 en cada zona urbana y 3) un listado de las viviendas vacías. La Conserjería de
Bienestar Social por otra parte, solicita un listado de las viviendas habitadas por una única
persona de 70 años o más y los datos del barrio donde se ubican.
BD 2004/2005 Modelo E/R
20/10/2004 Las viviendas

código
VIVIENDAS
MUNICIPIO nombre
área
perímetro

Está adscrita a provincia

#código postal
ZONA nombre
URBANA área
perímetro
coordenadas
Precio m2 dirección
Está ubicada en
dni nombre fecha nac Cuenta bancaria

nº reg Propiedad de

dirección VIVIENDA PERSONA


m2
tasación

habita
BD 2004/2005 Modelo E/R
20/10/2004 La distribuidora de películas

LA DISTRIBUIDORA DE PELÍCULAS

Una distribuidora nacional de películas desea mantener cierta información acerca de las
películas que va a lanzar próximamente, con el fin de promocionarlas adecuadamente.
Cada cierto tiempo se envían anuncios para insertar en los periódicos. Todos los anuncios
incluyen el título de la película, el nombre del actor o actores principales y el nombre del
director (consideramos que hay un solo director por película). Además, para las películas que
han recibido premios importantes, el anuncio suele incluir un resumen de los mismos,
detallando el nombre del certamen, la ciudad donde se celebró y el tipo de premio recibido
(mejor director, película, actor, etc). Y algunas veces en los anuncios se reseñan también las
mejores críticas, indicando el nombre del periódico o revista donde se publicó la crítica, la
fecha de publicación y el autor que firma la crítica.
Otra parte importante de la promoción consiste en hacer de intermediarios entre los
medios de comunicación y los participantes en la película, principalmente el director, los
productores y, muy especialmente, los actores. Para concertar y planificar las citas es preciso
mantener alguna información personal acerca de los intervinientes en la película, como su
nombre completo, dirección y teléfono de contacto. Además, con el fin de facilitar la
elaboración del material de las entrevistas, se proporciona a los medios de comunicación otros
datos relacionados con la película como la aportación económica de cada productor, un
resumen del argumento, un listado con el papel concreto que realiza cada actor en la película
(hay que señalar que consideramos que un actor en una película hace un único papel) y
también el tipo de papel (protagonista, secundario, etc), así como un resumen de los premios
recibidos. Es frecuente también que determinados medios de comunicación nos soliciten
información más personal sobre los actores como su fecha y lugar de nacimiento, su estado
civil y sobre el sueldo que han cobrado por realizar la película.
Las semanas previas al estreno se informa además a los distintos medios de la fecha y el
lugar del estreno de la película a nivel nacional.
Anualmente la distribuidora realiza un estudio donde se incluye, entre otras cosas, un
ranking de las películas más premiadas por nacionalidad.
BD 2004/2005 Modelo E/R
20/10/2004 La distribuidora de películas

dirección fecha nac.


DISTRIBUIDORA
#actor
nombre teléfono lugar nac. DE PELÍCULAS
estado civil

ACTOR #película
título
fecha estreno
#productor dirección tipo papel interviene lugar estreno nombre
ciudad
nombre teléfono papel argumento #certamen
sueldo nacionalidad

produce ha obtenido concede


PRODUCTOR PELÍCULA PREMIO CERTAMEN

aportación
#película
dirige #certamen
tipo premio
ha recibido

DIRECTOR #película
#crítica
CRÍTICA fecha
teléfono Lugar pub.
autor
#director dirección
nombre

- ESTRENO no es obligatorio representarlo como una entidad (aunque podría


haberse hecho) porque hemos considerado que sólo se guarda el estreno a nivel
nacional como hemos puesto en el enunciado . Si fuesen los estrenos en n países
sería un atributo multivaluado que transformaríamos en entidad dependiente.
- PREMIOS surge de la asociación N:M entre PELÍCULA y CERTAMEN donde
una película en un certamen puede recibir varios tipos de premios.
- Este ejemplo se ha resuelto suponiendo que en teoría todavía no se han visto
jerarquías ya que el productor, director y actor pueden generalizarse en
INTERVINIENTES, donde aparecerían los datos personales (#interv, nombre,
dirección, teléfono).
BD 2004/2005 Modelo E/R
20/10/2004 Tráfico

EL MODELO ENTIDAD/RELACIÓN
TRÁFICO
La Dirección General de Tráfico (DGT) desea mantener cierta información del parque de
vehículos nacional con el fin de realizar una adecuada gestión de las infracciones de tráfico
que se comenten.
En una primera fase se desea recopilar información acerca de las marcas y modelos que
existen en el mercado, por lo que desde las distintas casas de coches se les remite la siguiente
información: nombre de la marca y dirección social en España. Así mismo para cada marca se
recogen los nombres de modelos de vehículos disponibles y la potencia de cada uno. Es de
señalar que cada marca se codifica con un número y que asociado al nombre del modelo
existe siempre un código que depende de la marca.
Cuando un vehículo nuevo se matricula se registra la información de la marca y el
modelo del coche, bastidor, fecha de matriculación, así como los datos del propietario. De
éste deben conocerse: nif, apellidos, nombre, fecha de nacimiento y domicilio completo
(calle, nº, municipio, provincia y código postal). Hay que tener en cuenta que en la DGT se
desea mantener información actualizada del propietario, por lo que si en algún momento se
produce un cambio de propietario debe actualizarse éste en la base de datos, sin perder
información de la historia de los propietarios anteriores junto con las fechas que indican el
período de propiedad, por si acaso se necesitan para tramitar multas antiguas.
Por otra parte, cuando una persona comete una infracción y se le impone una multa, el
agente toma nota de una serie de datos. En primer lugar los datos de la persona infractora: nif,
nombre, apellidos, fecha de nacimiento y domicilio completo (calle, nº, municipio, provincia
y código postal). Si en la infracción ha intervenido un vehículo, se necesitan además, los datos
de su matrícula, marca y modelo del vehículo. Hay que señalar que las multas se imponen a
personas, no a vehículos, ya que por ejemplo, podría imponerse una multa a un peatón o a un
ocupante de un vehículo. Aunque también es cierto que en la mayoría de las infracciones
interviene un vehículo. También deben constar en la multa la fecha, el número de registro
personal del agente que ha puesto la multa, el artículo que ha infringido la persona infractora,
el lugar exacto donde ha ocurrido la infracción (carretera, kilómetro concreto y dirección) y el
importe de la multa. Aunque existe una guía de los artículos con sus descripciones, en este
momento no se desea todavía almacenar esta información en la base de datos. Cada infracción
cometida se identifica con un número de expediente único y da lugar a una única multa.
Semanalmente a la Dirección Central de Tráfico se le envían informes donde consta
información del nº de infracciones que se han cometido en esa semana, agrupadas por
carretera e importe y un ranking de los artículos que más se han infringido.
Además a la unidad de tráfico a la que pertenece cada agente que ha impuesto una multa
se el envía mensualmente una lista de las multas impuestas por sus agentes y el estado en que
se encuentran los expedientes (multa pendiente, pagada, recurrida, etc). Esta información es
importante porque de vez en cuando los agentes tienen que declarar en relación con alguna de
las infracciones en que han intervenido, para lo cual se les debe enviar además una carta a su
domicilio.
También cada cierto tiempo se obtienen estadísticas para los medios de comunicación
sobre las características de las personas que cometen más infracciones (por tramos de edad,
sexo, municipio y/o provincia de residencia, etc.) y de los vehículos implicados (marcas,
modelos, etc.).
BD 2004/2005 Modelo E/R
20/10/2004 Tráfico

DIAGRAMA E/R

#marca TRÁFICO
nombre #modelo nombre
#marca dirección
potencia
tiene
MARCA MODELO

Pertenece a matricula
bastidor
fecha mat.

interviene
VEHÍCULO
#expediente

fecha inicio
Es fecha fin
INFRACCIÓN propiedad
de Ha sido
propiedad
fecha de
artículo Cometida
carretera por nif
km
PERSONA
dirección nombre
importe apellidos
estado sexo
fec_nac.
domicilio
cod_postal
AGENTE municipio
provincia
Detectada nif unidad
por #agente

Notas:
- También se podría haber considerado MULTA como una entidad con una relación
1:1 con INFRACCIÓN (esta asociación es lo que indica el enunciado). En ésta iría
el #expediente como identificador, el importe y el estado probablemente (porque el
estado que en el enunciado que ha referido a expediente, realmente podría referirse
a multa, si sólo es pagada, pendiente, recurrida...). Aunque si en el estado pusiese
en trámite, tramitado, etc, estaría asociado a INFRACCIÓN.
- INFRACCIÓN conceptualmente podría ser una entidad dependiente de PERSONA,
pero se trata de una dependencia en existencia y no en identificación, ya que en el
enunciado se precisa que su identificador es el número de expediente.
BD 2004/2005 Modelo E/R
20/10/2004 Campeonato de fútbol

CAMPEONATO DE FÚTBOL

La organización de un campeonato de fútbol de selecciones nacionales decide implantar


un sistema que les permita mantener información actualizada sobre diversos aspectos.
Dos meses antes del comienzo deben conocerse los equipos que participarán, que se
habrán clasificado mediante unas liguillas previas, de las cuáles nuestro sistema no guardará
ninguna información. De cada selección se debe conocer inicialmente, al menos, el país al que
representa y el nombre del seleccionador. Y cada selección debe también facilitar una lista de
jugadores inscritos con sus datos personales y el puesto en que juegan habitualmente (portero,
defensa, delantero centro, lateral izquierdo,..).
Un mes antes del comienzo se habrá concretado la planificación de los partidos
estableciéndose la ciudad donde se jugará cada uno, la fecha y la hora de comienzo, los
equipos que se enfrentarán, el nombre del colegiado principal que arbitrará el partido y el
resto de colegiados que intervendrán en el mismo, así como al menos dos suplentes. Esta
información se le remitirá oficialmente a cada selección, indicándole además qué equipos se
enfrentarán en cada partido y cuál actuará de equipo local y cuál de visitante. Por otra parte, a
cada colegiado se le informará por carta de los partidos en que intervendrá y su función en el
partido (árbitro principal, juez de línea o asistente).
Una vez comenzado el mundial, diariamente se sacará un informe general de los partidos
jugados y el resultado final. Además para cada partido se obtendrá un informe más detallado
que incluirá los nombres y nacionalidades de los colegiados que han arbitrado, el nombre de
los jugadores que han intervenido en el partido, el puesto en que cada uno ha jugado (que
puede ser diferente de su puesto habitual) y los minutos que ha jugado. En este punto hay que
señalar que el mismo jugador sólo puede intervenir una vez en cada partido, es decir, una vez
que el jugador ha salido del campo no puede volver a entrar. Por otra parte, en partidos
diferentes el mismo jugador puede jugar en distintos puestos.
Otra cuestión a tener en cuenta con respecto a los partidos son los controles antidopaje
que se realizan a los jugadores que intervienen en ellos. De cada partido se escogen una serie
de jugadores al azar de cada uno de los equipos participantes para realizarle los análisis. Para
cada muestra extraída, existe un miembro de la Federación Internacional de Fútbol que se
encarga de custodiar la muestra, realizar la tramitación de la muestra y los resultados y un
laboratorio encargado de realizar los análisis. La elección de ambos se realiza al azar teniendo
en cuenta que un jugador nunca puede tener dos análisis ni con el mismo laboratorio ni con el
mismo miembro de la Federación; sin embargo, varios jugadores (por ejemplo, todos los de
un partido) podrían tener asignado un mismo laboratorio y miembro de la Federación. De
cada miembro de la Federación se almacena su nombre, su teléfono y su número de tarjeta
identificativa y de los laboratorios, su nombre, dirección, teléfono y CIF.
Al final del campeonato se entregan, además de los premios a las tres primeras
selecciones clasificadas, un premio al jugador que más goles ha marcado y otro al jugador que
ha marcado el gol más temprano (más cerca del comienzo de un encuentro), por lo que es
preciso mantener información, para cada partido, de qué jugador ha marcado un gol y en qué
minuto del partido lo ha marcado.
BD 2004/2005 Modelo E/R
20/10/2004 Campeonato de fútbol

CAMPEONATO
país nombre
#equipo seleccionador
DE FÚTBOL
juega como visitante

EQUIPO juega como local

nacionalidad
#partido
pertenece a #jugador minutos jugados resultado nombre
fecha
#partido dirección
puesto hora ciudad #colegiado

interviene juegan arbitra


JUGADOR
JUGADOR PARTIDO COLEGIADO
INTERV.
función
#jugador puesto marca análisis
nombre habitual
dirección resultado
fecha nac.
GOL
MARCADO
LABORATORIO FEDERATIVO
#partido #minuto
#jugador teléfono teléfono
CIF nombre Tarj_ID nombre
dirección

Notas:
- La entidad dependiente JUGADORES INTERVINIENTES surge de la asociación
N.M entre JUGADOR y PARTIDO y la necesidad de guardar los goles sólo para
los jugadores que han intervenido en un partido y no para cualquier jugador.
- Las asociaciones “juega como local” y “juega como visitante” no deberían
sustituirse por una asociación N:M con 2 como máximo en la parte de equipo,
porque con esto sólo estamos indicando que el máximo de equipos que juegan son
2 pero podrían ser 1 lo cual no es posible. Con las dos asociaciones se obliga a que
siempre haya 2 y además se establece un orden.
- Con respecto a la relación ternaria, nos sirve para garantizar que tal y como pone el
enunciado ningún jugador puede tener 2 análisis ni con el mismo federativo ni con
el mismo laboratorio. Para leer estas relaciones se fija 1 pareja de instancias de 2
entidades y se mira con cuántas instancias de la otra entidad se relacionarían. Por
ejemplo, en este caso, para que se cumpla la restricción una pareja de 1 jugador y
un federativo se asocia con 1 sólo laboratorio (es decir, una pareja jugador
federativo no puede estar asociada con más de un laboratorio) y una pareja jugador
laboratorio sólo puede estar asociada con un federativo (y nunca con 2 diferentes).
Es decir, si se da una asociación de instancias J1, L2, F1, nunca se darán una
asociación de instancias J1, L2, F3 ó J1, L3, F1.
BD 2004/2005 Modelo E/R
20//10/04 La biblioteca II

LA BIBLIOTECA II
Imagina que has conseguido un contrato en período de prueba con una empresa de
ingeniería de software para diseñar los modelos de datos de las aplicaciones. Esta empresa ha
recibido recientemente el encargo de un proyecto por parte de una cadena de bibliotecas
privadas establecidas en la ciudad de Madrid. Para probar tu valía profesional, esta empresa te
encarga el diseño de una base de datos que recoja lo más fielmente posible los datos
manejados por este conjunto de bibliotecas y su semántica. Después de visitar una de estas
bibliotecas y conocer su funcionamiento has obtenido las siguientes conclusiones:
Las bibliotecas que pertenecen a esta organización privada están localizadas en distintos
puntos de la ciudad y cada una de ellas suele estar especializada en un área determinada. Cada
biblioteca dispone de un cierto número de ejemplares del mismo libro y un único ejemplar
periódico de cada revista a la que está suscrita.
A cada biblioteca le está permitido cada cierto tiempo realizar pedidos de ejemplares de
libros a una serie de editoriales con las que la organización mantiene acuerdos. La primera
vez que un ejemplar de un libro se recibe se cataloga. Por otra parte, las bibliotecas también
pueden suscribirse a revistas publicadas por estas editoriales, de tal manera que a partir de la
fecha de suscripción recibirán los ejemplares de manera periódica.
La información que se utiliza para la catalogación de las publicaciones (libros o revistas)
es la siguiente:
- Nombre o título de la publicación
- Temas: conjunto de descriptores de los temas codificados por la organización
- Editorial: nombre, dirección y teléfono
- Código ISBN, único para cada publicación
- Idioma de la publicación
Además, sobre los libros también se guardan el número de la edición, la fecha de
publicación y los autores y de éstos se mantiene, además de su nombre, su nacionalidad. De
las revistas se guarda su periodicidad.
Hay que señalar que los datos sobre las diferentes publicaciones se encuentran
centralizados para todas las bibliotecas y para cada una de ellas lo que se mantiene es la
información de los ejemplares de que dispone de cada publicación, sin tener repetidos para
cada ejemplar los datos de catalogación. Para identificar los diferentes ejemplares del mismo
libro dentro de una biblioteca se utiliza un número de ejemplar y, también, nos interesa la
fecha en que fue adquirido. Para los ejemplares periódicos de las revistas utilizaremos el
número real de la revista; por ejemplo, en una determinada biblioteca de la revista AAA a la
que la biblioteca está suscrita pueden estar depositados los números 21,22, 23 y 24.
Por otra parte, para que una persona pueda retirar un libro de cualquiera de las bibliotecas
sólo necesita hacerse socio de una de ellas. Para ello debe hacer una solicitud con sus datos
personales (dni, nombre, dirección y teléfono) y a cambio se le entrega un carnet con un
número único que le da derecho a tomar prestados libros o revistas de cualquiera de las
bibliotecas de la organización. A través de internet y con su número de carnet, y como clave
su DNI, el socio puede consultar los títulos disponibles y en qué bibliotecas de la
organización puede encontrar ejemplares de los mismos y si éstos están prestados o no. En el
futuro se permitirá hacer reservas por la red, y el socio podrá solicitar que un ejemplar de un
BD 2004/2005 Modelo E/R
20//10/04 La biblioteca II

título concreto esté disponible en la biblioteca que desee, pero esta opción de momento no se
quiere implementar.
Una vez que la persona es socio de una biblioteca está en disposición de solicitar
préstamos de ejemplares, aunque con algunas restricciones. En primer lugar, debe dirigirse a
la biblioteca que tiene depositado algún ejemplar del libro o revista que desea solicitar. En el
caso de los libros, los socios pueden tener en préstamo varios libros al mismo tiempo, por un
período máximo de una semana. Los ejemplares de las revistas, sin embargo, no pueden ser
sacados de las bibliotecas, y un socio no puede tener más de uno de ellos a la vez, del que
podrá como máximo disponer durante un día, al final del cual deberá devolverlo. Esta
restricción se debe a que sólo se dispone de un ejemplar de cada número periódico de la
revista a la que la biblioteca está suscrita. Sólo algunos socios especiales, como investigadores
acreditados, pueden saltarse esta restricción y tener en préstamo un ejemplar de una revista
con las mismas condiciones que para los libros. Para estos socios, además, debe guardase el
nombre de la entidad para la que trabajan.
Diariamente, un cuarto de hora antes del cierre, en cada biblioteca un proceso nos
informa de las revistas en préstamo que deben ser devueltas. Semanalmente, la organización
lanza un listado con los ejemplares de libros (y de revistas) que habiendo finalizado su plazo
de préstamo aún no han sido devueltos por los socios, con el fin de reclamarlos a éstos.
Anualmente, se obtiene un listado con todos los préstamos de ejemplares de libros, junto
con los socios y los períodos en que los han retirado, con el objeto de enviarlos a las
editoriales para que éstas construyan sus estadísticas acerca del interés que suscitan sus libros
en los lectores. También anualmente se obtienen estadísticas del número de socios nuevos que
se han inscrito en cada una de las bibliotecas.
BD 2004/2005 Modelo E/R
20//10/04 La biblioteca II

BIBLIOTECA
descripción
id_tema ISBN nombre idioma id_editorial
trata de editado por
TEMA PUBLICACIÓN EDITORIAL

nacionalidad nº edición fec. pub. ISBN periodicidad nombre


id_autor nombre ISBN dirección
teléfono

AUTOR LIBRO REVISTA


id_biblio
escrito por
Id_biblio ejemplar Id_biblio ISBN
tiene
ISBN de libro ISBN fecha número
nº ejemplar
fec_com
EJEMPLAR EJEMPLAR
SUSCRIPCIÓN
préstamo
LIBRO REVISTA
de ejemplar ejemplar
de libro de revista
Id_biblio depositado en
HISTÓRICO hace
ISBN
EJ. LIBRO
nº ejemplar
PRESTADO id_biblio
fec_prest
fecha dirección
fec_dev préstamo
BIBLIOTECA actual
préstamo revista fecha
actual fecha
libro
inscrito en préstamo
actual
préstamo libro especial
hecho a revista

SOCIO

Nº carnet
dni
nombre
SOCIO
dirección
teléfono ESPECIAL

Nº carnet nom_entidad

Notas:
- Aunque EJEMPLAR LIBRO podría ser una entidad dependiente de libro solamente,
esto sólo sería posible si el sistema centralizado se encargara de numerar los
ejemplares por libro, es decir, si la numeración de los ejemplares se realiza
independientemente de las bibliotecas. Sin embargo en este caso el enunciado nos dice
que el número de ejemplar se utiliza para identificar los ejemplares del mismo libro
dentro de cada biblioteca, por lo que se considera dependiente de las dos
- La entidad SUSCRIPCIÓN surge de una relación N:M que debe relacionarse con la
entidad EJEMPLAR REVISTA. Si ésta última entidad se pusiese dependiente de
REVISTA y no de SUSCRIPCIÓN no podría controlarse que se asociasen por error
ejemplares de revistas a una biblioteca a la que ésta no está suscrita.
- La asociación “préstamo actual libro” nos permite establecer la restricción de que un
ejemplar no puede estar prestado más que a un socio a la vez, cosa que no puede
representarse en el modelo usando simplemente el histórico.

Вам также может понравиться