0% encontró este documento útil (0 votos)
31 vistas4 páginas

Examen de Bases de Datos II - 2011

Cargado por

befaluga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas4 páginas

Examen de Bases de Datos II - 2011

Cargado por

befaluga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Bases de Datos II

Examen
Noviembre 2011
23 de Noviembre de 2011
Carreras: Licenciatura en Informática
Ingeniería en Informática
Puntaje Total: 100 puntos
Mínimo de aprobación: 60 puntos
Duración: 2 hs.
Caso:
Se tienen las siguientes tablas para representar campeonatos:

EQUIPOS (idEquipo, Nombre, idPais)

PAISES (idPais, Nombre)

CAMPEONATOS (idCamp, Nombre, Año)

DIVISIONALES (idCamp, idDivisional, Nombre)

PARTICIPACIONES (idCamp, idDivisional, IdEquipo)

PARTIDOS (idPartido, idCamp, idDivisional, Fecha, Hora, IdEquipo1, IdEquipo2, Resultado)


Resultado: {Ganado, Empatado, Perdido, NoJugado} (Nota: Cada partido está registrado DOS veces,
Equipo1, Equipo2 y Equipo2, Equipo1)

Ejercicio 1 (10 puntos)


Teniendo en cuenta las descripciones anteriores, se pide:

1) (2 puntos) Equipos de “Uruguay” que han ganado algún partido en julio de 2011
2) (2 puntos) Equipos que han ganado más de 5 partidos del campeonato “Clausura 2010”
3) (2 puntos) Listar los nombres de país y equipo, junto con los datos de los partidos disputados
por estos (tengan o no partidos disputados)
4) (2 puntos) Listar los equipos que solamente han perdido partidos.
5) (2 puntos) Escribir una sentencia SQL que permita pasar a mayúsculas el nombre de los equipos
que han jugado más de 5 campeonatos distintos.

Ejercicio 2 (25 puntos)


Implementar un trigger (o varios) para evitar que se agende un nuevo partido en un horario que se superponga
con otro existente, para el mismo campeonato mismo día y la misma hora. Impedir cualquier modificación de
HORARIOS (Hora y Fecha) y tener en cuenta masividad.

Este material es de uso exclusivo para los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
1
Bases de Datos II – Examen – 2011

Ejercicio 3 (8 puntos)
Utilizando las tablas definidas en el ejercicio anterior indique si las siguientes vistas son actualizables, en caso
negativo indique brevemente por que.

a) CREATE VIEW V_PARTIDOS_PENDIENTES as


select * from PARTIDOS where Fecha > getdate()

b) CREATE VIEW V_PARTIDOS_INTERNACIONALES as


select P.*, [Link], [Link]
from PARTIDOS P, Equipos E1, Equipos E2
where P.IdEquipo1 = [Link] and P.IdEquipo2 = [Link] and [Link] <>
[Link]

c) CREATE VIEW V_GANADOS_URUGUAYOS_PERDIDOS_ARGENTINOS as


select DISTINCT [Link]
from PARTIDOS P, Equipos E
where P.IdEquipo1 = [Link] and [Link]=Ganado and [Link] = 1 –-Código de
Uruguay=1
union
select DISTINCT [Link]
from PARTIDOS P, Equipos E
where P.IdEquipo1 = [Link] and [Link]=Perdido and [Link] = 2 –-Código de
Argentina=2

d) CREATE VIEW V_Campeonatos_Jugados as


select * from CAMPEONATOS where Año < DatePart(Year,getdate())

Ejercicio 4 (25 puntos)


Implementar un StoredProcedure, que utilice un cursor para recorrer y listar los partidos jugados por un equipo
dado (mediante su Id) en los distintos campeonatos. El listado estará ordenado por fecha (se asume que los
campeonatos no se superponen). El listado debe contar las “rachas” es decir la cantidad de partidos seguidos
con el mismo resultado.

El formato del reporte es el siguiente:

Campeonato Clausura del Año 2010

2010/07/07 Equipo 1 vrs Equipo 2 – Ganado (1)


2010/08/07 Equipo 1 vrs Equipo 3 – Ganado (2)

Campeonato Apertura del Año 2011

2011/07/07 Equipo 1 vrs Equipo 4 – Perdido (1)


2011/08/07 Equipo 1 vrs Equipo 2 – Empatado (1)

Este material es de uso exclusivo para los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
2
Bases de Datos II – Examen – 2011

Ejercicio 5 (8 puntos)

Dadas las siguientes estructuras y sus contenidos :


CREATE TABLE Seccion (
Id INT primary key,
Nombre Varchar(50) NOT NULL default 'Inicial',
Estado CHAR(1) CHECK (Estado in ('A','B','C') )
)
CREATE TABLE Trabaja (
Id INT not null,
Id2 INT not null,
Fecha SMALLDATETIME,
TipoCargo Char(1) not null
constraint PK_1 primary key (Id, Id2)
constraint FK_1 Foreign key (Id) references Seccion(Id)
)
CREATE TABLE Cargo (
TipoCargo char(1) primary key,
Descrip Varchar (100)
)
alter table Trabaja add constraint fk_3 foreign key(TipoCargo) references Cargo
(TipoCArgo)

Seccion Trabaja Cargo


1 Contable A 1 1 01/01/2009 E E Empleado
2 Juridica A 1 2 01/05/2009 J J Jefe
3 Financiera B 2 3 01/03/2010 L L Eventual
4 Admin C 4 1 01/01/2011 J K Tercerizado
5 RR HH B 4 2 01/03/2011 K M Rotativo
4 3 NULL J

Indique si las siguientes consultas fallan y en caso afirmativo la razón :

i) UPDATE Trabaja set id2 = 1 where id2 = 3


ii) INSERT INTO Trabaja values (2,1,null,'J')
iii) INSERT INTO Seccion values (6,'Administracion','P')
iv) UPDATE Trabaja set TipoCargo = 'N' where id = 1 and id2 = 1
v) INSERT INTO Seccion(Id,Estado) values (7,'A')
vi) DELETE FROM Cargo
vii) DELETE FROM Cargo WHERE Tipo = 'M'

Ejercicio 6 (4 puntos)

Indique si las siguientes afirmaciones sobre las transacciones son verdaderas o falsas:

a) (1 Punto) una transacción es una unidad atómica de procesamiento, se procesa totalmente o nada.
b) (1 Punto) una transacción debe tomar la base de datos en un estado consistente y la debe dejar en un
estado consistente.
c) (1 Punto) los cambios efectuados y confirmados por una transacción no se deben perder.
d) (1 Punto) una transacción no puede ser cancelada en el medio de su ejecución.

Este material es de uso exclusivo para los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
3
Bases de Datos II – Examen – 2011

Ejercicio 7 (16 puntos)


Explique brevemente y si es posible con algun ejemplo en que consiste cada uno de los siguientes problemas
se concurrencia.

a) (4 Puntos) Phantom Read


b) (4 Puntos) Dirty Read
c) (4 Puntos) Lost Update
d) (4 Puntos) Non Repeatable Read

Ejercicio 8 (4 puntos)
Nombre los 4 niveles de aislamiento que se pueden setear para una transacción.

Este material es de uso exclusivo para los cursos impartidos por el Instituto Universitario Autónomo del Sur y asociados
4

También podría gustarte