Professional Documents
Culture Documents
Carrera
PRIMER PARCIAL
Examen
Profesora: Carmen N. Martnez W.
Asistente: Diana Ferreira
Asignatura:
Secciones
Nombre
Alumno
BASE DE DATOS 2
NA - NB
FECHA
16/04/2013
Tema1
Tema2
Tema3
Tema4
TOTAL
20
25
25
10
80
TEMA 1:
- Agregue las tablas CONTACTOS, PROMOCIONES y PROMOCION_ARTICULO al modelo de la BD utilizada
para las prcticas.
o Las tablas nuevas deben tener las PK y FK que aparecen en el modelo
o En la tabla CONTACTOS, la tabla SEXO tiene por DEFAULT M, y los valores admitidos son F y
M
o En la tabla PROMOCION, la FECHA_FIN puede estar nula, pero si tiene valor, debe ser mayor a la
FECHA_INICIO.
o El atributo GENERAL puede tener los valores S y N. Si tiene S, el ID_LOCALIDAD debe estar
nulo. En cambio si tiene N (No es una promocin general), el ID_LOCALIDAD debe estar asignado
- Debe incorporar el atributo ID_PROMOCION a la tabla B_DETALLE_VENTAS con referencia a la tabla
PROMOCION
CREATE TABLE CONTACTOS (
ID
CEDULA
NOMBRE
APELLIDO
FECHA_NACIMIENTO
TELEFONO_DE_CONTACTO
DIRECCION_DE_CORREO
COMENTARIOS
SEXO
CIENCIAS
Carrera
PRIMER PARCIAL
Examen
Profesora: Carmen N. Martnez W.
Asistente: Diana Ferreira
Asignatura:
Secciones
Nombre
Alumno
BASE DE DATOS 2
NA - NB
FECHA
16/04/2013
20
25
25
10
80
Tema1
Tema2
Tema3
Tema4
TOTAL
TEMA 2:
Utilice la tabla CONTACTOS, capturada desde la pgina WEB, para actualizar los datos de los clientes. Para el efecto,
utilice una operacin MERGE (por nmero de cdula):
- Si la persona ya EXISTE, actualice en la tabla B_PERSONAS los siguientes datos a partir de la tabla
CONTACTOS: Nombre, Apellido, fecha de nacimiento, telfono y direccin de correo.
- Si la CDULA no EXISTE, inserte un nuevo cliente. Recuerde que el id de persona debe obtenerla sumando 1 al
ltimo ID de la tabla b_personas. Adems debe asignar las columnas para las que no tiene correspondencia, con
un valor por DEFAULT. Estas son: ES_CLIENTE =S, ES_PROVEEDOR=N, TIPO_PERSONA = F, la
direccin no asignada, y las dems columnas van en NULO.
MERGE INTO b_personas p
USING contactos c
ON (p.cedula = c.cedula)
WHEN MATCHED THEN
UPDATE SET p.nombre = c.nombre,
p.apellido = c.apellido,
p.fecha_nacimiento = c.fecha_nacimiento,
p.telefono = c.telefono_de_contacto,
p.correo_electronico = c.direccion_de_correo
WHEN NOT MATCHED THEN
INSERT (p.id, p.tipo_persona, p.nombre, p.apellido, p.direccion, p.telefono, p.cedula,
p.correo_electronico, p.es_cliente, p.es_proveedor, p.fecha_nacimiento)
VALUES (NVL((SELECT MAX(ID) FROM B_PERSONAS),0) +1, 'F', c.nombre, c.apellido, 'N/A',
c.telefono_de_contacto, c.cedula, c.direccion_de_correo, 'S','N',
c.fecha_nacimiento);
TEMA 3:
El administrador necesita determinar si los vendedores aplicaron correctamente la promocin. Para ello prepare la vista
materializada V_CONTROL_PROMOCIONES que deber tener los siguientes atributos slo si el precio en la tabla
b_articulos el porcentaje de la promocin es INFERIOR al precio aplicado en la tabla detalle_ventas. Se propone las
columnas que deben aparecer y un ejemplo
Nombre Artculo
Fecha
Venta
Nombre
Vendedor
Juego de Ollas
27/03/2013 Eva
Tramontinax5pz
Gonzlez
Nombre
promocin
Sper promo
PASCUAS
Precio
artculo
Precio
Promocin
Precio aplicado en
la venta
499.091
399.273
350.000
(es el precio
del artculo
en la tabla
b_artculos)
(precio precio
* el porcentaje
del descuento de
la promocin.
En el ejemplo
20%)
(el
precio
aplicado en la
tabla
b_ventas_detalle))
CIENCIAS
Carrera
PRIMER PARCIAL
Examen
Profesora: Carmen N. Martnez W.
Asistente: Diana Ferreira
Asignatura:
Secciones
Nombre
Alumno
BASE DE DATOS 2
NA - NB
FECHA
16/04/2013
Tema1
Tema2
Tema3
Tema4
TOTAL
20
25
25
10
80
TEMA 4:
- Cree el ROLE R_VISITANTE asignndole una contrasea. Asigne al role R_VISITANTE, el permiso para
consultar la tabla B_LOCALIDAD, y para insertar en la tabla CONTACTOS
- Cree el usuario VISITANTE asignndole el tablespace BASEDATOS2 con cuota ilimitada. Permtale conectarse
- Concdale el permiso a conectarse, y el role R_VISITANTE.
CREATE ROLE r_visitante IDENTIFIED BY visitas2013;
CREATE USER visitante IDENTIFIED BY visitante
DEFAULT TABLESPACE BASEDATOS2
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED
ON BASEDATOS2;
GRANT
GRANT
GRANT
GRANT