Bienvenidos

Objetivos Generales: Con este Material de Microsoft SQL Server Gota a Gota en las Bases de Datos Relacionales pretendo dejar claro los conceptos de su funcionamiento y estructura, consiguiendo los siguientes objetivos:
 Aclarar el funcionamiento en todos los aspectos de las Bases de datos relacionales y la Gestión de las mismas
 Comprender los lenguajes que conforman las Bases de Datos (DDL, DML, DCL)
Objetivos Específicos: Especificando un poco más los objetivos de este material, podemos declarar que el alumno conseguirá entender el funcionamiento y estructura para saber como aprovechar todas las capacidades de este tipo de bases de datos en la creación de programas informáticos de cualquier nivel aprender la utilización de las bases de datos de SQL SERVER de cara a la programación.
Estudiar el funcionamiento de las mismas, para una mejor base de cara a la utilización de sentencias SQL y de bases de datos de mayor complejidad.

domingo, 19 de febrero de 2012

Ejercicios a desarrollar del manual de trabajo del Modulo Gestion y Consulta de Datos con SQL

PARTE I, TEMA 1
EL LENGUAJE DE GESTIÓN DE BASE DE DATOS
OBLIGATORIO

FECHA DE ENVIÓ: SÁBADO 03 DE MARZO, 2012
SI DESEAN ENVIARLO ANTES, PUEDEN HACERLO
ENTREGAR TAL CUAL ESTÁN FORMADOS LOS GRUPOS

NOTA: el objetivo es familiarizarse con una base de datos relacional
observando la estructura de las tablas y las relaciones entre ellas.
Estos ejercicios deben realizarse estudiando el contenido de las
tablas y la forma de relacionarse entre ellas

DEBEN CREAR LAS SENTENCIAS SELECT, PARA PODER DARSE CUENTA DE CUAL ES LA RESPUESTA CORRECTA, EN CASO DE QUE LAS NECESITE.
EN CASO DE QUE SEA DETERMINAR SI ES FALSO O VERDADERO UNA PREGUNTA, NO ES NECESARIO LA SENTENCIA, PARA QUE NO SE CONFUNDAN

1.- El empleado número 7499 pertenece al departamento número:
a. 30
b. 20
c. 40

2.- El DIRECTOR del empleado 7844 es el empleado número:
a. 7698
b. 7839
c. 7782

3.- El empleado REY es el director de:
a. MARTINEZ
b. GARRIDO
c. MARTINEZ Y GARRIDO

4.- Al departamento de INVESTIGACION pertenecen los empleados:
a. ALONSO Y LOPEZ
b. GIL Y JIMENEZ
c. GARRIDO Y MARTINEZ

5.- El cliente DISTRIBUCIONES GOMEZ pidió cuatro unidades del producto
SILLA DIRECTOR MOD. BUFALO el 7 de enero de 2000:
a. Verdadero
b. Falso, los datos son incorrectos
c. Los datos facilitados son insuficientes para verificar laafirmación

6.- El cliente INDUSTRIAS LACTEAS S.A. ha realizado:
a. Un pedido
b. Dos pedidos
c. Tres pedidos

7.- Sql es un Sistema Gestor de Bases de Datos:
a. Jerárquico
b. En red
c. Relacional

8.- Según el modelo relacional:
a. Cada fila de una tabla representa un atributo o característica
b. Cada columna de una tabla representa un atributo o característica
c. Cada entidad representa un atributo o característica

9.- SQL es:
a. Un lenguaje estructurado de consulta
b. Un lenguaje procedimental de tercera generación
c. Ambas son correctas

10.- El lenguaje SQL permite:
a. Manipular datos (consultar, actualizar, etcétera)
b. Definir objetos de la base de datos (Crear, modificar y eliminar objetos de la basede datos)
c. Ambas son correctas


PARTE I, TEMA 2 ELEMENTOS DEL LENGUAJE
OBLIGATORIO

Elegir la respuesta correcta de las siguientes cuestiones:
1.- Cuál de los siguientes identificadores no es correcto:
a. xx
b. 2x
c. x2

2.- VARCHAR es:
a. Un comando
b. Un operador
c. Un tipo de dato

3.- Para comparar un dato alfanumérico con un patrón de comparación que
contiene caracteres comodines utilizaremos el operador:
a. IN
b. LIKE
c. =

4.- Siendo el valor de A verdadero (true) y el de B falso (false), el
resultado de la expresión A AND B será:
a. Verdadero (true)
b. Falso (false)
c. Nulo (null)

5.-Siendo el valor de A verdadero (true) y el de B nulo (null), el
resultado de la expresión A AND B será:
a. Verdadero (true)
b. Falso (false)
c. Nulo (null)

6.- Para redondear a dos decimales un número (num) utilizaremos la función:
a. POWER(num,2)
b. TRUNC(num,2)
c. ROUND(num,2)

7.- Para obtener la longitud de una cadena (cad) utilizaremos la función:
a. LPAD(cad)
b. LOWER(cad)
c. LEN(cad)

8.- Para calcular en número de días entre dos fechas (fecha1 y fecha2)
utilizaremos la función:
a. DATESUBB(fecha1, fecha2)
b. DATEDIFF( fecha1,fecha2)
c. DUBDATE( fecha1,fecha2)

9.- Para sumar las columnas salario (no puede contener nulos) y comision
(si puede contener nulos) necesitaremos la expresión:
a. salario + comision
b. ISNULL (salario,0) + comision
c. salario + ISNULL(comision,0)

10.- Una condición es:
a. Una variable
b. Un conjunto de datos, operadores y funciones)
c. Un conjunto de datos, operadores y funciones cuyo resultado esverdadero
o falso

BLOQUE I (TEMAS 1, 2)
GESTION DE DATOS CON SQL
"EVALUACIÓN I"

Marca la casilla con la respuesta correcta
1. El lenguaje SQL permite:
Controlar el acceso a la información
Crear objetos en una base de datos
Recuperar la información almacenada en la base de datos
Todas las anteriores
2. En el modelo relacional la restricción que se utiliza para relacionar
dos tablas es:
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
3. Siendo el valor de A true (verdadero) y el de B null, el resultado de la
expresión A AND B será:
true
false
null
ninguna de los anteriores
4. Indicar cuál de los siguientes identificadores es incorrecto:
b2-ax
ax_b2
axb2
xa2b
5. Indicar cuál de las siguientes expresiones es la correcta para comprobar
si el valor de COMISION es nulo (carece de valor):
COMISION IS NULL
COMISION = 0
COMISION = NULL
Cualquiera de los anteriores
6. Para comprobar si un nombre empieza por 'A', ¿qué expresión sería la
correcta?:

nombre='A%'
Nombre LIKE 'A%'
Nombre LIKE 'A_'
Nombre LIKE '%A'
7. Para mostrar los empleados del departamento 10 y del 30 qué clausula
WHERE sería la adecuada:

Dep_no=10 AND dep_no=30
Dep_no=10 OR dep_no=30
Dep_no BETWEEN 10 AND 30
Dep_no IN (10,20,30)
8. Para buscar un salario entre 1500 y 3500, ambos inclusives:
Salario=1500 OR salario=3500
Salario>1500 AND salario<3500 Salario>1500 OR salario<3500
Salario BETWEEN 1500 AND 3500
9. Para crear una tabla se necesita:
Un nombre de tabla
Las definiciones de las columnas
El nombre de la tabla y las definiciones de las columnas
El nombre de la tabla y sus restricciones
10. Para indicar que una columna va a ser clave principal:
NOT NULL
FOREIGN KEY
CHECK
PRIMARY KEY
11. Para indicar que una columna va a ser clave ajena se necesitan las
cláusulas:
FOREIGN KEY
FOREIGN KEY con REFERENCES
FOREIGN KEY con REFERENCES y ON DELETE CASCADE
FOREIGN KEY y PRIMARY KEY

12. La cláusula WHERE:
Selecciona las filas seleccionadas que cumplan una condición
Establece un criterio de ordenación
Indica sobre qué tabla se está realizando la consulta
Modifica las filas de una tabla
13. Para ordenar de mayor a menor por salario y, a igual salario,
alfabéticamente por apellido:
ORDER BY salario,apellido
ORDER BY apellido,salario DESC
ORDER BY salario DESC,apellido
ORDER BY salario DESC,apellido DESC
14. Para visualizar los tres empleados que más salario ganan:
SELECT TOP 3 * FROM empleados ORDER BY salario;
SELECT TOP 3 * FROM empleados ORDER BY salario DESC;
SELECT TOP 3 * FROM empleados ORDER BY salario;
15. Una composición o combinación (JOIN) consiste en:
Obtener filas de más de una tabla
Obtener todas las filas resultantes de multiplicar tablas
Aplicar una condición de selección a las filas resultantes de multiplicar
tablas
Obtener el producto cartesiano de tablas
16. Para obtener los pedidos con nombres de cliente y de producto:
SELECT pedido_no,nombre,descripción,unidades FROM
pedidos,productos,clientes;

SELECT pedido_no,nombre,descripción,unidades FROM
pedidos,productos,clientes WHERE cliente_no=cliente_no AND
producto_no=producto_no;

SELECT pedido_no,nombre,descripción,unidades FROM pedidos p,productos
pr,clientes c WHERE p.cliente_no=c.cliente_no AND
p.producto_no=pr.producto_no;

SELECT pedido_no,nombre,descripción,unidades FROM pedidos p,productos
pr,clientes c WHERE p.cliente_no=c.cliente_no AND
p.producto_no=pr.producto_no AND p.pedido=pr.pedido_no;

17. Para listar los clientes con sus pedidos, incluyendo aquellos que no tengan ningún pedido:
SELECT c.cliente_no,nombre,pedido_no FROM clientes c RIGHT JOIN pedidos p
ON c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c LEFT JOIN pedidos p
ON c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c JOIN pedidos p ON
c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c,pedidos p WHERE
c.cliente_no=p.cliente_no;

18. Para crear una tabla a partir de otra ya creada:
No se puede
Hay que crearla idéntica
Se puede crear a partir de una consulta sobre la tabla ya creada
Se puede hacer usando dos sentencias CREATE concatenadas

No hay comentarios:

Publicar un comentario