21-12-2016, 17:33
Buenas! Si alguno tiene una foto o algo le pido que la publique, yo escribo lo que me acuerdo
V o F:
1)Si una función de hash tiene poca dispersión es más probable que haya colisiones
2)En una vista nunca se pueden realizar inserts
Teoría:
Mencione elementos del motor de base de datos para la seguridad
Mencione que utilidad tiene saber el plan de ejecución de una consulta
Práctica:
3a) Te daban una query en pl/sql, había que pasarla a ansi sin usar el outer join.
Select nombre, importe, nvl(cli_id, "sin cliente")
From cliente c, factura f
where f.cli_id(+) = c.cli_id
and f.anio > (sysdate - 365)
Aclaro que el (+) al lado del f.cli_id reprensenta un left join, osea lo que hacía esa query era traer todas las facturas, tengan clientes o no, y si no tenían, mostraba "sin cliente"
3b) Te daban una query y era un multiple choice a ver que pasaba.
La solicitado por la query era traer las facturas del ultima año que no estén anuladas (Aclaraba que una factura anulada era aquella que no tenía nada en f.cli_id)
Select f.* from Facturas, clientes where f.cli_id = c.cli_id and f.anio > (sysdate - 365) and f.cli_id is not null
a)Se ejecuta y trae lo pedido
b)Se ejecuta y no trae lo pedido
c)Se ejecuta pero posee un filtro redundante
d)Se ejecuta pero posee un filtro redundante y no trae lo pedido
e)No se ejecuta
(Las opciones no estaban en ese orden ni eran tal cual, pero para que tengan una idea)
Respuestas:
1) V. Bastante evidente.
2) F. También bastante evidente. Las vistas te dejan insertar siempre y cuando tengas permisos y cumplas las constraints de las tablas originales.
(En el 90% de los casos que ponen NUNCA, SIEMPRE son falsas )
La teoría nada loco, te podés explayar bastante en ambos temas.
La práctica.
El 3a) lo resolví con un union all, la parte de arriba traia todos los que tenian clientes y la de abajo todos los sin clientes. Bastante pavo también
3b) La respuesta era la c). El filtro is not null era redundante porque si ya habias joineado te evitas registros nulos ahí por c.cli_id es pk de cliente.
Me saqué 9 así que los V o F deben estar ok porque sino tendría máximo 8 (restan los V o F). Probablemente algún chamuyo de la teoría no les gustó o algún error de sintaxis en el 3a, pero por ahí andan las respuestas gente.
Saludos y buen final de año!
V o F:
1)Si una función de hash tiene poca dispersión es más probable que haya colisiones
2)En una vista nunca se pueden realizar inserts
Teoría:
Mencione elementos del motor de base de datos para la seguridad
Mencione que utilidad tiene saber el plan de ejecución de una consulta
Práctica:
3a) Te daban una query en pl/sql, había que pasarla a ansi sin usar el outer join.
Select nombre, importe, nvl(cli_id, "sin cliente")
From cliente c, factura f
where f.cli_id(+) = c.cli_id
and f.anio > (sysdate - 365)
Aclaro que el (+) al lado del f.cli_id reprensenta un left join, osea lo que hacía esa query era traer todas las facturas, tengan clientes o no, y si no tenían, mostraba "sin cliente"
3b) Te daban una query y era un multiple choice a ver que pasaba.
La solicitado por la query era traer las facturas del ultima año que no estén anuladas (Aclaraba que una factura anulada era aquella que no tenía nada en f.cli_id)
Select f.* from Facturas, clientes where f.cli_id = c.cli_id and f.anio > (sysdate - 365) and f.cli_id is not null
a)Se ejecuta y trae lo pedido
b)Se ejecuta y no trae lo pedido
c)Se ejecuta pero posee un filtro redundante
d)Se ejecuta pero posee un filtro redundante y no trae lo pedido
e)No se ejecuta
(Las opciones no estaban en ese orden ni eran tal cual, pero para que tengan una idea)
Respuestas:
1) V. Bastante evidente.
2) F. También bastante evidente. Las vistas te dejan insertar siempre y cuando tengas permisos y cumplas las constraints de las tablas originales.
(En el 90% de los casos que ponen NUNCA, SIEMPRE son falsas )
La teoría nada loco, te podés explayar bastante en ambos temas.
La práctica.
El 3a) lo resolví con un union all, la parte de arriba traia todos los que tenian clientes y la de abajo todos los sin clientes. Bastante pavo también
3b) La respuesta era la c). El filtro is not null era redundante porque si ya habias joineado te evitas registros nulos ahí por c.cli_id es pk de cliente.
Me saqué 9 así que los V o F deben estar ok porque sino tendría máximo 8 (restan los V o F). Probablemente algún chamuyo de la teoría no les gustó o algún error de sintaxis en el 3a, pero por ahí andan las respuestas gente.
Saludos y buen final de año!