Está en la página 1de 4

Transact-SQL

Para la realización de este ejercicio debe comprender las tablas que están relacionadas y los
campos que existen en cada una de ellas. Las palabras resaltadas en azul son las llaves
primarias.

Recuerde que cada tabla debe tener una llave primaria según lo que dicta la normalización de
las bases de datos.

Para consultar el esquema HR en Oracle Live usar la siguiente sintaxis:

SELECT * FROM HR.Tabla;

Ese sería el procedimiento para poder acceder a las tablas de un esquema específico, en el caso
de crear una tabla en el esquema por defecto, solo especificar el nombre de la tabla.

Diagrama relacionas del esquema HR


Transact-SQL

Actividades

Por cada consulta, debe agregar un screenshot de los resultados arrojados con el objetivo de
dejar una evidencia sobre el aprendizaje.

I. Llaves primarias y foráneas


a. Mencione las llaves primarias y foráneas de cada tabla
b. Mencione con cual tabla hay conexión a partir de las llaves foráneas
c. Escriba la sintaxis SQL para definir una llave primaria y una llave foránea de
cada tabla, sin ejecutar las sentencias.

II. Cláusula FROM

a. Mostrar la lista de todos los empleados


b. Mostrar la lista de todos los Jobs

II. Cláusula WHERE y condicionales

a. Mostrar el nombre del Job y su id donde su salario mínimo sea mayor a 10000
b. Mostrar el nombre del Job y su id donde su salario máximo este entre 9000 y
16000 (Haga este ejercicio de dos formas, con operadores y con la cláusula
BETWEEN)
c. Mostrar el nombre y apellido en una sola columna de los empleados cuyo
nombre empiece con la letra “s” (usar LIKE y AS). Nombrar a la nueva columna
“NombreCompleto”
d. Mostrar el nombre y apellido en una sola columna de los empleados cuyo
nombre termine con la letra “a” (Usar LIKE y AS). Nombrar a la nueva columna
“NombreCompleto”
e. Mostrar toda la información de un empleado cuyo Job ID sea igual a
FI_ACCOUNT
Transact-SQL

f. Mostrar toda la información de un empleado cuyo salario este entre 3000 y


10000, a su vez que su department ID sea 90 o 60. (Usar IN)
g. Mostrar todos los empleados cuya fecha de contratación (HIRE_DATE) haya
sido en el mes de enero y mayo (Investigar sobre DATE y comparaciones entre
fechas)

III. JOINS (INNER, RIGHT, LEFT, FULL)

a. Mostrar la información de todos los empleados incluyendo el nombre del


departamento y del job. (Utilice cualquier JOIN según considere necesario)
b. Mostrar el nombre del Manager y el departamento al que pertenece
c. Mostrar el país de cada locación
d. Mostrar la región de cada país
e. Mostrar start_date, end_date junto con el nombre del departamento de cada
empleado
f. Mostrar el nombre del departamento y del empleado donde el salario mínimo
sea 4000 o superior
g. Mostrar el empleado con mayor antigüedad de cada departamento

IV. Funciones de Agregado (SUM, MAX, MIN, AVG, COUNT, GROUP BY)

a. Mostrar la sumatoria de los salarios de todos los empleados que formen parte
del departamento de Administration.
b. Mostrar el promedio salarial de los empleados cuyo Job sea Programmer
c. Mostrar el empleado cuyo salario sea el más alto del departamento de IT
d. Mostrar el empleado cuyo salario sea el más bajo del departamento de
Purchasing Manager
e. Mostrar la cantidad de Jobs cuyo salario máximo está entre 15000 y 30000.
(Utilizar BETWEEN o IN)

V. DDL

a. Crear una tabla de nombre producto que contenga los siguientes campos: ID,
Nombre, Stock, Precio
b. Crear una tabla de nombre categoría que contenga los siguientes campos: ID,
Nombre, Descripcion
c. Crear una tabla de nombre empleado que contenga los siguientes campos: ID,
nombre, apellido, sexo (NUMBER)
d. Crear una tabla de nombre cliente que contenga los siguientes campos: ID,
nombre, apellido, sexo (NUMBER)
e. Crear una tabla de nombre factura que contenga los siguientes campos:
IDFactura, IDCliente, IDEmpleado, Fecha
f. Crear una tabla de nombre DetalleFactura que contenga los siguientes campos:
IDDetalle, IDFactura, IDProducto, Cantidad
g. Defina CONSTRAINTS para cada tabla tomando en cuenta lo aprendido en
clases

VI. DML

a. Por cada tabla creada, ingresar 10 registros haciendo uso de INSERT. En el


caso de la tabla DetalleFactura, agregar más.
b. Por cada tabla creada, realice el cambio de cinco registros haciendo uso de
UPDATE. En el caso de DetalleFactura, no cambie nada, a menos que sea
necesario desde su punto de vista,
c. Por cada tabla creada, realice una eliminación, solo en las tablas Empleado y
Cliente
Transact-SQL

VII. Consultas del esquema

a. Mostrar la categoría a la que pertenece el producto con mayor stock


b. Mostrar todos los productos con su categoría
c. Mostrar todas las facturas del mes de mayo
d. Mostrar el total a pagar de un cliente tomando en cuenta la cantidad de productos
que lleva (haga uso de las funciones de agregado)
e. Mostrar la factura con detalle de todos los clientes que hayan comprado en el
mes de mayo
f. Mostrar la factura con mayor total
g. Mostrar la información de todos los clientes, cambiar los números 1 y 0 por
“Hombre” y “Mujer”. (Usar CASE WHEN)

Nota: Al hacer el inciso seis y siete, tenga presente que luego de un periodo de tiempo, estos
datos se pierden, por tanto, dejar el script a mano para no tener que volver a hacer la creación
de tablas e incorporación de registros.

También podría gustarte