Está en la página 1de 5

Lenguaje de control de datos y funciones en SQL

Andrés Fuenzalida Leal


Fundamentos de Bases de Datos
Instituto IACC
30 de Julio de 2018
Fase I: Revise el siguiente caso de estudio y responda a los requerimientos:

El Instituto Profesional “Estudio”, recientemente ha implementado un sistema de tickets para


llevar registro y seguimiento de las solicitudes que hacen los estudiantes al Departamento de
Atención al Estudiante (DAE). Dentro del departamento, existe un director, dos Supervisores y
“n” Ejecutivos de Atención al Estudiante. El sistema recién implementado no cuenta con los
perfiles de seguridad necesarios, por lo que cualquier colaborador del departamento puede
realizar lo que desee con la base de datos.

Usted como conocedor del área debe elaborar un informe en el cual exponga los comandos de
SQL que podrían servir para el caso, además de esbozar, de acuerdo a los cargos que se tienen
en el departamento, cómo deberían ser las instrucciones que otorguen o retiren ciertos
permisos sobre la base de datos. Asuma que se tienen las siguientes tablas: Estudiantes
Colaboradores, Tickets, Motivos_Contacto. Usted puede asumir los registros y campos que
tengan cada una de las tablas.

Para la seguridad debemos asignar atributos para que los perfiles puedan manejar los datos
estrictamente necesarios y de esta manera evitar que se produzca un mal uso de la información,
para lo anterior utilizaremos los comandos DCL, los cuales nos permiten realizar lo solicitado.
Director: este usuario tendrá acceso total a las tablas y podrá entregar permisos a otros
usuarios en caso de que se requiera.
o Grant all privileges on Estudiantes TO Director whit grant option;
o Grant all privileges on Colaboradores TO Director whit grant option;
o Grant all privileges on Tickets TO Director whit grant option;
o Grant all privileges on Motivo_Contacto TO Director whit grant option;
Supervisores: este tipo de usuario puede accesar a las tablas correspondientes a
Motivo_Consulta, Tickets y Estudiantes.
o Grant all privileges on Estudiantes to S1, S2;
o Grant all privileges on Tickets to S1, S2;
o Grant all privileges on Motivo_Contacto to S1, S2;
Ejecutivos: ellos serán la primera línea en este proceso de creaciones de tickets, por ende,
tendrán acceso a los siguientes permisos para acceder a las tablas y poder realizar
modificaciones.
o Grant select on Estudiantes to E1, E2, E3, E4;
o Grant select insert on Motivo_Contacto to E1, E2, E3, E4;
o Grant select update, insert on tickets to E1,E2,E3,E4;

En caso de requerir modificar algún permiso, revertir se deberá aplicar el comando correspondiente
para la acción (Rollback – Revoke)
Fase II: Se tiene la siguiente tabla que registra para una librería el código del autor, el código
del libro, nombre del libro, código de la editorial, precio y porcentaje de descuento:

A partir de las funciones abordadas durante la semana de estudio, entregue las siguientes
consultas en SQL:

1. Liste la cantidad de libros que tiene la librería actualmente.

SELECT COUNT(*) AS Cant_Libros from Libros

2. Indique el promedio de precios de los libros pertenecientes al autor con código =


‘0001’.

SELECT AVG(PRECIO) AS Promedio_Precios from Libros


where CODIGO_AUTOR = 0001

3. Indique el total que recibiría la librería si vende en este momento todos los libros,
sin aplicar ningún tipo de descuento.

SELECT SUM(PRECIO) AS Total_Ventas from Libros


4. Indique el libro con el menor precio.

SELECT MIN(PRECIO) AS Min_Precio from Libros

5. Indique el libro con el mayor precio.

SELECT MAX(PRECIO) AS Max_Precio from Libros

6. Tomando e n c u e n t a e l p o r c e n t a j e d e d e s c u e n t o , l i s t e t o d o s l o s l i b r o s
q u e s e encuentran en la librería, y de acuerdo al descuento, imprima lo que indica el
siguiente rango:

Porcentaje de Descuento < = 10 imprimir mensaje “Descuento de hasta un 10%”.


Porcentaje de Descuento > 10 y < = 25 imprimir mensaje “Descuento de hasta un
25%”.
Porcentaje de Descuento > 25 imprimir mensaje “Descuento de más del 25%”.

SELECT NOMBRE, PORC_DESCUENTO,


CASE
WHEN PORC_DESCUENTO <= 10 THEN 'Descuento de hasta un 10%'
WHEN PORC_DESCUENTO > 10 AND PORC_DESCUENTO <= 25 THEN 'Descuento de hasta un 25%'
WHEN PORC_DESCUENTO > 25 THEN 'Descuento de más de un 25%'
END
from Libros;
Bibliografía

 IACC (2018). Lenguaje SQL, Fundamentos de Bases de Datos, Semana 5.

También podría gustarte