Está en la página 1de 36

CORPORACIÓN UNIVERSITARIA UNIREMINGTON

INGENIERÍA DE SISTEMAS

INFORME SEMINARIO ORACLE

JONATHAN DANILO GARCIA BELTRAN

OSCAR GALLO

26 diciembre de 2019
Introducción

En este seminario se logró conocer, practicar e indagar mas sobre lo que se


conoce como SQL, la importancia y la aplicabilidad que tiene en la actualidad en el
entorno empresarial, manejar las diferentes estructuras de consultas con el fin de
optimizar el rendimiento de las bases de datos, para así darle el máximo
rendimiento al sistema.

Los componentes que se manejan desde SQL son el diseño y la parte de


estructura desde la arquitectura del lenguaje, teniendo en cuenta que desde el
diseño el entorno grafico hace de alguna manera más fácil la usabilidad, también
es importante trabajar desde la fase inicial en modo prototipo para no depender de
una estructura de diseño, en la actualidad las herramientas de SQL son
manipuladas desde la parte gráfica, pero es importante emplear los códigos o
también conocido como consultas.

Establecer los parámetros de una buena consulta y las fases que tiene este
proceso, los componentes como los operadores, que pueden hacer optima una
selección con el criterio y el fin del dato a procesar, es muy importante conocer las
relaciones que se pueden establecer desde el diseño de una base de datos y los
tipos de relación que tienen cada una de las tablas.
Objetivos

1. Analizar los factores que influyen en el control de accesos mediante


sistemas diseñados para cifrar y descifrar datos conforme a las políticas de
seguridad a cumplir.

2. Conocer las estructuras y los tipos de consultas de SQL.

3. Identificar los datos que se necesitan para extraer una información


completa y precisa.

4. Optimizar el proceso de búsquedas en la base de datos, con el fin de


generar un rendimiento adecuado.

5. Establecer el tipo de relaciones entre tablas y las configuraciones que se


deben tener en cuenta a la hora de unir las mismas.

6. Analizar los datos que se requieren, la ubicación y la forma en la que se


deben mostrar.

7. Modificar estructuras establecidas para mejorar la presentación de los datos.


Desarrollo

Capitulo 1:

Diseño:
Bases de datos:
Se habla de ciclo de vida del sistema de información
Conocer la arquitectura de software
- Necesidad:
- Requerimiento:
- Diseño: Armar un patrón de almacenamiento

analisis

Necesidad Diseño

Produccion Depuracion
Sistema de información:

1. Software
2. Hardware
3. Redes
4. Recursos
5. Data

Alcance –tiempo –Presupuesto

-Modelo conceptual
Diagrama E-R modelo entidad relación

Normalización: Es el proceso de transición de modelo de concepto y


modelo lógico

1.Eliminar datos repetidos.

2.Crear dependencias Funcionales.

3. Eliminar transitividad: si un dato dependa de una llave primaria y de un


dato.

Diccionario de datos:
- Nombre de la tabla
- Nombre de las columnas
- Restricciones
- Chequeo:
- Dominio del dato: posibles valores del dato.
 OBJETIVO DEL CAPITULO I:

Después de completar esta lección, deberías poder Haz lo siguiente: •


Enumerar las capacidades de las sentencias SQL SELECT • Ejecute una
instrucción SELECT básica • Diferenciar entre sentencias SQL y Comandos
iSQL * Plus

Son el tipo de consultas que se pueden


realizar de forma vertical, para poder así
ubicar los datos.
Son para realizar busqueda de forma
horizontal, optimiza la visualización de la
consulta.

 Declaraciones SQL

• Las declaraciones SQL no distinguen entre mayúsculas y minúsculas.


• Las declaraciones SQL pueden estar en una o más líneas.
• Las palabras clave no se pueden abreviar ni dividir
a través de las líneas.
• Las cláusulas generalmente se colocan en líneas separadas.
 Valores predeterminados de encabezado de columna
• SQL * Plus:

- Los encabezados de columna de Carácter y Fecha se dejan


justificados

- Los encabezados de las columnas numéricas están justificados a la


derecha

- Pantalla de rumbo predeterminada: mayúscula

 Expresiones aritméticas
- Crear expresiones con datos de número y fecha, utilizando
operadores aritméticos.

Ejemplo:

SELECT last_name, salary, salary + 300 FROM


employees;
 Precedencia del operador

- La multiplicación y la división tienen prioridad sobre Adición y


sustracción.
- Los operadores con la misma prioridad son evaluados desde de
izquierda a derecha.
- Los paréntesis se usan para forzar prioridades evaluación y aclarar
declaraciones.

Ejemplo:

SELECT last_name, salary, 12*salary+100


FROM employees;

 Uso de paréntesis:

Ejemplo:

SELECT last_name, salary, 12*(salary+100)


FROM employees;
 Operador de concatenación
- Un operador de concatenación:
- Concatena columnas o cadenas de caracteres para otras columnas
- Está representado por dos barras verticales (||)
- Crea una columna resultante que es un personaje expresión.

Ejemplo:

SELECT last_name||job_id AS "Employees"


FROM employees;

 Sentencias SQL versus Comandos iSQL * Plus


SQL iSQL * Plus
 Un idioma estándar ANSI  Un ambiente
propiedad de Oracle
 La palabra clave no  Las palabras clave
puede abreviado pueden ser
abreviado
 Las declaraciones
manipulan  Los comandos no
datos y definiciones de permiten
tabla en la base de datos manipulación de valores
en
la base de datos

Capítulo 2:
Obejetivo
Después de completar esta lección, deberías poder Hacer lo siguiente:
• Limite las filas recuperadas por una consulta
• Ordenar las filas recuperadas por una consulta

Limitar las filas seleccionadas

 Restrinja las filas devueltas utilizando WHERE cláusula.


 La cláusula WHERE sigue a la cláusula FROM.

Usando la cláusula WHERE


SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90 ;
Cadenas de caracteres y fechas
 Las cadenas de caracteres y los valores de fecha están encerrados en
comillas simples
 Los valores de los caracteres distinguen entre mayúsculas y minúsculas y
la fecha los valores son sensibles al formato.
 El formato de fecha predeterminado es DD-MON-RR.

SELECT last_name, job_id, department_id


FROM employees
WHERE last_name = 'Whalen';
Usar condiciones de comparación

SELECT last_name, salary


FROM employees
WHERE salary <= 3000;

Otras condiciones de comparación


Uso de la condición ENTRE

 Use la condición ENTRE para mostrar filas basadas en Un rango de


valores.

SELECT last_name, salary


FROM employees
WHERE salary BETWEEN 2500 AND 3500;
En esta lección, debería haber aprendido cómo:
• Use la cláusula WHERE para restringir las filas de salida
- Use las condiciones de comparación
- Use las condiciones ENTRE, IN, LIKE y NULL
- Aplicar los operadores lógicos AND, OR y NOT
• Use la cláusula ORDER BY para ordenar las filas de salida

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM table
[WHERE condition(s)]
[ORDER BY {column, expr, alias} [ASC|DESC]];

Capitulo 3:

Objetivos

Después de completar esta lección, deberías poder realizar lo siguiente:

 Describir varios tipos de funciones disponibles en SQL


 Use las funciones de caracteres, números y fechas en sentencias SELECT
 Describir el uso de funciones de conversión.
Funciones de una sola fila
Funciones de una fila:
 Manipular elementos de datos.
 Aceptar argumentos y devolver un valor
 Actuar en cada fila devuelta
 Devuelve un resultado por fila
 Puede modificar el tipo de datos
 Se puede anidar
 Aceptar argumentos que pueden ser una columna o una expresión.
Funciones de manipulación de casos
Estas funciones convierten mayúsculas y minúsculas para cadenas de
caracteres
SELECT employee_id, last_name, department_id
FROM employees
WHERE last_name = 'higgins';

SELECT employee_id, last_name, department_id


FROM employees
WHERE LOWER(last_name) = 'higgins';

 Funciones de manipulación de caracteres

 Estas funciones manipulan cadenas de caracteres:


SELECT employee_id, CONCAT(first_name, last_name) NAME, job_id, LENGTH
(last_name), INSTR(last_name, 'a') "Contains 'a'?" FROM employees WHERE
SUBSTR(job_id, 4) = 'REP';

Aritmética con fechas


 Sumar o restar un número desde una fecha para un valor de fecha
resultante.
 Resta dos fechas para encontrar el número de días entre esas fechas
 Agregar horas a una fecha dividiendo el número de horas por 24.
SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS
FROM employees
WHERE department_id = 90;

 Funciones de fecha
SELECT last_name, TO_CHAR(hire_date, 'fmDD Month YYYY') AS
HIREDATE
FROM employees;
Capitulo 4:

Objetivos:
Después de completar esta lección, deberías poder realizar lo siguiente:
 Escribir sentencias SELECT para acceder a datos de más de una tabla
usando igualdad y la desigualdad se une.
 Ver datos que generalmente no cumplen una unión condición mediante
uniones externas.
 Unir una tabla consigo mismo mediante una autounión.

Obtención de datos de varias tablas

 Unir tablas usando la sintaxis de Oracle


 Escriba la condición de unión en la cláusula WHERE.
 Prefije el nombre de la columna con el nombre de la tabla cuando el mismo
nombre de columna aparece en más de uno mesa.

SELECT table1.column, table2.column


FROM table1, table2
WHERE table1.column1 = table2.column2;

SELECT employees.employee_id, employees.last_name,


employees.department_id, departments.department_id,
departments.location_id
FROM employees, departments
WHERE employees.department_id = departments.department_id;

 Usar alias de tabla

 Simplifique las consultas mediante el uso de alias de tabla.


 Mejore el rendimiento mediante el uso de prefijos de tabla.
Capítulo 5:
Objetivos

Después de completar esta lección, deberías poder realizar lo siguiente:

 Describir varios tipos de funciones disponibles en SQL


 Use las funciones de caracteres, números y fechas en sentencias SELECT
 Describir el uso de funciones de conversión.

tipos de funciones grupales

 AVG
 COUNT
 MAX
 MIN
 STDDEV
 SUM
Ejercicio capítulo 5:

SELECT ROUND(MAX(SALARY)) "MAXIMUN", ROUND (MIN(SALARY))


"MINIUM",
ROUND (SUM (salary)) SUM, ROUND (AVG(salary)) AVERAGE
FROM employees;
-------------------------------------------------------------------
SELECT job_id, ROUND(MAX(SALARY)) "MAXIMUN", ROUND (MIN(SALARY))
"MINIUM",
ROUND (SUM (salary)) SUM, ROUND (AVG(salary)) AVERAGE
FROM employees
GROUP BY job_id
ORDER BY job_id;
----------------------------------------------------------------------------
SELECT COUNT(*) "Total",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 1995,1,0)) "1995",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 1996,1,0)) "1996",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 1997,1,0)) "1997",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 1998,1,0)) "1998"
FROM employees;
-----------------------------------------------------------------------------
SELECT d.department_name "Name", d.location_id "Location",
COUNT (*) "Number of people", ROUND (AVG(salary),2) "Salary"
FROM employees e, departments d
WHERE e.department_id = d.department_id
GROUP BY d.department_name, d.location_id
ORDER BY department_name;
------------------------------------------------------------------------
SELECT job_id "JOB",
SUM(DECODE(department_id,20,salary)) DEPT20,
SUM(DECODE(department_id,50,salary)) DEPT50,
SUM(DECODE(department_id,80,salary)) DEPT80,
SUM(DECODE(department_id,90,salary)) DEPT90,
SUM(salary) "Total salary"
FROM employees
GROUP BY job_id
ORDER BY job_id;
Capítulo 6:
Objetivo
Pautas para el uso de subconsultas
 Incluya subconsultas entre paréntesis.
 Coloque subconsultas en el lado derecho de la condición de comparación.
 La cláusula ORDER BY en la subconsulta no es necesario a menos que
esté realizando un análisis Top-N.
 Utilice operadores de una sola fila con una sola fila subconsultas y usar
operadores de varias filas con subconsultas de varias filas.
Subconsultas de una fila
• Devuelve solo una fila
• Utilice operadores de comparación de una sola fila

SELECT last_name, job_id, salary


FROM employees
WHERE job_id =
(SELECT job_id
FROM employees
WHERE employee_id = 141)
AND salary >
(SELECT salary
FROM employees
WHERE employee_id = 143);
 Subconsultas de filas múltiples
 Devuelve más de una fila
 Utilice operadores de comparación de varias filas

SELECT employee_id, last_name, job_id, salary


FROM employees
WHERE salary < ANY
(SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG';
Ejercicio 1:

La empresa de trabajo temporal 123 ha decidido crear un sistema de información


para realizar gestión, considerando las siguientes especificaciones:

La bolsa de trabajo de 123 almacena toda la información relativa a los


demandantes de empleo, considerando como relevante la nombre, dirección,
teléfonos, documentos solicitados anexados (son varios y pueden identificarse) y
currículum. Estando este último compuesto por número de titulaciones
profesionales (de 1 a 4), fecha de grado, nombre de las mismas, postgrados
realizados, tipo de postgrados, universidades que titularon.

Si el demandante posee experiencia profesional también se guardará el nombre


de la empresa donde realizó el trabajo, el tiempo y el puesto que desempeño. En
general se almacenará los últimos tres empleos.
Las empresas cliente se caracterizan por un código, nombre, dirección, teléfonos y
fax.
Los clientes solicitan al menos un perfil mediante una solicitud. Un perfil se
identifica por un código de perfil, nombre y lleva asociada una descripción.
Además un perfil puede ser requerido por varios clientes.
Un perfil puede asociarse a distintos demandantes de empleo y a su vez un
demandante puede responder a diferentes perfiles.
Ejercicio 2:
Conclusiones

 Conocer los parámetros a la hora de generar una consulta.


 Implementar los operadores aritméticos con el orden establecido.
 Determinar en que momento se puede realizar una consulta y una
subconsulta para obtener datos de una o dos tablas.
 Manejar la sintaxis correcta para las consultas y los procesos de
validación de datos.
 Diferenciar el tipo de lenguaje y estructura que se emplea y sus
ventajas.
 Desarrollar modelos de entidad relación según las necesidades que
se tengan sin generar tablas adicionales.
 Optimización de una base de datos dependiendo de las
depuraciones y los tiempos de respuesta según la consulta.
Referencias Bibliográficas

http://www.maestrosdelweb.com/tutsql1/

https://docs.oracle.com/cd/E28280_01/apirefs.1111/e13946/ejb3_overview_map
ping_field.html

https://users.dcc.uchile.cl/~mnmonsal/BD/guias/g-modeloER.pdf

También podría gustarte