Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Buenas practicas SQL

Total questions: 16

Worksheet time: 9mins

Name
Class
Date
1.

¿Cuál es el FROM más óptimo? teniendo en cuenta:


Tabla_A = 120.000 Registros

Tabla_B = 50.000 Registros

Tabla_C = 80.000 Registros

a)

FROM TABLA_A, TABLA_B, TABLA_C

b)

FROM TABLA_B, TABLA_C, TABLA_A

c)

FROM TABLA_C, TABLA_A, TABLA_B

d)

FROM TABLA_C, TABLA_B, TABLA_A

2.

¿Es correcto?:


SELECT DISTINCT d.dept_id, d.dept_desc

FROM dept d

WHERE d.dept_id LIKE ‘%100%’;


Siendo d.dept_id un índice

a)

Si, es correcta pero no es optima

b)

Si, es correcta y es óptima porque filtra gran cantidad de registros

c)

No es correcta

3.

¿Cuál de los siguientes WHERE es mas optimo?:

a)

WHERE e.nombre_empleado LIKE ‘%Juan%’

AND d.dept_Ciudad = ‘Medellin’

AND t.ano = 2019;

b)

WHERE e.nombre_empleado LIKE ‘%Juan’

AND d.dept_Ciudad = ‘Medellin’

AND t.ano = 2019;

c)

WHERE d.dept_Ciudad = ‘Medellin’

AND t.ano = 2019

AND e.nombre_empleado LIKE ‘Juan%’;

d)

WHERE d.dept_Ciudad = ‘Medellin’

AND t.ano = 2019

AND e.nombre_empleado LIKE ‘%Juan’;

4.

¿Cuál de las siguientes consultas es más eficiente?

a)

SELECT d.dept_id, d.dept

FROM dept d

WHERE EXISTS ( SELECT e.id_dept, e.dept FROM employee e WHERE e. id_dept = d.dept_id);

b)

SELECT DISTINCT d.dept_id, d.dept

FROM dept d, employee e

WHERE d.dept_id = e.id_dept;

5.

¿En cuál caso es preferible usar SELECT * FROM?

a)

Cuando tengo muchas columnas en la tabla

b)

Cuando tengo pocas columnas en la tabla

c)

Cuando consulto una tabla principal (Catálogo)

d)

Ninguna de las anteriores

6.

Siempre se recomienda usar Indices, incluso para tablas con pocos registros.

a)

Verdadero

b)

Falso

7.

¿Qué indica un Skew cercano a 0?

a)

Datos desbalanceados

b)

Valores distribuidos de forma pareja

c)

AMPs sin registros

8.

¿Para cuales casos son aplicadas las estadísticas?

a)

Índice primario de la tabla

b)

Campos que referencian otras tablas

c)

Campos de tipo descripción

d)

Todas las anteriores

9.

¿Cuál de los siguientes es mejor candidato para clave primaria?

a)

Codigo_Ciudad INTEGER

b)

Id_Ciudad VARCHAR(8)

c)

Ciudad_Descripcion VARCHAR(50)

d)

Codigo_Unico PRIMARY(4)

10.

¿Cuál sentencia sirve para evitar bloqueo en las tablas?

a)

LOCKING ROW FOR ACCESS

b)

NO USE ANYWHERE

c)

BLOQUEO! BLOQUEO! BLOQUEO!

d)

Ninguna de las anteriores

11.

¿En cuales casos se recomienda el uso de COMPRESS?

a)

En tablas con mucha cantidad de registros diferentes

b)

En tablas con poca cantidad de registros

c)

En campos con poca cantidad de registros

d)

En campos con mucha cantidad de registros iguales

12.

¿Cuál de las siguientes consultas es óptima?

a)

SELECT A.Id1, B.Id2, C.Id2

FROM A, B, C

WHERE A.Id1 = B.Id2

AND B.Id1 = C.Id2

b)

SELECT A.Id1, B.Id2, C.Id2

FROM A

JOIN B ON (A.Id1 = B.Id2)

JOIN C ON (B.Id1 = C.Id2)

13.

El orden de rendimiento de los operadores de mayor a menor es:

a)

NOT LIKE, IN, LIKE, <, >, =

b)

= , >, <, LIKE, IN, NOT LIKE

14.

¿Cuál de las siguientes sentencias reemplazaría con mayor eficiencia a IN?

a)

LIKE ‘%%’

b)

NOT IN

c)

BETWEEN

d)

Todas las anteriores

15.

Una manera adecuada de mejorar el rendimiento de la siguiente consulta:


SELECT MIN(Salary) FROM Employees

WHERE EmpID IN ( SELECT TOP 2 EmpID FROM Employees ORDER BY Salary DESC


Seria:


SELECT MIN(Salary) FROM ( SELECT TOP 2 Salary FROM Employees ORDER BY Salary DESC ) AS A

a)

Falso

b)

Verdadero

16.

¿Cuál estrategia usar para optimizar una consulta?

a)

A. Asignar alias a las tablas

b)

B. No usar SELECT *

c)

C. Evitar usar funciones propietarias del RDBMS

d)

D. Todas las anteriores

e)

E. Solo la A y la B son correctas