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

EJERCICIOS DE BASE DE DATOS

Problema
Una inmobiliaria desea construir una base de datos con las casas que tiene para
alquilar, los clientes y los propietarios. De cada casa se conoce un cdigo que la
identifica, su direccin, la cdula de su propietario, la cantidad de dormitorios, la
cantidad de baos y el alquiler mensual. De los clientes se conoce la cdula de
identidad, su nombre, su ultima direccin conocida, su ultimo telfono conocido (uno
solo) y la cdula del propietario que le sale de garanta (uno solo). De los
propietarios se conoce su cdula, su direccin y su telfono (nico). Para cada casa
alquilada se establece un contrato que tiene un nmero que lo identifica y registra
la cdula del cliente, el cdigo de la propiedad y la fecha de inicio y de fin del
contrato. En una fecha de inicio de un contrato, no se puede alquilar una misma casa
a ms de un cliente.

Problema
Una importante empresa de venta de pinturas con varias sucursales decide formar
una seccin que se encargue de realizar las combinaciones de colores requeridas por
los clientes. A su vez mantienen una base de datos con los pedidos para poder
obtener estadsticas acerca de las mezclas mas frecuentes. Dicha base de datos
posee las siguientes tablas:

Colores (idC, descripcion, tipo, brillo). Representa la informacin de cada uno


de los colores. IdC es el identificador del color. Descripcion es el nombre
asignado al color. Tipo indica si el color es puro (provisto por los fabricantes,
sin necesidad de realizar mezclas) o mezcla (ese color no se vende, hay que
realizar la mezcla). Brillo indica si el color es brilloso o mate. Descripcion
identifica tambin al color.

Mezclas (idC, idCPuro, proporcion). Representa la informacin de los colores


que se obtienen como combinacin de colores puros. IdC es el identificador
del color de la mezcla. IdCPuro y proporcin indican la proporcion del color
puro para realizar la mezcla.

Productos (IdP, descripcion, marca, tamanio). Representa la informacin de los


productos (latas de pintura). IdP es un identificador. Descripcion es el nombre
del producto. Marca es la marca del producto. Tamanio es la cantidad de litros
de la lata. Se consideran productos distintos los que tienen diferentes
tamaos, pero no los que tienen diferentes colores, es decir, que IdP no indica
el color que tiene la pintura.

ColorProd (idP, idC). Representa la informacin de los colores puros en que


viene cada producto. IdP es el identificador del producto, e idC es el
identificador del color. Slo se venden latas de colores puros.

Solicitudes (idSol, fecha, sucursal, idC, tamanio). Representa las solicitudes


de mezclas realizadas por las diferentes sucursales. Slo se solicitan mezclas,
no colores puros. IdSol es un identificador. Fecha es la fecha en que se realiz
la solicitud, y sucursal la sucursal de la empresa desde la que se hizo la misma.
IdC es el identificador de color y tamanio es la cantidad de litros de la mezcla
pedida.

Problema
Una empresa de entretenimientos y vacaciones para nios en edad escolar y
preescolar desea automatizar el manejo de la informacin de sus clientes y las
asociaciones con las que trabaja. La informacin que se desea mantener tiene las
siguientes caractersticas :
Existen varias asociaciones juveniles, las cuales tienen sus propias colonias de
vacaciones. Cada asociacin tiene varias colonias, pero cada colonia pertenece a una
nica asociacin. De cada asociacin se conoce su nombre, que la identifica, la
direccin y un telfono de referencia. De las colonias se conoce su cdigo y
ubicacin; el cdigo puede repetirse para las distintas asociaciones.
En las colonias trabajan varios lderes de grupos, de los cuales se conoce su C.I.,
nombre y telfono. Cada lder puede trabajar para varias colonias. Todos los lderes
deben tener una certificacin que los acredita como tales, interesa la fecha, el
grado y la asociacin que emiti el certificado. En caso de tener ms de un
certificado interesa slo el ms reciente.
Cada lder en una colonia coordina exactamente una actividad, pero puede ayudar en
otras. Las actividades a su vez son desarrolladas (coordinacin y ayuda) por varios

lderes de colonias. De las actividades se conoce su identificador y una breve


descripcin de la misma. Estas pueden ser de los siguientes tipos : campamentos,
deportes y juegos. De los campamentos interesa la ubicacin y la duracin en das,
de los deportes interesa el tipo, los accesorios necesarios y la cantidad de horas
semanales de entrenamiento, de los juegos interesa el tipo de juego, una
descripcin de las caractersticas y la cantidad de participantes.
Cada colonia atiende a un conjunto de clientes, algunos de ellos asisten a ms de una
colonia. Nos interesa el nmero de cliente que lo identifica, nombre, C.I., telfono y
edad. Los clientes realizan diversas actividades, interesando la antigedad con que
las realizan. En el caso de los deportes, interesan tambin las fechas en las que el
cliente particip en competencias. Los clientes slo realizan actividades de las
disponibles en su colonia.

Se desea llevar el control del consumo de agua de una zona balnearia. Cada solar
est identificado, tanto por el nro. de padrn como por el nro. de manzana y solar.
En cada solar, pueden existir uno o ms contadores de los que se conoce un nmero,
y un tipo (A,B,C). Un contador nunca es compartido, es decir, no pertenece a ms de
un solar. Para cada contador y padrn, se tiene un nro. de contrato y para cada
contrato se conoce la cdula de identidad de quien realiza el contrato con la
empresa. Adems cada contrato es para un nico contador. Para cada contador, se
conoce los metros cbicos consumidos en el mes (de un ao). Tenga en cuenta que se
mantiene informacin de varios aos.

Problema
Una clnica homeoptica desea utilizar una base de datos para registrar su
actividad. La clnica elabora medicamentos homeopticos. De cada medicamento se
conoce su nombre y un cdigo que lo identifica. Tambin se conoce el conjunto de
enfermedades para las cuales se recomienda dicho medicamento. De cada
enfermedad se conoce un nombre que la identifica y una descripcin. Para una
misma enfermedad pueden existir varios medicamentos recomendados.
Todo medicamento est compuesto por sustancias, conocindose la cantidad
requerida de de cada sustancia para elaborarlo. De una sustancia se conoce su
nombre y un cdigo que la identifica. Ciertas sustancias, cuando se combinan,

pueden resultar nocivas para la salud. Interesa registrar qu sustancias no deben


ser combinadas.
En la clnica trabaja un conjunto de homepatas. De cada homepata se conoce su
nombre, su cdula de identidad, direccin, telfono y la fecha a partir de la cual
ejerce la homeopata. Algunos de ellos son adems mdicos. De los mdicos se
conoce cul es su especialidad.
A la clnica concurren pacientes. De cada paciente se conoce su nombre, cdula de
identidad, telfono, direccin y edad. Los pacientes consultan a los homepatas,
interesando registrar la fecha de dicha consulta. En la consulta el homepata
realiza un diagnstico de la enfermedad que tiene el paciente y le indica un
medicamento para tratarla. A un mismo paciente le puede diagnosticar ms de una
enfermedad y para una misma enfermedad le puede indicar ms de un medicamento.
Para cada paciente atendido por un homepata interesa registrar la(s)
enfermedad(es) que le diagnostic junto con el (los) medicamento(s) que le indic.
Interesa especialmente modelar el hecho de que el medicamento indicado para la
enfermedad debe ser uno de los medicamentos recomendados para dicha
enfermedad.

Problema
Se desea implementar una base de datos con la informacin manejada por una
empresa de TV-cable. En esta empresa se venden paquetes. Un paquete, que se
identifica por un cdigo, consiste en el servicio de TV por cable de algunos canales
por un tiempo dado (3, 6, 9 o 12 meses).
Tambin se abren cuentas, que dan derecho a todos los canales, se pagan
mensualmente y son por tiempo indeterminado. De los canales se mantiene el
numero, el nombre y el tipo de canal.
Cuando un cliente compra un paquete interesa la fecha, la forma en que lo pago, y el
montototal. Cuando abre una cuenta interesa la fecha, y el monto-mensual. Adems
un cliente puede ampliar el paquete que ya tiene, agregando canales. En este caso
interesa guardar que canales se agregaron, cual es el nuevo-monto que debe pagar,
y la fecha de la transaccin.
Por ultimo un cliente puede cancelar un paquete o una cuenta. En este caso interesa
saber la fecha de la cancelacin, el monto que debe y el motivo por el que cancela el

servicio (el cual se codifica: D: desconforme, E: econmico, I: ya no le interesa,


O: otros).
En todas las transacciones interesa cual fue el vendedor que la realizo. De los
vendedores se guarda la cedula de identidad, el nombre y la categora.
Sobre los clientes se mantiene la siguiente informacin: cedula de identidad,
nombre, direccin, telfono, estado civil, grupo familiar.
Existen promociones para la compra de los paquetes. Estas tienen un cdigo, un
perodo de validez y un descuento asociado, pero el perodo de validez y el
descuento dependen de a que paquete se est aplicando.

Problema
A partir de la siguiente tabla R con
atributos A,B,C, se puede decir que:

a) En la tabla R se cumple la dependencia funcional A B.


b) En la tabla R no se cumple la dependencia funcional A B.
d) En la tabla R se cumple la dependencia transitiva entre A y C.

Problema
Las siguiente base de datos contiene informacin sobre CDs , sus temas y sus
intrpretes.
CD(Id_cd, nom_cd, int_cd)

Cada tupla de la tabla representa un CD diferente. Id_cd es una identificacin que


tiene cada CD. Nom_cd es un string con el nombre del CD e int_cd es un string que
contiene el nombre del grupo o solista que interpreta todos los temas del CD. Un
valor vlido para este ltimo atributo es ensalada. En ese caso los temas pueden
ser ejecutados por diferentes intrpretes.
Tema(id_tema, nom_tema, autor)
Cada tupla de esta tabla representa un tema diferente. El primer atributo es un
identificador para cada tema. El segundo es un string con el nombre del tema y el
tercero es un string con el nombre del autor.
Grabacion(id_cd,ubicacion, id_tema, minutos, int_tema)
Cada tupla de esta tabla representa cada aparicin de un determinado tema en
determinado CD. En cada tupla se tiene en que ubicacin del CD id_cd aparecer el
tema id_tema durando determinada cantidad de minutos e interpretado por
int_tema.
Int_integracion(interprete, id_cd, ubicacion, instrumento, ejecutante)
Esta tabla detalla la integracin de cada grupo intrprete en cada tema de cada CD.
Cada tupla contiene el grupo intrprete del tema que est en determinada ubicacin
en determinado id_cd, indicando el instrumento (ej, guitarra, bajo, voz) y el nombre
del ejecutante.
Notar que en esta tabla pueden existir varias tuplas para el mismo intrprete en la
misma grabacin, ya que puede ser un grupo y an varias tuplas para el mismo
ejecutante, ya que un mismo ejecutante puede tocar varios instrumentos en la
misma grabacin.
Se pide lo siguiente :
Usando un comando SQL, mostrar los nombres de los CDs grabados por un
nico grupo, en los que George Harrison toca la guitarra en al menos un tema y
John Lennon no aparece ejecutando ningn instrumento en ningn tema de
esos CDs.

Escribir el comando SQL que muestre los nombres de los integrantes de Pink
Floyd que estn en todos los discos que son solamente de ese grupo.

Con un comando SQL mostrar los nombres de los CD de Pink Floyd que duran
entre 55 y 74 minutos.

Problema
En un taller mecnico de la ciudad de Maldonado se tienen las siguientes tablas
relacionales :
Marca-Rep(Marca, Cod-servicio)
Esta tabla representa las marcas de vehculos en los que el taller realiza servicios
autorizados por el representante. Cada marca tiene algunos cdigos de servicios
(actvidades a realizar en un vehculo como revisin de amortiguadores, etc.) que
reconoce como autorizado para el taller.
VAbonados(mat, vendedor, tipo-abono, v-cuota, fecha-susc,u_mes_p)
Esta tabla representa los vehculos abonados al servicio de abonados que ofrece el
taller. En esta tabla, para cada matrcula (mat) se tiene el vendedor que realiz la
suscripcin, el valor actual de la cuota, la fecha en que se realiz la suscripcin y el
ltimo mes que se pag (u_mes_p).
Servicios(mat, Cod-servicio, fecha, importe, status)
Esta tabla representa los servicios realizados a cada vehculo. Para cada matrcula
(mat), dado un cdigo de servicio y una fecha, la tabla contiene el importe de ese
servicio y el status. El atributo status indica si el importe fue saldado al contado, si
es a crdito o si est con mora.
Clientes(CI_Cli, Nombre, Depto, Ciudad, Direccin, Tel_c)
Esta tabla tiene los datos de los clientes del taller. Para cada cliente se tiene la
cdula (CI_Cli), el nombre, un telfono de contacto y el departamento, la ciudad y la
direccin dentro de la ciudad de su domicilio.
VClientes(CI_Cli, mat, marca, modelo)
Esta tabla representa los vehculos de los clientes que alguna vez fueron atendidos
en el taller o que son abonados. Para cada cliente (CI_Cli) y cada vehculo de ese
cliente, la tabla contiene la marca y el modelo.
Mediante el uso de comandos SQL se pide lo siguiente :

Mostrar el nombre y telfono de contacto de los clientes que tienen algn


vehculo abonado a travs del vendedor Gabriel Avils y que viven en la ciudad
de Trujillo del departamento de La Libertad.

Por cada marca, mostrar la cantidad de vehculos de esa marca atendidos


durante el ao 2000.

Mostrar el nombre, telfono de contacto y direccin completa (incluyendo


departamento y ciudad) de los clientes que tienen vehculos abonados y jams
le realizaron a esos vehculos el servicio de cdigo de servicio 72

Mostrar las marcas representadas, tales que todos los clientes conocidos que
viven en el departamento de Cajamarca y tienen un auto de esa marca, tienen
algn auto abonado.

Problema
Se desea construir una base de datos que permita almacenar informacin relativa a
un congreso regional de informtica. El objetivo del congreso es el intercambio de
informacin a travs de charlas en las que diferentes investigadores exponen
artculos que luego salen publicados en los anales y se realiza en diferentes salones
del Hotel de las Gaviotas en Isla Gorriti.
De cualquier participante, interesa registrar su nombre, su nacionalidad, su origen,
la universidad de la que proviene y su e-mail. No hay dos participantes que tengan un
mismo e-mail. Algunos de los participantes son expositores (exponen artculos),
otros organizadores y otros son estudiantes.
A los estudiantes no se les permite exponer artculos sin embargo se registra qu
carreras cursan, en qu universidad y en qu ao estn en cada carrera. De los
expositores se registra su currculo y las diferentes reas de investigacin en que
trabajan. De los organizadores se registra el cargo en la organizacin y si ya haban
participado en la organizacin del mismo congreso en aos anteriores. Hay algunos
organizadores que exponen artculos y otros que no lo hacen.
Los artculos tienen un ttulo, un conjunto de autores y un conjunto de palabras
clave que indican de qu temticas trata el artculo. Tambin se registra el idioma
en que est escrito. La organizacin no acepta artculos diferentes de exactamente
el mismo conjunto de autores y con el mismo ttulo. Interesa registrar qu artculos
estn vinculados temticamente con qu otros.
El congreso se organiza en diferentes sesiones. Cada sesin tiene un tema que es
nico entre todas las sesiones del congreso. Adems se realizan en una fecha dada,

entre determinadas horas, en un determinado saln. Obviamente, en cada saln y en


determinada fecha y hora puede haber solamente una sesin. Para cada sesin
interesa registrar los artculos que se presentarn en ella.
Un artculo se presentar en una nica sesin. Interesa registrar a qu hora dentro
de esa sesin se presentar el artculo.

Problema
Una empresa de telecomunicaciones lo contrata a Ud para disear una base de
datos para llevar el control de que insumo y por qu se compra ese insumo a cada
proveedor. La empresa tiene un conjunto de sucursales distribuidas en todo el
Uruguay.
De cada sucursal se conoce la ubicacin (direccin, nombre de la ciudad y nombre
del departamento dentro del Uruguay), un cdigo que la identifica dentro de la
empresa, y un conjunto de telfonos. Cada sucursal tiene varios departamentos
(tcnico, de ventas, etc). De cada departamento se conoce el nombre, una
descripcin de su cometido y la cantidad de personas que trabajan en l. El nombre
identifica al departamento dentro de una sucursal pero no dentro de la empresa.
Cada departamento va registrando pedidos de materiales de acuerdo a sus
necesidades. Luego, a partir de un conjunto de pedidos se arma una orden de
compra. De cada pedido se conoce un identificador nico del pedido, el artculo que
se pide, la cantidad que se pide, la fecha en la que se realiza el pedido, la fecha en
la que se espera contar con el material y qu departamento realiz dicho pedido. De
cada artculo se conoce un cdigo que lo identifica, su nombre y una descripcin. De
las rdenes de compra se registra su identificador, una descripcin breve de en qu
consiste la compra, la fecha en la que se arma, la fecha tope para la recepcin de
ofertas por parte de los proveedores y los pedidos que la componen. En la orden de
compra, para cada pedido aparece nuevamente la cantidad solicitada de ese
artculo, slo que puede haber sido reducida (nunca aumentada) con respecto a la
original que est en el pedido. Hay pedidos que nunca participan de una orden de
compra. Las (rdenes de) compras puede ser de dos tipos (grandes o chicas). Las
compras chicas responden slo a pedidos de una misma sucursal, mientras que las

compras grandes involucran pedidos de ms de una sucursal. Adems, las compras


chicas pueden ser urgentes o normales.
La empresa tiene adems un registro de proveedores. De cada proveedor se conoce
su ruc que lo identifica, el nombre, la direccin, el telfono, los rubros a los que se
dedica adems del detalle de que artculos provee. El precio de venta de un artculo
depende del proveedor. Interesa registrar los proveedores que estn relacionados
comercialmente entre s.
Para cada pedido de una orden de compra, interesa registrar que proveedores se
ofrecen satisfacer ese pedido, por qu precio unitario y la fecha en que
presentaron la oferta.
Por otro lado, interesa llevar registro de las adjudicaciones (o resoluciones de
compra) que se hacen. De cada adjudicacin se conoce un identificador, la fecha en
la que se tomo la resolucin y la orden de compra que resuelve. Adems, interesa
registrar para cada adjudicacin, a cules proveedores se les adjudic qu pedido
(siempre de la misma orden de compra) indicando a que precio y que cantidad. Una
adjudicacin puede declarar desierta una compra, o sea que realmente no adjudica a
ningn proveedor pedido ninguno de los pedidos de la compra. Tambin puede ser
que no adjudique a ningn proveedor alguno de los pedidos de la compra, aunque s
adjudique otros pedidos. Resumiendo, una adjudicacin puede declarar desierto
algn pedido (o todos) de una compra ( o sea que no se adjudica a nadie ese pedido).

Problema
En una facultad se desea analizar las actividades de los estudiantes en las
diferentes carreras, materias y asignaturas. Las carreras estn compuestas por
materias y las materias por asignaturas (por ejemplo, la materia Programacin
est compuesta por las asignaturas Programacin 1, Programacin 2,
Programacin 3, etc.). Una misma materia puede estar en varias carreras. Un
estudiante puede estar haciendo varias carreras, por lo cual puede realizar
actividades de distintas carreras. Cada materia en una carrera tiene un mnimo de
crditos necesarios para aprobar la materia. Cada asignatura (independientemente
de la carrera en que est) tiene un nmero de crditos que el estudiante gana al
aprobarla.
Se tiene una base de datos con las siguientes relaciones:

Estudiantes (ci-est, nom-est, promocion)


Esta relacin contiene los datos sobre los estudiantes de toda la facultad.
Asignaturas (cod-as, nom-as, crditos, cod-mat)
Esta relacin representa las asignaturas que se dictan en la facultad. Contiene los
crditos que corresponden a cada asignatura cuando es aprobada, y el cdigo de
materia a la que pertenece. Una asignatura pertenece a una nica materia.
Materias (cod-mat, nom-mat)
Esta relacin contiene todas las materias de la facultad.
Mat-Car (cod-mat, cod-car, creditos-min)
En esta relacin se encuentran las materias relacionadas con las carreras y los
crditos mnimos que debe tener un estudiante en determinada materia en
determinada carrera para tener esa materia aprobada. Una materia puede estar en
varias carreras diferentes.
Carreras (cod-car, nom-car, ao)
Esta relacin contiene las carreras de la facultad. Adems contiene el ao en que se
dict por primera vez el primer ao de cada carrera.

Actividades (ci-est, cod-as, cod-car, tipo-act, fecha, aprobo, nota)


En esta relacin se guardan todas las actividades que realizan los estudiantes en la
facultad. Estas actividades pueden ser de distintos tipos (examen o realizacin de
curso). El atributo aprobo tiene valor S o N. Si este atributo tiene valor S
asumimos que la asignatura esta aprobada totalmente, no importa el tipo de
actividad que sea. El atributo fecha corresponde a la fecha en la que se realiz la
actividad.
Mediante el uso de comandos SQL se pide lo siguiente :
Mostrar todos los nombres de asignatura con sus crditos, correspondientes a las
carreras de nombre Ingeniera de Sistemas.
Mostrar los estudiantes (ci) de la promocin 2000 que rindieron el examen por lo
menos una vez de todas las asignaturas de la materia de nombre Matemticas.

Obtener el nombre de asignatura y nombre de materia, donde ningn estudiante


aprob el examen con nota mayor que 17 a partir del 1/12/ 2001.
Mostrar las materias para las cuales todas sus asignaturas fueron aprobadas por
algn estudiante con la nota 13 en diciembre del 2001.
Brindar una lista que contenga cdigo de asignatura, cdigo de carrera y cantidad
de aprobados a partir del 1/12/2001.
Obtener nombre y ci de los estudiantes de la carrera cdigo 6061 que ya han
obtenido por lo menos la cantidad mnima de crditos de la materia Programacin
II.