Sei sulla pagina 1di 5

LICCI MERARI GARCIA GARCIA

TAREA CUARTA UNIDAD DE BASES DE DATOS 1. Utilice el siguiente esquema de base de datos para elaborar las siguientes vistas: JUGADOR(DNI, Nombre, Nacionalidad, Sueldo, Cve_Equipo) EQUIPO(Cve_equipo, Nombre, Ciudad, Divisin, Presidente, Entrenador) PARTIDO( Id_partido, Estadio, Fecha, Cve_Equipo_local, Cve_Equipo_visitante, Goles_L, Goles_V) PARTICIPA(DNI_jugador, Id_partido, Funcin) a. Obtener una lista que presente nombre del jugador y nombre del equipo al que pertenece, ordenada por equipo y nombre del jugador create view listaA as select nombre from jugador where Cve_equipo = ( select nombre, Cve_equipo from equipo order by nombre asc ) order by nombre asc; b. Obtener una lista de todos los partidos realizados ordenados por estadio y fecha (Estadio, Fecha, Equipo_local, Equipo_visitante, deben aparecer los nombres de los equipos) create view listaB as select nombre from equipo where Cve_equipo = ( select estadio,fecha, Cve_equipo_local,Cve_equipo_vistante from partido order by fecha asc ) order by estadio asc; c. Obtenga los partidos en los que el equipo Equipo 1 ha ganado

CHEQUENLO, NO SE SI ESTAN BIEN LAS CONSULTAS. =_=U

create view Partidos_Equipo1 as select id_partido from partido having count (*) = (select max(temp.cant) from (select goles_l count (*) as cant from partido where cve_equipo=Equipo 1 Group by cve_equipo)Temp); d. Obtener el nombre de los jugadores que son porteros create view Porteros as select nombre from jugador join participa on DNI= DNI_jugador where funcion=portero e. Obtener una lista de los 5 jugadores (nombre) que tienen el mejor sueldo create view listaC AS select nombre aqu no se como hacerle.. 2. Elabore una transaccin que inserte dos nuevos jugadores (tabla JUGADOR) y aumente en 10% el salario de los jugadores del equipo Equipo 1; termine la transaccin con xito.

BEGIN; INSERT INTO JUGADOR VALUES ('J020','JUGADOR 20','MEXICANO',20,'E001'); INSERT INTO JUGADOR VALUES ('J021','JUGADOR 21','MEXICANO',20,'E001'); COMMIT;

3. Diga qu instrucciones se cometen (se hacen permanentes sobre la base de datos) y cules no en el siguiente fragmento de cdigo, para cada uno de los siguientes casos: (a) si se termina en la lnea 9 con Commit , (b) si termina en la lnea 9 con Rollback. Utilice el nmero de lnea para la respuesta. 1) Begin; Esta instruccin inicia un proceso. 2) Insert into examen values (08010230, A3BC, I, 80); Inserta un elemento a la tabla examen. 3) Savepoint error; Se crea un punto de seguridad en caso de un error por parte de otra instruccin. 4) Update examen set calificacin = nueva where cvealumno = cve and unidad = 1; Se modifica la calificacin de un alumno en la tabla examen, en la unidad 1. 5) Delete from seguimiento where cvemateria = A3BC; Se borra A3BC de la tabla seguimiento 6) Rollback to error; Regresa al punto de seguridad llamado error, las instrucciones del punto 4 y 5 fueron desechadas. La instruccin del 2 sigue en pie. 7) Insert into seguimiento values (A3BC, 30-11-2009); Se inserta en la tabla seguimiento, un segumiento de nombre A3BC con fecha de 3011-2009 8) Delete from faltante where cvealumno = 08010230 Borra de la tabla faltante al alumno con la clave 08010230. 9) Commit (o Rollback) En caso de el proceso se termine osea commit todos los procesos de transaccin 2,7 y 8 seran llevados a cabo con xito, en caso de no ser asi y se introdusca Rollback todas las instrucciones seran descartadas, el proceso quedara en espera hasta que se ingresen nuevas instrucciones y se finalice el proceso con commit. 4. Dada las siguientes transacciones y considerando que el atributo nombre = Pedro, conteste lo siguiente: a) qu problema se presenta en la TRANSACCIN 1? b) qu problema se presenta en la TRANSACCIN 2?

c) cul es el valor que se obtiene del atributo nombre al final de cada transaccin? TRANSACCIN 1 -- paso 1 Begin; set transaction isolation level serializable; update JUGADOR set nombre = 'Nuevo nombre' where dni='200'; -- paso 3 end; TRANSACCIN 2 paso 2 Begin; set transaction isolation level read committed; select * from JUGADOR where dni= '200'; end;

5. Considere las siguientes instrucciones: CREATE ROLE gestor LOGIN PASSWORD 'xxxx'; CREATE ROLE cajero LOGIN PASSWORD 'yyyy' NOINHERIT; CREATE ROLE supervisor NOINHERIT; CREATE ROLE gerente CREATEROLE; GRANT supervisor to gestor; GRANT supervisor TO cajero; GRANT gerente TO supervisor; GRANT ALL ON jugador TO gerente; GRANT ALL ON equipo TO gerente;

GRANT select, update ON jugador to supervisor; Conteste los incisos: a) Roles de usuario b) Roles de grupo c) Roles que pueden iniciar una sesin de base de datos d) Privilegios de acceso que tiene el rol supervisor e) Privilegios de acceso que tiene el rol gerente f) Privilegios de acceso que tiene el rol gestor g) Privilegios de acceso que tiene el rol cajero h) Rol que puede crear nuevos roles i) Grupos a los que pertenece el rol gestor 6. Elabore las sentencias SQL apropiadas para otorgar los siguientes privilegios a) Otorgar el permiso de insertar y modificar jugadores al usuario ADMIN b) Otorgar todos los permisos sobre la tabla partidos al usuario ADMIN c) Otorgar el permiso de modificar el sueldo de un jugador al usuario ADMIN d) Revocar el permiso de eliminar jugadores al usuario ADMIN e) Revocar todos los permiso sobre la tabla jugador al usuario ADMIN

Potrebbero piacerti anche