Você está na página 1de 5

CATEDRA DE BASE

DE DATOS 2
CUESTIONARIO N°6
• Carrera: Analista Programador Universitario
• Profesor: Ing. Hector P. Liberatori
• Prof. Adj.: Ing. Fabio Argañaraz
• Integrantes:
o Lara, Brenda LU:3649 DNI:35.554.535
o Cabrera, Sol LU:3641 DNI:41.845.125
o Carrillo, Karen LU:3663 DNI:42.288.928
o Reinaga, Gabriel Mauro Elber LU: 3569
DNI: 37.643.735
• Año: 2019
1. Defina DML, nombre y explique las sentencias que son contenidas dentro de este evento y
dé un ejemplo de sintáxis.

DML ( Data Manipulation Language ) se le llama al conjunto de sentencias o comando que permiten
la introducción, modificación, eliminación de datos en una base de datos. Las sentencias DML más
utilizadas son:

• INSERT: La sentencia básica INSERT crea filas de una en una. Mediante lo que se denomina
“subselección”, puede hacer que el comando INSERT copie filas de una tabla a otra. Éste
método también se denomina INSERT SELECT.

Ejemplo:

Insert into dept_80 (select * from employees


WHERE department_id=80;

• UPDATE: El comando UPDATE se utiliza para modificar filas existentes de una table. El
número de filas a modificar depende de la condición WHERE, si se omite, se cambia todas
las filas de la tabla. Si ninguna fila coincide con WHERE, no se realizarán modificaciones.

Ejemplo:

Update employees
Set salary=salary*1.1
WHERE department_id=90

• DELETE: El commando DELTE se utiliza para eliminar filas existentes de una tabla. El número
de filas a eliminar depende de la condición WHERE.
• Si se omite WHERE, se eliminarán todas las filas.
• Si ninguna fila cumple con WHERE, no se eliminará ninguna (y podría indicar que se han
eliminado cero filas en la tabla).

Ejemplo:

Delete from employees WHERE


department_id=200

• MERGE: Este commando conjuga las tareas de inserción o modificación de datos en una
única instrucción. La idea detrás del mismo es que si una fila que quiere introducirse no
existe, la misma se ingresa en la tabla; en caso de que exista, se actualiza los datos
correspondientes.

Ejemplo:

MERGE INTO jobsj


USING (SELECT*FROM (Jobs.acquisition)a
ON (j.job_id – a.job_id)
WHEN MATCHED THEN UPDATE SET j.job_titile=a.job_title
WHEN NOT MATCHED THEN INSERT
(j.job_id, j.job_title, a.min_salary, j.max_salary)
VALUES (a.job_id, a.job_title, a.min_salary, a.max_salary)
2. Defina DDL, nombre y explique las sentencias que son contenidas dentro de este evento y
dé un ejemplo de sintáxis.

El lenguaje de definición de datos (DDL) es el que se encarga de la modificación de la estructura de


los objetos de la base de datos. Incluye órdenes para modificar, borrar, o definir las tablas en las que
se almacenan las bases de datos. Existen cuatro operaciones básicas:

• CREATE: Este comando crea un objeto dentro de la base de datos. Puede ser una tabla.

Ejemplo:

CREATE OR REPLACE FUNCTION ‘NOMBRE_FUNCION’ (‘PARAMETROS’)

• ALTER: Éste commando permite modificar la estructura de un objeto. Se pueden


agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a
una tabla, modificar un trigger, etc.

Ejemplo:

ALTER TABLE ‘TABLA_NOMBRE’

• DROP: Éste comando elimina un objeto de la base de datos. Puede ser una tabla, vista,
índice, trigger, función, procedimiento, o cualquier objeto que el motor de la base de datos
soporte. Se puede combinar con la sentencia ALTER.

Ejemplo:

ALTER TABLE ‘TABLA_NOMBRE’


(
DROP COLUMN ‘CAMPO_NOMBRE1’
)

• TRUNCATE: Éste comando trunca todo el contenido de una tabla.


• La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla,
es mucho más rápido, especialmente si la tabla es muy grande.
• La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente de
todos los registros ya que no permite la cláusula WHERE.

Ejemplo:

TRUNCATE TABLE ‘TABLA_NOMBRE1’

3. Defina los eventos de base de datos, nombre y explique las sentencias que son contenidas
dentro de este evento y dé un ejemplo de su sintaxis.

Existen muchos eventos que se pueden utilizar para arrancar un disparador y se dividen en tres
categorías:

• Los disparadores de eventos DML se arrancan cuando las sentencias modificadan los datos.
• Los disparadores de eventos DDL se arrancan cuando las sentencias crean un objeto o
modifican de alguna forma.
• Los disparadores de eventos de base de datos arrancan cuando suceden ciertos eventos de
base de datos, tales como inicios de sesión, cierres, apagados, errores de servicios.

Ejemplo:

LOGON
LOGOFF

4. Explique los conceptos: Procedimiento, función, trigger. Acompañe con un ejemplo de uso
de cada uno de ellos.

• FUNCIÓN: Es un bloque de PL/SQL que devuelve un valor único mediante el PL/SQL RETURN.
Es un procedimiento que tiene valor de retorno.

Ejemplo:

CREATE OR REPLACE FUNCTION compute_tax (salary NUMBER)

• PROCEDIMIENTO: Es un bloque PL/SQL que realiza una acción concreta. Pueden contener
parámetros que permiten la transferencia de valores de entrada o salida para comunicarse.

Ejemplo:

CREATE PROCEDURE ‘givel_raise_to_all’

• TRIGGER: Es un bloque PL/SQL que se ejecuta cuando se produce un evento concreto en la


base de datos.

5. Defina qué es un paquete, cuántos paquetes trae Oracle incorporados aproximadamente y


nombre tres de ellos.
Los paquetes son recopilaciones de funciones y procedimientos.

• Existen ventajas de rendimiento y mantenimiento al agrupar funciones de procedimientos


en un único paquete.

Los paquetes PL/SQL incorporados que se proporcionan con la base de datos Oracle proporcionan
acceso a funciones ampliadas de la base de datos. Aproximadamente trae 10 paquetes incorporados
y a continuación se muestran algunos de los paquetes de administración y de mantenimiento
comunes.

- DBMS_STATS
- DBMS_OUTPUT
- DBMS_SESSION

6. ¿Qué es un bloqueo?
Los bloqueos o un bloqueo son un mecanismo, provisto por la BD, para prevenir la interacción
destructiva entre transacciones que necesitan acceder a los mismos recursos, ya sean objetos que
almacenan datos como tablas u objetos del sistema no visibles al usuario.
Este mecanismo de bloqueos evita que un usuario modifique datos que están siendo modificados
por otros, ofreciendo de este modo un control exclusivo de los datos y garantizando la consistencia
de los mismos.

7. ¿Cuáles son las causas de conflictos de bloqueos?

Los conflictos de bloqueo se producen con frecuencia, pero normalmente se resuelven con el tiempo
y el mecanismo de cola.
o Las causas más comunes de este conflicto son cambios sin informar, aunque también
podrían ser:
o Transacciones con una ejecución muy larga.
o Niveles altos de bloqueos innecesarios.

8. Cómo se detectan los bloqueos?

Enterprise Manager Database Control le permite individualizar conflictos de bloqueo desde la página
Blocking Sessions. La página muestra en un formato jerárquico las solicitudes en conflicto, situando
en la parte superior la que retiene el bloqueo, seguidas de todas las sesiones que están en cola para
el mismo.
El monitor de diagnóstico de BD automático (ADDM) también detecta de manera automática los
conflictos de bloqueo y puede avisarle de la tendencia de bloqueo ineficaces.

9. ¿Cómo se resuelven los conflictos de bloqueo?

Para resolver un conflicto de bloqueo, la sesión que retiene el bloqueo debe liberarlo. El mejor modo
de que la sesión libere el bloqueo es ponerse en contacto con el usuario y pedir que termine la
sesión.

o En caso de emergencia, el administrado puede terminar la sesión haciendo click en


kill sesión, la cual inicia el rollback y se pierde el progreso de la transacción.

10. Ejemplifique un interbloqueo.

Un interbloqueo es un ejemplo especial de conflicto de bloqueo, también conocido como “abrazo


mortal”. Puesto que cada una de las sesiones está esperando a la otra, ninguna puede terminar la
transacción para resolver el conflicto.
Ejemplo:
La transacción 1 debe realizar una confirmación o un rollback como respuesta al error
detectado de interbloqueo. Si realiza una confirmación, necesitará volver a enviar la segunda
actualización para terminar su transacción. Si realiza un rollback, debe volver o enviar ambas
sentencias para terminar su transacción.

Você também pode gostar