Practicas BDI

PRACTICA 3 (miercoles 27)
Funciones

  1. Desplegar toda la información de la tabla departamento
  2. Hacer todas las consultas realizadas el miercoles 20 de julio.
  3. Ejecute las siguientes instrucciones, realice las correcciones necesarias y analice los resultados:

select 'fecha '|| sysdate ||',hoy es' campoconcat, ascii('A') valorasccii,
chr(65) --caracter que corresponde al valor numerico 65
from dual;

-- Cambio de la  primera letra a mayusculas,  pone todo en minusculas, pone todo en mayusculas.
select initcap('hola'), lower('HOLA,adIOS'), upper('hola,Adios')
from dual;

select instr('hoooola','oo'), --posicion de la cadena de caracteres
length('hoola'), --longitud de la cadena de caracteres
  substr('lors770312',7,2) mes --obtiene una subcadena de carateres
/* substr( rfc,        posicion inicial, numero de caracteres) */
from dual;

/* Ajusta la cadena de caracteres a la longitude indicada, rellena con blancos o con el carácter determinado*/
select rpad('***hola***’,'*'),
       lpad('   hola   '),
       rpad('***hola***',8,'*'),
       rpad('   hola   ',8)
from dual;

/*Elimina blancos o caracteres especificos */
select ltrim('***hola***','*'),'***hola***',
       ltrim('   hola   '),
       rtrim('***hola***','*'),'***hola***',
       rtrim('   hola   ')
from dual;


select table_name, nullable, data_precision,
       decode(nullable,'N','NO PERMITE NULOS','Y','SI PERMITE','PERMITE NULOS'),
       decode(nullable,'N','NO PERMITE NULOS','S','SI PERMITE','PERMITE NULOS'),
/* funcion que cambia un valor por otro, trabaja por parejas y si se deja un valor al final es el de predeterminado
Ejem: decode(column name, old_value_n1, new_value_n1) */
       nvl(data_precision,0) --función que sustituye un nulo por un valor determinado
from user_tab_cols
where table_name like '%DEP%';

/*** FUNCIONES NUMERICAS
Round  redondea, trunc trunca***/
select 1+5, 8*10,57/2.22,
       round(57/2.22,3),trunc(57/2.22,3)
from dual;

/** funciones fecha
select sysdate,
       to_char(sysdate, 'dd mon yyyy hh:mi'), -- da formato a la fecha 20 jun 2010 10:20
       to_char(sysdate, 'dd month yyyy'),
       add_months(sysdate,3) --agrega 3 meses a la fecha
from dual;
/** FUncion to_date, convierte cadena caracteres a fecha **/
insert into Incid ( folio,cve_e, fecha_i, tipo_i, obs)
                  values(11,1,to_date('22-jul-2016 08:35:10'
                                                      'dd-mon,yyyy hh:mi:ss'),
                                                             'R',null);
PRACTICA 2 ( fecha de entrega: viernes 16 de julio 2016)
Se presentaran errores en la información, para verificar que constraint no se esta respetando consultar el diccionario de datos:
                                  Select table_name, constraint_name, constraint_type, search_conditions
                                  from user_constraints
                                  where user_constraint = '&nomcost';

  1. Verifique que el AUTOCOMMIT ESTE APAGADO (OFF)

SHOW AUTOCOMMIT

  1. Inserte datos a las tablas, utilice MAYUSCULAS para la información  y en el orden  adecuado. Haga los ajustes necesarios para poder ingresar todos los registros, haga las actualizaciones necesarias para que la información quede como se muestra. Cada tabla debe tener al menos (10 reg.)
Departamento (usar constantes)
Cve_d
Nom_d
Ubica
Director
1
RH
1P
JUAN VARGAS
2
SISTEMAS
PB
Mario Salazar
3
CONTABILIDAD
PH
MARINA MARTINEZ
1
FINANZAS



Empleado

CvE_
CvD
Nombre
Apellido
RFC
FIng
Direccion
SEXO
Est
Sal
101
1
JUAN
PEREZ
PELJ770908
01/12/14
55443344
H
A
0
102
10
MARIA
MARTINEZ
MATM751001
05/05/93
F
S
5350.23
103
3
ROSA
GONZALEZ
NK3399002
03/08/2000
33445566
F
T
20000

Incidencias

Agregar 8 incidencias para 3 empleados  diferentes (usar variables).

  1. Salve los cambios en la BD
COMMIT

  1. Renuncio el director de Sistemas, realice los ajustes necesarios
  2. Contrataron a Mario Martinez como director de Finanzas. Salve los cambios
  3. La tabla Incidencias debe tener datos. Elimine todos los empleados ¿Lo pudo hacer? ¿Por qué?
  4. Deseche el borrado de la tabla.
  5. Dar la sintaxis para incrementar el salario de un empleado especifico en una cantidad especifica. Ejecutarlo y revisar los cambios.
  6. Crear la tabla de respaldo Salario_res con Clave del empleado, clave departamento, salario y fecha del respaldo en 1 solo paso estructura y datos.
  7. De Rollback y consulte la tabla de alumno  para ver si ser realizaron los cambios del punto 8. ¿Qué paso y por que?
  8. Eliminar toda la información de la tabla Salario_res, utilice la instrucción que no guarda respaldo.
  9. De Rollback. ¿Se recupero la información? ¿Por que?
  10. De la instrucción para cargar la tabla empleado_res con información de empleado.
  11. Guarde la información en la base de datos.
*******************************************************************************
PRACTICA 1
Fecha de entrega (15/06/16) Realice todos los puntos en block de notas, los puntos que no se ha visto el tema, revisar la sintaxis e intentar hacerlos.
(Tablas
Indices
Vistas)



0.  Cree las siguientes tablas basándose en la descripción, elija el tipo de dato apropiado y asegúrese de agregar los constraints necesarios para mantener la integridad.  Al nombre de la tabla agregue el número de máquina.

    1. DEPTO con clave depto numérico de 3 PK, nombre depto carácter de 30 requerido,director carácter de 50 sustituir valores nulos por ‘VACANTE’.
    2.  Empleado  con id_emp numérico de 4 PK, Nom_e alfanumérico de 30 requerido, Apellido_e alfanumérico de 30,RFC requerido, cve_d FK, sexo validando valores permitidos F o M,  salario numérico acepta decimales y validar que sea mayor de 1800, teléfono, celular , fecha de ingreso y estatus con valor predeterminado A y que solo permita los siguiente valores (A, B, V, S, BT).
    3. INCID con Folio entero de 3 PK, cve_e FK con empleado, fecha_i  requerido, Tipo_i  con los siguientes valores permitidos:  F, FJ, R, RJ y observaciones alfanumérico de 100.
  1. Verifique que las tablas y constraints se hayan creado correctamente consultando el diccionario de datos.
  2. Agregue a la tabla:
    1.   DEPTO la columna ubicación  alfanumérico de 2, requerido, validando que los valores sean : PB ,  1P, 2P y PH.
    2. Empleado la columna dirección, si el valor es nulo substituir por DESCONOCIDA.
  3.  Agregue al campo salario de la tabla empleado la validación para que este no pueda ser mayor a 400,000.
  4. Cree un objeto que permita ver solamente el nombre del  empleado, teléfono y celular. De los empleados activos (A, V).
  5. Cree un objeto que agilice la búsqueda en la tabla empleado, sabiendo que los criterios de búsqueda mas usados son fecha de ingreso y RFC.
  6. Cree un objeto que asegure que el RFC del  empleado sea único, no use constraints.
  7. Elimine la columna observaciones de la tabla INCID.
Guarde las instrucciones de la creación de estas tablas en un archivo con terminación .sql.

3 comentarios:

  1. Hola profesora no ha subido la practica 2¡¡¡

    ResponderEliminar
  2. buenos dias querida profesora no ha subido los ejercicios para la practica Nº2 ??
    ya que no encuentro nada...

    ResponderEliminar
  3. Buenas tardes, una disculpa. La practica 2 esta disponible, ahi viene indicada la fecha de entrega. Hay unos puntos que veremos la proxima clase.

    ResponderEliminar