You are on page 1of 7

Base de datos II

Ejercicios

Consultas avanzadas

Objetivo: Utilizar los diferentes comandos SQL para insertar, modificar, eliminar y consultar
registros de una base de datos.

a) Ejecute SQL Server Management Studio 2008 y conectar el motor de base de datos
b) Abra el archivo “SQL BD LAPAPE.sql”, el cual contiene el script(código)
c) Una vez abierto el archivo, podrá ver el código necesario para crear una base de datos
para una papelería con 2 tablas (Marcas y Productos), también podrá ver muchas líneas
con la sentencia INSERT, las cuales insertan los registros con los que hará las pruebas.
d) El Script debe ser ejecutado, no debe seleccionar nada, simplemente hacer clic en el
comando “! Ejecutar”, para la construcción de la base de datos no debe haber errores.
e) Verifique en el explorador de objetos que la base de datos “LAPAPE” exista y que se
crearon las dos tablas con sus respectivos registros.
f) Crear un nuevo archivo de consulta, haga clic en el botón <Nueva consulta> de la barra de
herramientas.

Verificar que esté seleccionada la base de datos LAPAPE para el nuevo archivo de consulta.



Puede agregar los archivos que ocupe para realizar los siguientes ejercicios:

En este documento de Word debe escribir los códigos ejecutados en SQL Server, escriba
todas las respuestas a los cuestionamientos, sus comentarios y soluciones a los problemas
planteados. Al terminar todos los ejercicios debe entregarlo, guarde el documento con su
nombre.

1. Inserción de registros en la tabla MARCAS:

1.1 Insertar una nueva marca, escriba el siguiente código y
ejecute.



¿Por qué al insertar un nuevo registo no se especifica el valor del
atributo CLAVE?

Consulte los datos “seleccionar las primeras 1000 filas”, observe
que el registro que acaba de insertar tiene la clave 149, ¿Por qué?

1.2 Ahora inserte otro registro, pero esta vez si escribirá la
clave, la cual será 150 para seguir con los valores consecutivos
y únicos, ejecute el siguiente código y explique el resultado
observado.



Ejecute el comando varias veces y observe el mensaje mostrado.


1.3 Ahora trate de insertar un registro más, nuevamente sin
colocar la clave.


Ejecute el comando y consulte ls registros, ¿por qué cree que este
registro tiene la clave que observó?

¿Por qué no se puede insertar un registo con una marca que ya
existe?

1.4 Para probar que no se registran los valores de marca
duplicados, ejecute la siguiente línea, observe que la primera
vez que lo ejecutó, si se agrega, pero si intenta una vez más ya
no podrá hacerlo, intente agregarlo cinco veces más.



1.5 Esta vez trate de registrar la marca “PAPELITOS”, pero usando
la siguiente línea:


Consulte las filas, observe la clave del nuevo registro y explique
porque cree que tenga esa clave y no un valor consecutivo.




2. Agrega registros en la tabla PRODUCTOS:

2.1 Ejecutar la siguiente línea de código:


¿Qué es lo que causa que no se pueda ingresar el registro?


2.2 Si se intenta de esta manera:



¿Por qué no se agrega el registro?


2.3 Si ejecuta la siguiente línea, ¿Qué observa en los valores de
los campos?

Observe que se omiten dos valores en el código.



2.4 Ahora intente nuevamente agregar el registro utilizando la
siguiente línea:



Esta vez si se agrega, ¿Por qué?

Si observa, el comando lo ejecutó con 4 de 6 argumentos (campos) y
el mismo número de valores, ¿Por qué se agrega el registro si hacen
falta esos 2 valores?

Consulte los valores del registro que se agregó.

2.5 Escriba y ejecute la siguiente línea de código:



En esta ocación, ¿Por qué no se agrega el registro?, observe que
tiene la misma cantidad de datos que el registro que se agregó
anteriormente, ningún dato se duplica, entonces ¿Qué impide la
insersión?






3. Escribir las líneas de código de SQL para Actualizar (UPDATE)
siguiendo los siguientes criterios:

Para verificar si las actualizaciones de valores se realizan de
forma efectiva, debe hacer dos consultas “antes y después” de
ejecutar el comando para actualizar.

Por ejemplo:

Si se quiere cambiar la marca “BBEROL” para corregir el error, se
debe hacer lo siguiente:

Primero verifique que en la tabla de marcas exista un registro con
la marca “BBEROL” y esto se hace ejecutando el siguiente comando:



Si al ejecutar la consulta observa un registro con ese valor,
significa que si existe esa marca.

Ahora, para hacer el cambio debe ejecutar un comando como el
siguiente:



Si observa, después de SET se asigna el nuevo valor al campo MARCA
que en este caso se desea corregir el error de la doble “B” y se
pone el criterio, en este caso se desea cambiar sólo los registros
que tengan el valor „BBEROL‟.

Una vez realizada la actualización debe proceder a verificar el
cambio, para esto ejecute otra consulta, esta vez el criterio es el
valor corregido.

Para asegurarse de que ya no existe la marca „BBEROL‟, puede
ejecutar la consulta como sigue:



Nota: Ejecutar una línea a la vez.

Realizar las consultas también pueden ayudar a conocer por ejemplo
la clave de una marca, esto es necesario por si el cambio se
realiza a todos los productos de una cierta marca, por lo tanto, el
criterio debe ser que la clave de la marca en la tabla PRODUCTOS
corresponda al valor de la clave en la tabla MARCAS.

Por ejemplo, si sabe que la marca „ESTRELLA‟ tiene la clave 44, si
quiere modificar, consultar o incluso eliminar los registros de
productos de esa marca, uno de los criterios a utilizar debe ser
WHERE MARCA = 44



Esta consulta debe mostrar los registros de la tabla PRODUCTOS en
los cuales la marca es „ESTRELLA‟


3.1 La marca „VINCI‟ dejó de llamarse así, ahora es conocida como
„AGUITA‟, escriba la línea con el comando que se debe usar para
cambiar el nombre de esa marca en la BD.

3.2 Ahora todos los productos de la marca „LEXMARK‟, son
distribuidos por la marca „BROTHER‟, escriba el código necesario
para realizar dicho cambio.

3.3 Todos los productos de las marcas „ACME‟, „BEROL‟ y „GIOSER‟,
por causa de la inflación incrementaron sus precios un 8%,
escriba el script que debe ejecutarse para realizar dicho
cambio.

Recuerde que si tiene que aumentar un porcentaje a un valor, lo
más sencillo es hacerlo de la siguiente manera:

Valor = Valor * 1.20 = Valor * (1 + 0.2)

Esto es si queremos aumentar un 20% al valor actual

Si quiere disminuir el valor, entonces lo hará de la siguiente
manera:

Valor = Valor * 0.95 = Valor * (1 – 0.05)

Esto quiere decir que se disminuye el valor en un 5%

3.4 Una nueva ley establece que todos los productos de
papelería que tengan un precio actual mayor o igual a $60.00
disminuyan un 15%, escriba y ejecute el código que hace esta
operación.

3.5 Después de hacer todos los cambios anteriores, se ha dejado
de lado algo muy importante, al cambiar los precios, el valor
total del inventario también debe cambiar, por ejemplo si tiene
20 productos con un precio de $10.50, el valor total en el
inventario de ese producto es de $210.00, pero si hace un cambio
en el precio, esto debe afectar también en el total, por
ejemplo, si el producto ahora tiene un precio de $12.00, debe
actualizar el total a $240.00.

Escriba y ejecute el código necesario para realizar el cambio del
valor total.

Recuerde que se trata de una simple multiplicación:

TOTAL = CANTIDAD * PRRECIO

4. Comando DELETE. Eliminar registros de la base de datos LAPAPE
siguiendo los siguientes criterios:
Nota: Al igual que los ejercicios del comando UPDATE, es necesario
que verifique los cambios haciendo una consulta de datos “antes y
después” de eliminar los registros.

4.1 Recientemente las marcas „MITA‟ y „ESCO‟ desaparecieron del
mercado y los productos de estas marcas se han agotado, por tal
motivo, es necesario eliminar los registros de la tabla de
MARCAS. Escriba y ejecute el código necesario para realizar esta
operación.
Explique porque no se pueden eliminar los registros, encuentre
una solución y escríbala.

4.2 Después de haber hecho una revisión del inventario, se ha
decidido que todos los productos cuya cantidad en existencia es
igual a 0 “cero” se eliminen de la base de datos. Escriba y
ejecute el comendo necesario para realizar esta tarea.

4.3 La papelería está creciendo, ahora es papelería y librería,
se ha decidido tener una base de datos para cada una, esto
quiere decir que de la base de datos de la papelería se deben
eliminar los registros de los „DICCIONARIOS‟ de todas las
marcas, pues ahora estos los manejaran en la BD de la librería.
Escriba el script que se debe ejecutar para eliminar dichos
registros.

4.4 Escriba y ejecute el código necesario para eliminar los
registros de productos que se describen como „TINTA _-_ COLOR‟
de cualquier marca.

4.5 Todos los productos de la marca „HP‟ que tengan un precio
entre $50.00 y $100.00 se deben eliminar de la base de datos.
Escriba el código para eliminar los registros, ejecútelos y no
olvide comprobar que dichos registros han sido eliminados.









5. Consultas. Escriba el código para realizar las siguientes consultas
de la BD “LAPAPE”:

5.1 Si se desea hacer una consulta que contenga la CLAVE y el
nombre de la marca, pero solo de las marcas que comienzan con la
letra “F” o la letra “R”, ¿cuál es el código que se debe
ejecutar para este caso?

Si ahora se le pide que enliste todas las marcas cuya clave sea
menor o igual a 20, ¿Qué código debe emplearse?

¿Cómo será la consulta que se debe ejecutar si se le pide
mostrar todos los registros mostrados en las dos consultas
anteriores, pero esta vez usando una sola línea de código?

5.2 Escriba una consulta que permita mostrar los registros de los
productos (ARTICULO,PRECIO,CANTIDAD) pero solos los productos
que tienen una existencia mayor a 20 y menor a 50

5.3 ¿Cuál es la consulta que se debe emplear si se le pide que
muestre (ARTICULO, CANTIDAD) de todos los BOLIGRAFOS que tienen
un precio menor o igual a $70.00?

5.4 Escriba una consulta en la que se muestre el nombre del
producto y el precio, pero solo si el valor total en el
inventario rebasa los $3,000.00.

5.5 Escriba una consulta que muestre todos los productos
(CLAVE,ARTICULO,PRECIO) que la clave esté entre 700 y 1800, que
tengan un precio menor a $300.00 y que no sean de la marca
PELIKAN.