Está en la página 1de 10

Instituto Tecnológico de Las Américas

Bases de Datos Avanzada-2021-C-1


Asignatura

Lic. Leandro Fondeur Gil


Profesor

Brian Dariel Lorenzo Lorenzo


Cristopher Quiroz Minier
Cristian Javier Sánchez
Bryan Dominic Pérez Hernández
Estudiantes

2019-8375
2019-8366
2018-7239
2019-7702
Matriculas

27 de Enero 2021
Fecha

Santo Domingo Este


Prácticá 1 - Gestión de Tránsácciónes
Luego de realizar un estudio del capítulo 15 del libro de texto
(Fundamentos de Bases de Datos - Abraham Silberschatz - 4ºEd) que
cubre el Tema 1 - Gestión de Transacciones, responda las siguientes
preguntas. Esta práctica es en grupo. Los equipos se encuentran en la
sección general del aula virtual:

1. Qué es una transacción?

Es un conjunto de operaciones que forman una única unidad lógica de


trabajo.

2. Qué se entiende por ACID?

Que es un conjunto de características necesarias para que una serie de


instrucciones puedan ser consideradas como una transacción. Así pues,
si un sistema de gestión de bases de datos es ACID compliant quiere
decir que el mismo cuenta con las funcionalidades necesarias para que
sus transacciones tengan las características ACID.

3. Qué indica la propiedad de Atomicidad?

O todas las operaciones de la transacción se realizan adecuadamente en


la base de datos o ninguna de ellas.

4. Qué indica la propiedad de Aislamiento?

Que cada transacción ignora al resto de las transacciones que se


ejecuten concurrentemente en el sistema.

5. Qué indica la propiedad de Durabilidad?

Que tras la finalización con éxito de una transacción, los cambios


realizados en la base de datos permanecen, incluso si hay fallos en el
sistema.

6. Cuál es el estado de la transacción que no siempre termina su


ejecución con éxito?

Transacción Abortada

7. Cuál es el estado de una transacción que se han deshecho los


cambios efectuados por la transacción abortada?
Retrocedido.

8. Cuál es el estado de una transacción que termina con éxito?

Comprometida.

9. Qué es una transacción compensadora?

Es aquella transacción que termina correctamente y a esta se le


dice que está comprometida y no se pueden deshacer sus efectos.

10. Cuáles son los estados de una transacción?

Activa.
Parcialmente comprometida.
Fallida.
Abortada.
Comprometida.

Realice los siguientes ejercicios luego de estudiar el documento


"Instrucción SELECT":

1. El departamento de recursos humanos desea que cree una consulta


para mostrar el apellido, el código de puesto, la fecha de
contratación y el ID de empleado, con el ID de empleado en primer
lugar. Proporcione el alias STARTDATE para la columna HIRE_DATE.

SELECT employee_id ID, last_name Apellido, job_id Codigo_puesto ,


hire_date Fecha_contrato
FROM employees;
2. El departamento de recursos humanos desea que cree una consulta
para visualizar códigos de puesto únicos de la tabla EMPLOYEES.

SELECT DISTINCT job_id Codigo_puesto


FROM employees;

3. El departamento de recursos humanos ha solicitado un informe de


todos los empleados y de sus identificadores de puesto. Muestre el
apellido concatenado con el identificador de puesto (separados por
una coma y un espacio) y nombre la columna Employee and Title.

SELECT last_name||', '||job_id "Employee and Title"


FROM employees;
Realice los siguientes ejercicios luego de estudiar el documento
"Condicionando el SELECT":

1. Por motivos presupuestarios, el departamento de recursos


humanos necesita un informe que muestre los apellidos y el salario
de los empleados que ganen más de 10,000 dólares.

SELECT last_name Apellido, salary Salario


FROM employees
Where salary >= 10000

2. Cree un informe que muestre el apellido del empleado y el número


de departamento del empleado número 100.

SELECT employee_id ID, last_name Apellido, department_id


ID_departamento
FROM employees
WHERE employee_id = 100
3. El departamento de recursos humanos necesita buscar los
empleados con salarios altos y bajos. Muestre el apellido y el salario
de cualquier empleado cuyo salario no está en el rango de 5,000 a
10,000 dólares.

SELECT last_name Apellido, salary Salario


FROM employees
WHERE salary not BETWEEN 5000 AND 10000

4. Cree un informe para mostrar el apellido, el identificador de puesto


y la fecha de inicio para los empleados con los apellidos Higgins y
Ernst. Ordene la consulta por orden ascendente por fecha de inicio.

SELECT LAST_NAME Apellido, HIRE_DATE Fecha_Contratacion, JOB_ID


Identificar_Puesto FROM employees WHERE LAST_NAME = 'Higgins' OR
LAST_NAME ='Ernst' ORDER BY HIRE_DATE;
5. Muestre el apellido y el número de departamento de todos los
empleados de los departamentos 20 y 80 en orden alfabético
ascendente por apellido.

SELECT LAST_NAME Apellido, DEPARTMENT_ID Numero_departamento


FROM employees WHERE department_id = 20 OR department_id = 80
ORDER BY last_name;
6. Muestre el apellido y el salario de los empleados que ganan entre
5,000 y 10,000 dólares y están en el departamento 20 ó 80. Etiquete
las columnas como Employee y Monthly Salary, respectivamente.

SELECT LAST_NAME Apellido, SALARY Salario, Department_id


Departamento_Id FROM employees WHERE salary BETWEEN 5000 AND
10000 AND (department_id = 80 OR department_id = 20);

7. El departamento de recursos humanos necesita un informe que


muestre el apellido y la fecha de contratación de todos los
empleados contratados en 1996 o 2006.

SELECT last_name Apellido ,hire_date


FROM employees
WHERE hire_date BETWEEN ’01-01-95A’ and ’31-12-95’
or hire_date BETWEEN ’01-01-05’ and ’31-12-05’
8. Cree un informe que muestre el apellido y el cargo de todos los
empleados que no tengan supervisor.

SELECT LAST_name “EMPLOYEE”, job_id


FROM employees
WHERE manager_id IS NULL;

9. Cree un informe que muestre el apellido, el salario y la comisión de


todos los empleados que ganen comisiones. Ordene los datos en
orden descendente por salario y comisiones.

SELECT e.LAST_NAME, e.SALARY, e.COMMISSION_PCT


FROM EMPLOYEES e
WHERE e.COMMISSION_PCT IS NOT NULL
ORDER BY e.SALARY, e.COMMISSION_PCT DESC

10. Los miembros del departamento de recursos humanos desean tener


más flexibilidad con las consultas que está creando. Quieren un
informe que muestre el apellido y el salario de empleados que
ganen más que una cantidad que el usuario especificará tras un
prompt.

SELECT last_name Apellido, salary Salario


FROM employees
where salary >&salary;
11. Muestre el apellido de todos los empleadogs cuya tercera letra sea
la t.

SELECT last_name Apellido FROM employees where last_name like


'__t%';

También podría gustarte