0% encontró este documento útil (0 votos)
10 vistas12 páginas

Consultas SQL y Administración Oracle

Este documento proporciona instrucciones sobre cómo usar Oracle Application Express y SQL para administrar una base de datos. Incluye cómo conectarse como administrador de base de datos, crear y administrar usuarios, ejecutar consultas SQL, usar funciones como agregación de datos y conversión de tipos, y trabajar con fechas. También cubre temas como secuencias, conversión implícita de tipos de datos y el uso de funciones como TO_CHAR con fechas.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas12 páginas

Consultas SQL y Administración Oracle

Este documento proporciona instrucciones sobre cómo usar Oracle Application Express y SQL para administrar una base de datos. Incluye cómo conectarse como administrador de base de datos, crear y administrar usuarios, ejecutar consultas SQL, usar funciones como agregación de datos y conversión de tipos, y trabajar con fechas. También cubre temas como secuencias, conversión implícita de tipos de datos y el uso de funciones como TO_CHAR con fechas.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Comando:[Link] //para corregir problemas [desactivar oracle listener, oracle service.

exe] DBA-sys ------oracle DBO-system------oracle NOVEDADES: APLICACIN EXPRESS MODO NATIVO: //administrador de la base de datos //operador de la base de datos

GET STARTED Primero debemos loguearnos: Username: sys Password :oracle Creamos una Workspace(pestaa express aplication) Database User: HR //fisi //fisi1

Aplication Express Username:hr1 Password: hr Confirm Password:hr //fisi

//fisi

HR HR1 hr

Luego debemos loguearnos: Workpace:HR Username:HR1 //este usuario trabaja sobre el espacio de trabajo de HR Password: hr

Para crear un nuevo usuario: 1) Pestaa Administration 2) Manage Users and Goups

3) Create user

Pestaa SQLWORKSHOP 1)SQL COMMANDS desc tab ; //o describe y luego RUN,nos muestra lo siguiente:

Select tname from tab;

Select tabtype from tab;

SQL WORKSHOP Object Browser nos nuestra las siguientes tablas:

Podemos usar las siguientes sentencias (en SQL Commands): Select * from employees; Select* from departments;

Run SQL Command Line


MODO NATIVO:

SQL > connect sys /oracle as sysdba; datos;


SQL>desc dba_users;

// nos conectamos como administrador de la base de

SQL>select username , account_status from dba_users; //hr aparece lockeado SQL>alter user hr identified by hr;

SQL>alter user hr account unlock; // SQL>select username , accounts_status from dba_users; //ahora aparece hr como open SQL>connect hr/hr; SQL> desc tab; Select tname from tab; Select *from departments; Select department_id, department_name from departments; //codigo y nombre de departamentos; select employee_id, last_name from employees; // codigo de empleado y apellidos; select employee_id, last_name, department_id, from employees; // codigo,apeliido,departamento; select deparment_id from employees; //codigo de departamento select DISTINCT( deparment_id ) from employees; //codigos de departamentos distintos select DISTINCT(manager_id) from employees; //codigos de administradores distintos select hola amigos from dual; // mostrar una cadena select 7-5 from dual; select salary,salary+500 from employess; select salary,12*salary+500 from employess; //las tablas puden soportar valores nulos,pero no se puede operar con ellos select salary,12*(salary+500) from employess; //los parentesis sirven para dar prioridad select salary, commission _pct from employess; select salary,coalesce(commission _pct,0) from employess; //pone en 0 a los que no tienen comision select salary,salary+(coalesce(commission _pct,0)*salary) as sueldo_total from employess; //todo eso cambia al alias sueldo_total select salary,salary+(coalesce(commission _pct,0)*salary) sueldo_total from employess; //otra forma select first_name, last_name from employees; // columnas separadas select first_name|| last_name from employees; //concatenacion de cadenzas,columnas juntas select first_name|| || last_name from employees; //concatenacion espacio vacio select first_name|| || last_name as NOMBRE_COMPLETO from employees; EJERCICIO: Construya una consulta que permita mostrar la siguiente salida renombrando como codigo_empleado: El empleado Juan Perez tiene el codigo 123 SOLUCION: Select ( El empleado|| ||first_name|| ||last_name|| ||gana|| ||salary|| ||de salario ) as DATOS_COMPLETOS from employess ; // puede ser con parntesis tambien

Select last_name, salary,coalesce(to_char(commission_pct*salary),no tiene comisin )from employees; // multiplica el salario por la comision y lo muestra as como tambin alos que no tienen comisin

Select last_name, salary,coalesce(to_char(commission_pct*salary),no tiene comisin ) as COMISION from employees; //

FUNCIONES DE MANIPULACIONDE CARACTERES Select LOWER(last_name ) from employees; //convierte el apellido a minusculas Select UPPER(last_name ) from employees; //convierte el apellido a masyusculas Select INITCAP(last_name ) from employees; //convierte la primera letra a masyusculas

Select LOWER(last_name ),HOLA from employees; //convierte el apellido a minusculas y muestra a la derecha la palabra HOLA. Select CONCAT(first_name,last_name) from employees; // concatena el nombre y apellido pero sin dejar espacio Concatenacion anidada: Select CONCAT(CONCAT(first_name, ),last_name)) from employees; // concatena el nombre y apellido pero con espacio Select SUBSTR(last_name,1,3) from employees; // muestra las letras a partir de la posicin 1 a la posicin 3 Select UPPER( SUBSTR(last_name,1,3) )from employees; // convierte a maysculas las letras a partir de la posicin 1 a la posicin 3 Select LENGTH(last_name) from employees; // muestra la cantidad de letra del nombre Select INSTR(last_name,t) from employees; // muestra la cantidad de letras que hay hasta la letra t(tambin cuenta esta ultima) Select LPAD ( salary,10,*) from employees;

Select RPAD ( last_name,10,*) from employees ; //muestra lo anterior pero al reves Select TRIM (Z from last_name) from employees ; //recorta la letra Z del apellido TRIM ANIDADO: Select TRIM( l fromTRIM (Z from last_name) ) from employees ; //recorta la letra Z y la letra ldel apellido . Siempre corta letras de manera consecutiva

SELECT ROUND(45.923,2), ROUND(45.923,0),ROUND(45.923,-1) FROM DUAL; Uso de la Funcin ROUND DUAL es una tabla ficticia que puede utilizar para ver

l funciones y clculos. SELECT TRUNC(45.923,2), TRUNC(45.923,0),TRUNC(45.923,-2) FROM DUAL;

tados de

Uso de la Funcin TRUNC

Calcule el resto de un salario despus de dividirlo por 5000 para todos los empleados cuyos cargos son representantes de ventas
SELECT last_name, salary, MOD(salary, 5000)

FROM employees WHERE job_id = 'SA_REP';

Trabajo con Fechas


-La base de datos Oracle almacena fechas en un formatonumrico interno: siglo, ao, mes, da, horas, minutos,segundos. -El formato de visualizacin de fecha por defecto es DD-MON-RR.
Le permite almacenar fechas del siglo XXI en el sigloXX especificando solamente los dos ltimos dgitos del ao. Le permite almacenar fechas del siglo XX en el siglo
SELECT last_name, hire_date FROM employees WHERE last_name like 'G%';

SYSDATE es una funcin que devuelve: Fecha Hora

Aritmtica con Fechas


Sume o reste un nmero a/de una fecha para producir un valor de fecha. Reste dos fechas para buscar el nmero de das entre ellas. Sume horas a una fecha dividiendo el nmero de horas por 24.
Select sysdate from dual ; 29/04/12 // devuelve la fecha

SELECT last_name,hire_date FROM employees

SELECT last_name,SYSDATE-hire_date FROM employees

Devuelve a cantidad de dias y horas que hay entre la fecha de contratacin(hire_date) ya la fecha actual.

SELECT last_name, (SYSDATE-hire_date)/7 as SEMANAS FROM employees

Funciones de Fecha MONTHS_BETWEEN Nmero de meses entre dos fechas ADD_MONTHS Suma meses de calendario a una fecha NEXT_DAY Siguiente da de la fecha especificada LAST_DAY ltimo da del mes ROUND Redondea la fecha TRUNC Trunca la fecha

Select ADD_MONTHS(sysdate,2) from dual ; Select NEXT_DAY(sysdate,3) from dual ; Select LAST_DAY(sysdate) from dual ;

// suma dos meses ala fecha actual // suma 3 dias ala fecha actual

// devuelve el ultimo dia del mes;

Uso de Funciones de Fecha


Asuma SYSDATE = '25-JUL-95': ROUND(SYSDATE,'MONTH') 01-AUG-95 ROUND(SYSDATE ,'YEAR') 01-JAN-96

TRUNC(SYSDATE ,'MONTH') 01-JUL-95 TRUNC(SYSDATE ,'YEAR') 01-JAN-95

Prctica 3, Parte Uno: Visin General


Esta prctica cubre los siguientes temas: Escritura de una consulta que muestre la fecha actual. Creacin de consultas que requieran el uso de funciones numricas, de caracteres y de fecha. Realizacin de clculos de meses y aos de servicio para un empelado

Conversin Implcita de Tipos de Dato


Para las asignaciones, Oracle Server puede convertir automticamente lo siguiente:

VARCHAR2 or CHAR VARCHAR2 or CHAR NUMBER DATE a a VARCHAR2 VARCHAR2

a a

NUMBER DATE

Uso de la Funcin TO_CHAR con Fechas


El modelo de formato:
TO_CHAR(date, 'format_model')

Se debe escribir entre comillas sencillas y es sensible a maysculas/minsculas. Puede incluir cualquier elemento de formato de fecha vlido. Tiene un elemento fm
para eliminar espacios rellenados o suprimir ceros a la

izquierda. Se separa del valor de fecha con una coma.

Select last_name,to_char(hire_date,fmDD Month YYYY) as fecha_contratacion from employees;

CREAR UNA SECUENCIA SQL> create sequence secuencia Start with 0 Increment by 1

Maxvalue 999 Minvalue 0;

Select last_name , [Link] CLAVES from employees;

Common questions

Con tecnología de IA

'SYSDATE' in Oracle SQL returns the current database system date and time. It integrates with date arithmetic to perform operations like finding the difference between dates or adding days to a date. For example, 'SELECT last_name, SYSDATE - hire_date FROM employees;' computes each employee’s duration of service in days.

SQL facilitates character string manipulations such as concatenation to simplify complex queries and enhance data presentation. For example, using 'CONCAT' or '||' operators allows dynamic assembling of full names ('first_name' and 'last_name') into one string, which aids in generating reports or user-readable outputs without altering base data. This improves efficiency by reducing manual data formatting tasks.

The 'ROUND' function in Oracle SQL rounds a number to a specified number of decimal places, whereas 'TRUNC' removes the decimal places without rounding. For instance, 'ROUND(45.923, 2)' results in 45.92, while 'TRUNC(45.923, 2)' results in 45.92. 'ROUND' is useful when precision is important, and 'TRUNC' when only integer parts are needed.

An employer can calculate employee commission with a default value using: 'SELECT last_name, salary, COALESCE(TO_CHAR(commission_pct * salary), 'no tiene comisión') AS COMISION FROM employees;'. This query calculates the commission where applicable and replaces nulls with 'no tiene comisión'. It ensures consistent data output for all employees regardless of commission eligibility.

Oracle SQL provides several character manipulation functions: 'LOWER' converts column values to lowercase, 'UPPER' to uppercase, 'INITCAP' capitalizes the first letter of each word, 'CONCAT' joins strings, and 'SUBSTR' extracts a substring. For example, 'SELECT LOWER(last_name) FROM employees;' converts all last names to lowercase letters.

To unlock a locked user account in Oracle SQL, the database administrator can use the following commands: First, alter the user's password using 'ALTER USER hr IDENTIFIED BY hr;'. Then unlock the account with 'ALTER USER hr ACCOUNT UNLOCK;'. Finally, verify that the status is now open with 'SELECT username, account_status FROM dba_users;'.

The SQL 'COALESCE' function returns the first non-null value from a list of arguments. For example, in 'SELECT last_name, salary, COALESCE(commission_pct * salary, 'no tiene comisión') AS COMISION FROM employees;', it calculates the commission for employees, and if the commission percentage is null, it instead returns 'no tiene comisión'. This ensures that all employee entries can be displayed without null values causing errors.

To determine the number of weeks an employee has worked, use date arithmetic with the 'SYSDATE' function as: 'SELECT last_name, (SYSDATE - hire_date) / 7 as SEMANAS FROM employees;'. This calculates the total days employed, divides by seven to convert days into weeks, providing an easy-to-read metric of employment duration.

Oracle SQL cannot perform arithmetic operations directly on null values, which may result in errors. To avoid these errors, use the 'COALESCE' function to provide a default value where nulls occur. For example, 'SELECT salary, COALESCE(commission_pct, 0) FROM employees;' avoids issues by replacing null commission percentages with zero.

To create a new user in Oracle Application Express, go to the 'Administration' tab, select 'Manage Users and Groups', and then choose 'Create User'.

También podría gustarte