- Desplegar toda la información de la tabla departamento
- Hacer todas las consultas realizadas el miercoles 20 de julio.
- 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)/** 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);
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';
Select table_name, constraint_name, constraint_type, search_conditions
from user_constraints
where user_constraint = '&nomcost';
- Verifique que el AUTOCOMMIT ESTE APAGADO (OFF)
SHOW AUTOCOMMIT
- 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).
- Salve los cambios en la BD
COMMIT
- Renuncio el director de Sistemas, realice los ajustes necesarios
- Contrataron a Mario Martinez como director de Finanzas. Salve los cambios
- La tabla Incidencias debe tener datos. Elimine todos los empleados ¿Lo pudo hacer? ¿Por qué?
- Deseche el borrado de la tabla.
- Dar la sintaxis para incrementar el salario de un empleado especifico en una cantidad especifica. Ejecutarlo y revisar los cambios.
- 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.
- De Rollback y consulte la tabla de alumno para ver si ser realizaron los cambios del punto 8. ¿Qué paso y por que?
- Eliminar toda la información de la tabla Salario_res, utilice la instrucción que no guarda respaldo.
- De Rollback. ¿Se recupero la información? ¿Por que?
- De la instrucción para cargar la tabla empleado_res con información de empleado.
- Guarde la información en la base de datos.
*******************************************************************************
PRACTICA 1Fecha 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.
- 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’.
- 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).
- 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.
- Verifique que las tablas y constraints se hayan creado correctamente consultando el diccionario de datos.
- Agregue a la tabla:
- DEPTO la columna ubicación alfanumérico de 2, requerido, validando
que los valores sean : PB , 1P, 2P
y PH.
- Empleado la columna dirección, si el valor es
nulo substituir por DESCONOCIDA.
- Agregue al campo salario de la tabla
empleado la validación para que este no pueda ser mayor a 400,000.
- Cree un objeto que permita ver solamente el
nombre del empleado, teléfono y
celular. De los empleados activos (A, V).
- 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.
- Cree un objeto que asegure que el RFC
del empleado sea único, no use
constraints.
- 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.
Hola profesora no ha subido la practica 2¡¡¡
ResponderEliminarbuenos dias querida profesora no ha subido los ejercicios para la practica Nº2 ??
ResponderEliminarya que no encuentro nada...
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