8
RESUMEN DBA 1. Explique las diferencias entre las funciones INSTR(), REPLACE() y SUBSTR() Adicional a lo que realiza cada una, es importante identificar que INSTR devuelve un tipo de dato NUMBER a diferencia de REPLACE y SUBSTR. REPLACE sólo recibe parámetros de tipo de dato VARCHAR2 mientras que SUBSTR de tipo VARCHAR2 y NUMBER por la posición principalmente. INSTR Busca una cadena de caracteres dentro de otra. Devuelve la posición de la ocurrencia de la cadena buscada. Su sintaxis es la siguiente: INSTR(<char>, <search_string>, <startpos>, <occurrence> ) SELECT INSTR('AQUI ES DONDE SE BUSCA', 'BUSCA', 1, 1 ) FROM DUAL; REPLACE Reemplaza un texto por otro en un expresion de busqueda. REPLACE(<expresion>, <busqueda>, <reemplazo>) El siguiente ejemplo reemplaza la palabra 'HOLA' por 'VAYA' en la cadena 'HOLA MUNDO'. SELECT REPLACE ('HOLA MUNDO','HOLA', 'VAYA')-- devuelve VAYA MUNDO FROM DUAL; SUBSTR

Resumen DBA

Embed Size (px)

DESCRIPTION

Resumen DBA

Citation preview

RESUMEN DBA1. Explique las diferencias entre las funciones INSTR(), REPLACE() y SUBSTR()Adicional a lo que realiza cada una, es importante identificar que INSTR devuelve un tipo de dato NUMBER a diferencia de REPLACE y SUBSTR.REPLACE slo recibe parmetros de tipo de dato VARCHAR2 mientras que SUBSTR de tipo VARCHAR2 y NUMBER por la posicin principalmente.INSTRBusca una cadena de caracteres dentro de otra.Devuelve la posicin de la ocurrencia de la cadena buscada. Su sintaxis es la siguiente:INSTR(, , , )

SELECT INSTR('AQUI ES DONDE SE BUSCA', 'BUSCA', 1, 1 )FROM DUAL;

REPLACE Reemplaza un texto por otro en un expresion de busqueda.REPLACE(, , )

El siguiente ejemplo reemplaza la palabra 'HOLA' por 'VAYA' en la cadena 'HOLA MUNDO'.SELECT REPLACE ('HOLA MUNDO','HOLA', 'VAYA')-- devuelve VAYA MUNDOFROM DUAL;

SUBSTR Obtiene una parte de una expresion, desde una posicin de inicio hasta una determinada longitud.SUBSTR(, , )

SELECT SUBSTR('HOLA MUNDO', 6, 5) -- Devuelve MUNDOFROM DUAL;

2. Explique de manera funcional el uso de la funcin MOD y presente 2 ejemplos de su uso.La manera funcional de presentarlo es mediante una divisin. Por ejemplo:21/4 = 5 cociente y 1 residuo, la funcin MOD devuelve el 1 (residuo)select mod (11,4) from dual; ------resultado 2;select mod (10,5) from dual;------resultado 0;3. Explique por qu es ms eficiente utilizar un tipo de dato DATE en lugar de un tipo de dato VARCHAR2 en el manejo de fechas.Porque si las fechas se manejan con el tipo de dato VARCHAR2 pueden ocasionar errores en la operaciones con fechas. Ejemplo:Al comparar 2 fechas como DATETo_date(01/01/2015,dd/mm/rrrr) > To_date(31/12/2014,dd/mm/rrrr)Es correcta la comparacin, pero si las comparo como VARCHAR2 la comparacin es errnea porque lo opera como caracteres. Ejemplo: 01/01/2015< 31/12/20144. Cul es la diferencia de una funcin que retorna un cursor y una funcin que recibe como parmetro un cursor. Presente un sustento a nivel funcional El sustento funcional debe presentar en un diagrama que explique que una funcin que retorna un cursor tiene la creacin del cursor dentro de la funcin y la funcin que recibe como parmetro un cursor ya obtiene un cursor creado y slo lo navega o lo lee para operarlo retornando otro tipo de dato.*Una funcin que retorna un cursor nos da como resultado un objeto en la cual contiene distintas variables con datos dentro de ellas.*La funcin que recibe como parmetro un cursor puede utilizar los parmetros del cursor recibido para realizar consultas con la informacin que esta tiene.5. Explique las diferencias entre usar dentro de un query where 2=1, where 2=2 y where 2=2. Pruebe los siguientes querys:Query1: select * from employees where 2=1El resultado del query no muestra registros. No sale error.*Los datos son del mismo tipo de dato pero no se muestra nada por que la condicion no es valida (2 no es igual a 1).Query2: select * from employees where 2=2El resultado del query muestra tantos registros como registros tiene la tabla EMPLOYEES.*es una condicin optima ya que son del mismo tipo de dato y mostrara todos los registros que tengan en la tabla.La diferencia entre where 2=1 and where 2=2 es el resultado de la comparacin si es falso no salen registros y si es verdadero todos los registros del query o de la tabla segn sea el caso.Query3: select * from employees where 2=2*Se est comparando un carcter con un nmero y no es vlido hacer comparaciones si no son del mismo tipo de datos.6. Presente 15 ejemplos de 3 TIPOS DE DATOS que conoce en ORACLE (5 de cada uno).Los tipos de datos ms sencillos son: NUMBER, VARCHAR2 y DATEEjemplos de NUMBER: 1 2 3 4 5Ejemplos de VARCHAR2 1 2 3 4 5Ejemplos de DATE:To_date(19/03/2015,dd/mm/rrrr)To_date(14/04/2015,dd/mm/rrrr)To_date(24/07/2015,dd/mm/rrrr)To_date(01/12/2015,dd/mm/rrrr)To_date(15/06/2015,dd/mm/rrrr)7. Presente 3 ejemplos de uso de la funcin TO_DATE, explique la diferencia con TO_CHARTo_date(25/12/2015,dd/mm/rrrr)To_date(2015,rrrr)To_date(18102015,ddmmrrrr)La diferencia es que TO_DATE devuelve un tipo de dato DATE y TO_CHAR un tipo de dato VARCHAR2. Adems, TO_CHAR slo se utiliza para dar un formato a una fecha o transformar un NUMBER a VARCHAR2. EjemploSelect TO_CHAR( To_date(13/05/2015,dd/mm/rrrr),DD-MON-RRRR) from dual8. Realice el diagrama o pseudocdigo de una funcin que recibe como parmetro un cursor y devuelve un tipo de dato fecha que puede ser la mayor fecha de contratacin de un grupo de empleados.Utilizar el documento de funciones y cursores parte II y represente en un diagrama o pseudocdigo.9. Qu funciones de manejo de caracteres se pueden utilizar de una manera eficiente para representar la inicial de un nombre. Y qu funcin para el WHERE de un query donde se solicite por ejemplo los empleados que tengan como inicial la letra B.Si se utiliza dentro del query junto al SELECT utilice SUBSTR(CAMPO,1,1). Si se utiliza en el WHERE utilice INSTR(CAMPO,B)=1.10. Cul es la diferencia en el uso de || y de concat?El uso de || es ms sencillo para unir ms de 2 cadenas. Ejemplo Select CADENA1 || CADENA2|| CADENA3 from dual.11. Convierte la siguiente cadena 01/04/2015 a la fecha 01 de Abril del 2015

SELECT TO_CHAR( TO_DATE('01/04/2015','DD/MM/YYYY'),'DD/MONTH/YYYY') FROM DUAL;12. Explique la comparacin where MOD (salary+1000,500)=0 y presente un monto que cumpla con la comparacin SELECT MOD (9000+1000,500) FROM DUAL;13. Explique el uso de la funcin TO_CHAR en el siguiente query

Select to_char(to_date(13/05/2015,dd/mm/rrrr), dd-mon-rrrr) from dual

Est convirtiendo de tipo date a char dndole un formato en el cual se mostrara lo siguiente: 13-mayo-2015

14. Presente un query ms ptimo que el siguiente y que presente los mismos resultados

Select * from employees where substr(pone_number,1,1)=5And to_char (hire_date, dd/mm/rrrr) >= 01/01/2015And last_name like R%

15. Presente un modelo de base de datos y un diseo funcional del proceso de elaboracin de un paper .incluye la estructura del paper en esta pregunta

16. Explique por qu no es eficiente el uso de BETWEEN para un rango de fechas.

Between: es una palabra reservada y no es muy eficiente; es mejor o ms ptimo comparar datos del mismo tipo en este caso sera de tipo date y usar operadores.EJEMPLO: Select * from employeeswhere hire_date >= to_date (01/01/1990 , dd/mm/yyyy) and hire_date