Sunteți pe pagina 1din 9

PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO

FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INFORMÁTICA

Tarea 3

DAVID PATRICIO ERAZO MARTINEZ


MICHAEL ANTONY FERNANDEZ ORTEGA

INF – 2243
JUNIO, 2017
Lista

Lista figuras ................................................................................................................................ ii


1 Ejercicio 1 ............................................................................................................................ 1
2 Ejercicio 2 ............................................................................................................................ 2
3 Ejercicio 3 ............................................................................................................................ 3
4 Ejercicio 5 ............................................................................................................................ 4
5 Ejercicio 6 ............................................................................................................................ 5
6 Ejercicio 7 ............................................................................................................................ 5
7 Ejercicio 8 ............................................................................................................................ 6

i
Lista figuras

Figura 2-1 Código Ejercicio 2 ..................................................................................................... 2


Figura 2-2 Datos de salida Ejercicio 2......................................................................................... 2
Figura 3-1 Código de consulta Ejercicio 3 .................................................................................. 3
Figura 3-2 Datos de salida Ejercicio 3......................................................................................... 3
Figura 7-1 Código Ejercicio 8 ..................................................................................................... 6

ii
1 Ejercicio 1

1. Explica la consecuencias que tiene sobre los datos almacenados en la base de datos la
ejecución de la sentencia de borrado DELETE FROM productos WHERE codpro = 'VJ1220';
 Debes responder teniendo en cuenta los siguientes casos, indicando claramente qué
filas de qué tablas se verán afectadas, de qué modo y por qué:

a. En la base de datos no hay ninguna factura en la que se haya comprado


dicho producto.
b. En la base de datos hay 27 facturas en las que se ha comprado dicho
producto.

RESPUESTA:
 CASO 1: En el caso que no haya factura con la compra eliminada, esta no afectara a
ninguna otra fila de la tabla, dado que en ella solo se almacena el código de los
productos vendidos.

 CASO 2: En este caso al eliminar un producto, afectara a la ‘lineas_fac’ ya que en


este se almacena el código del producto comprado, en el caso de ser eliminado, al
consultar el detalle del producto adquirido esta nos debería arrojar un error dado
que no existiría el código del producto en la fila ‘codart’ de ‘líneas_fac’.

1
2 Ejercicio 2

Se quieren hacer etiquetas para enviar una carta a los clientes que a lo largo del año 2016 han
comprado el producto L76424 avisándoles de que lo vamos a descatalogar.

RESPUESTA:

Figura 2-1 Código Ejercicio 2

Para poder unir dos atributos y mostrarlos en una columna, se dio uso de la función CONCAT
y para transformar en mayúscula el nombre de comuna se utilizó la función UPPER.

Figura 2-2 Datos de salida Ejercicio 2

2
3 Ejercicio 3

El jefe se ha planteado si convendría mandar la carta también a los clientes que compraron el
producto L76424 en 2015 pero no en 2016, así que quiere saber cuántos clientes son para valorar
si merece la pena. Escribe una sentencia SELECT que dé como resultado el número de clientes
que en 2015 compraron el producto L76424 y en 2016 no lo compraron.

RESPUESTA:

Figura 3-1 Código de consulta Ejercicio 3

En primera instancia se realizó un filtro con ‘where’, en cual seleccionaba los clientes que han
comprado el artículo con código ‘L76424’ realizada en el año 2015. Posteriormente se realizó
una su subconsulta para poder filtrar las compras realizadas en el año 2016, utilizando el
código de los clientes antes filtrado.

Figura 3-2 Datos de salida Ejercicio 3

3
4 Ejercicio 5

Busca una clave alternativa para cada una de las siguientes tablas teniendo en cuenta las
columnas que las forman (no incluyas nuevas columnas). Si para alguna tabla no encuentras
una clave alternativa, explica el motivo.
a. CLIENTES:
b. COMUNAS:
c. LINEAS_FAC:

RESPUESTA:
 Clientes: No se encontró clave candidata ya que, si existe dos personas con un mismo
nombre viviendo en una misma casa, se tendrá que el código postal, comuna y el
nombre va a ser el mismo para los dos y la base de datos almacenara un dato
duplicado, en el caso que el código cliente no se usara.

 Comunas: Ya que el nombre de la comuna se puede repetir en alguna otra región, por
sí sola no podría ser una clave candidata, pero en cambio sí se concatena con el código
de la comuna estas podrían usarse como una clave candidata.

 Lineas_Fac: No se encontró clave candidata, puede que haya clientes que compren la
misma cantidad de un producto, en ese caso tendrán, en común el código del artículo,
precio, descuento por cantidad y línea, por lo que se tendrá valores duplicados.

4
5 Ejercicio 6

Considerando la tabla VENDORES: ¿Qué significa el nulo que hay en la columna codjefe?

RESPUESTA:
Puede existir casos que hayan mandos más altos dentro de una empresa en este caso una
tienda, por lo que estos no tendrán jefe, es por ello que es conveniente que el código jefe lleve
null.

6 Ejercicio 7

Los vendedores 5 y 455 van a abandonar la empresa, ¿podemos eliminar sus filas de la tabla
VENDEDORES sin violar ninguna regla de integridad? Justifica la respuesta. En caso de que
el borrado viole alguna regla de integridad ¿qué acciones compensatorias se podrían realizar
para llevar a cabo dicho borrado sin violar la integridad?

RESPUESTA:
Al eliminar un vendedor este dejara un valor null en el código vendedor, y dado que código
vendedor es parte de la clave foránea de Facturas, se estará violando la regla de integridad
referencial, ya que la clave foránea que esta almacenada en Facturas es distinto de null.

5
7 Ejercicio 8

¿Qué debemos escribir en el SELECT de la siguiente sentencia para ver todos los datos de la
factura pero sin ver los nulos en iva y dto, sino ver ceros en su lugar?
SELECT ...
FROM facturas;

RESPUESTA:
Para cambiar el valor de null a 0 al mostrar se utiliza de la función ifnull(dato,0), la figura
muestra el código implementado para mostrar los datos de la tabla facturas, colocando un 0 en
los valores nulos de iva y dto.

Figura 7-1 Código Ejercicio 8

S-ar putea să vă placă și