Sie sind auf Seite 1von 5

Instituto profesional Duoc Uc

Sede Antonio Varas


Programación de base de datos

Actividad de investigación con nota


1- ¿Cómo se puede crear un objeto en la base de datos Oracle?
Se puede crear un objeto utilizando la siguiente expresión
Create or replace type nombreTabla as object(
nombreVariable1 tipoVariable,
nombreVariable2 tipoVariable
);
2- ¿Qué diferencia existe entre una base de datos relacional y una NoSQL
La estructuración, NoSQL tiene una forma de almacenamiento no estructurado mientras
que una base de datos relacional utiliza tablas con filas que contienen campos
estructurados.
3- ¿Qué es Oracle forms ?
Es un software que permite crear pantallas que interactúan con una base de datos,
incluye un navegador de objetos, una hoja de propiedades y un editor de código que
utiliza PL / SQL.
4- ¿En que consiste Método MAP y ORDER ?
Ambos son criterios de comparación.
Map sirve para indicar cuál de los atributos del tipo se va a utilizar para
ordenar los objetos del tipo, se pueden utilizar los operadores de comparación
típicos (<, >).
Order utiliza los atributos del objeto sobre el que se ejecuta para realizar un cálculo y
compararlo con otro objeto del mismo tipo que toma como argumento de entrada. Este
método debe devolver un valor negativo si el primero es mayor que el segundo, un valor
positivo si ocurre lo contrario y un cero si ambos son iguales.

5- ¿Cuáles son los tipos de variables ?, nombre y explique cada una de ellas
Escalares: representar objetos de datos individuales de tamaño fijo (Varchar2, number,
date, char, long, long raw, boolean, binary_interger)
Booleanas: representan valores que pueden ser verdaderos (true), falsos (false) o nulos
(null)
Compuestas: se pueden utilizar para implementar la lógica de procedimiento a través de
una secuencia de sentencias SQL con un ámbito local para variables, condiciones, cursores
y manejadores.
Lob: Permiten almacenar bloques de datos no estructurados, como pantallas de texto,
imágenes gráficas, vídeo clips, y sonido, de hasta 4 Gb. de tamaño.
De enlace (Bid): Son variables de SQL*plus, las pueden referenciar bloques de
PL/SQL mediante el uso del ampersand (&).

● Varchar2: se utiliza para almacenar cadenas de longitud variable. La longitud del valor
de la cadena se almacenará en el disco junto con el valor en sí. ... No puede utilizar una
Instituto profesional Duoc Uc
Sede Antonio Varas
Programación de base de datos

constante o variable simbólica para especificar el tamaño máximo; debe utilizar un


literal entero en el rango de 1 a 32767.
● number: para almacenar valores enteros o decimales, positivos o negativos. Definimos
campos de este tipo cuando queremos almacenar valores numéricos con los cuales
luego realizaremos operaciones matemáticas, por ejemplo, cantidades, precios, etc.
● integer: conjunto de valores que puede tomar durante el programa. Si se le intenta dar
un valor fuera del conjunto se producirá un error. La asignación de tipos a los datos
tiene dos objetivos principales: Por un lado, detectar errores en las operaciones.
● date: tipo de dato de fecha más simple, permite registrar únicamente el día (año, mes,
día)sin horas.

6- ¿Qué hace la expresión %type?


Permite declarar una variable basada en el tipo de variable de una previamente declarada
o la definición de una columna de la base de datos.
7- ¿Cuál es la forma de sintaxis del case para un bloque anónimo?

IF @variable = 1 --flujo

BEGIN

SELECT

campo,

CASE campo2 --condición

WHEN 1 THEN 'uno'

WHEN 2 THEN 'dos'

DEFAULT 'nadie sabe'

END

FROM una_tabla

END

ELSE

BEGIN

SELECT

campo3,

CASE campo4

WHEN 1 THEN 'uno'

WHEN 2 THEN 'dos'

DEFAULT 'nadie sabe'


Instituto profesional Duoc Uc
Sede Antonio Varas
Programación de base de datos

END

FROM otra_tabla

END

8- Crear un trigger en la base de datos de su proyecto semestral, en donde se evaluará


a. Insertar los datos
CREATE OR REPLACE TRIGGER trigger_laboral
AFTER INSERT
ON historial_laboral
FOR EACH ROW

DECLARE
v_username varchar2(10);
BEGIN
SELECT user INTO v_username
FROM DUAL;

INSERT INTO audit_changes (fecha, usuario, accion)


VALUES ( SYSDATE, v_username, 'I');

END;

b. Actualizar datos

CREATE TRIGGER trigger_notas


AFTER UPDATE
ON Detalle_notas
FOR EACH ROW
DECLARE
v_username varchar2(10);
BEGIN
SELECT user INTO v_username
FROM DUAL;
INSERT INTO audit_changes (fecha, usuario, accion)
VALUES ( SYSDATE, v_username, 'U');
END;

c. Eliminar datos

CREATE TRIGGER trigger_empleados


Instituto profesional Duoc Uc
Sede Antonio Varas
Programación de base de datos

AFTER DELETE
ON Empleado
FOR EACH ROW
DECLARE
v_username varchar2(10);
BEGIN
SELECT user INTO v_username
FROM DUAL;
INSERT INTO audit_changes (fecha, usuario, accion)
VALUES ( SYSDATE, v_username, 'U');
END;

9- Crear un trigger en donde deberán crear una auditoría sobre los productos ingresados, y
los productos que ya no se encuentran (depende de su proyecto)

DROP TABLE audit_changes;

CREATE TABLE audit_changes (fecha TIMESTAMP, usuario VARCHAR2(30), accion CHAR


);

CREATE OR REPLACE TRIGGER tr_profjefe

AFTER INSERT OR UPDATE OR DELETE ON alumno

DECLARE

laccion varchar2(20);

BEGIN

IF inserting THEN laccion :='I';

elsif deleting THEN laccion :='D';

ELSE

laccion :='U';

END IF;

insert into audit_changes values(sysdate,user , laccion);

END tr_profjefe;

/
Instituto profesional Duoc Uc
Sede Antonio Varas
Programación de base de datos

alter trigger tr_profjefe disable;

INSERT INTO alumno(rut_alumno, nombres_alumno, apaterno_alumno,


amaterno_alumno, rut_empleado)

VALUES ('22345445-7', 'JUAN ESTEBAN', 'PLAZA', 'MENDEZ','14453961-3');

UPDATE alumno

SET rut_empleado = '18128921-k'

where rut_alumno= '22345445-7';

DELETE FROM alumno where rut_empleado = '18128921-k';

Das könnte Ihnen auch gefallen