SlideShare une entreprise Scribd logo
1  sur  31
Curso Básico de SQL
Por Byron Quisquinay
Guatemala 2013.

Basado en documentación
Oracle® Database SQL Language Reference
12c Release 1 (12.1)
E17209-14
Introducción al curso
• El presente es un curso de nivel básico para el aprendizaje de
SQL como lenguaje de consulta y modificación de datos y
objetos de la Base de Datos.
• Método: Se empleará la tutoría en modalidad de disertación
(o exposición) , con ejemplos de lo expresado aplicado a la
creación de objetos de Base de Datos para su posterior
manipulación. Empleando así mismo casos para ser resueltos
y una evaluación final para determinar el nivel de fijación del
contenido expuesto y practicado.
• Objetivo: Instruir a los participantes de manera tal que sean
capaces de comprender y emplear el lenguaje SQL para la
interacción con el RDBMS (Relational Data Base Management
System).
Oracle SQL
El Lenguaje de Consulta Estructurado (SQL) es el conjunto de sentencias
[f. Inform. Secuencia de expresiones que especifica una o varias operaciones.] (declaraciones) con
las que todos los programas y usuarios acederán a la información en una Base de
Datos de Oracle. Las Aplicaciones y las herramientas de Oracle generalmente
permiten a los usuarios acceder a la base de datos sin utilizar SQL directamente,
pero esas aplicaciones en cambio utilizan SQL cuando ejecután las peticiones del
cliente.
¿Qué se puede hacer con el
SQL?
El SQL provee sentencias (comandos) para realizar una variedad de tareas que
incluyen:
•
•
•
•
•

Consultar la información (data).
Insertar, actualizar y borrar registros en una tabla.
Crear, reemplazar, alterar y borrar objetos.
Controlar el acceso a la Base de Datos y sus objetos.
Garantizar la consistencia e integridad de los datos.
Herramientas de Soporte
Oracle provee un número de herramientas para facilidar el proceso de desarrollo
SQL:
• Oracle SQL Developer: Es una herramienta gráfica que le permite buscar, crear,
editar y borrar objetos de la base de datos. Editar y deputar código PL/SQL,
ejecutar sentencias SQL y scripts, etc.
• SQL*Plus: es una herramienta interactiva y por lote que es incluida con cada
instalación de la base de datos Oracle, tanto en cliente como en servidor. Es una
interface de línea de comando y también cuenta con una interface basada en
Web, llamada iSQL*Plus.
• Oracle Jdeveloper: es un entorno de desarrollo multiplataforma integrado de
apoyo al ciclo de vida de desarrollo de Java, servicios Web y SQL.

• Oracle Application Express: es un entorno organizado para desarrollar y desplegar
aplicaciones Web con bases de datos relacionadas.
Consideraciones de redacción
Las siguientes definiciones para los temas de las sentencias SQL aplican específicamente para
implementaciones de la base de Datos de Oracle pero son generalemente aceptadas en otras
implementaciones de SQL.
•

Cuando usted emite una sentencia SQL, puede incluir uno o más caracteres TAB, retorno de
carro (ENTER), espacios o comentarios donde quiera.

•

El uso de mayúsculas o minúsculas no tiene significado [para el RDBMS] en las palabras
reservadas, identificadores y parámetros; así mismo no tienen significado en la declaración
de cadenas de texto o valores constantes.

•

Las sentencias SQL son finalizadas de forma diferente en los distintos ambinentes de
programación. En este documento se define por defecto el uso del caracter SQL*Plus
punto y coma (;).

•

La realización de comentarios tanto en PL/SQL así como SQL, anónimo o almacenado en la
base de datos puede hacerse utilizando los caracteres ´--´ o entre los caracteres ´/* */´.
Por ejemplo:
--Query 1
SELECT last_name,salary*12,MONTHS_BETWEEN(SYSDATE,hire_date)
FROM employees
WHERE department_id = 30
ORDER BY last_name;

/* Query 2*/
SELECT last_name,
salary * 12,
MONTHS_BETWEEN( SYSDATE, hire_date )
FROM employees
WHERE department_id=30
ORDER BY last_name;
Buenas prácticas al redactar
/*----------------------------------------------*/
/* Script de ejemplo versión 1.0
*/
/* Creado el: 03/10/2013
*/
/* Creado por: Byron Quisquinay
*/
/*----------------------------------------------*/
declare
v_fecha
v_hora
v_fecha_y_hora
v_fecha_texto

varchar2(50) := to_char(sysdate,'dd/mm/yyyy');
varchar2(50) := to_char(sysdate,'hh:mm:ss');
varchar2(50) := to_char(sysdate,'dd/mon/yyyy hh:mm:ss');
varchar2(50) := null;

begin
--Conversión de fecha empleando textos completos en el día y el mes
begin
select to_char(sysdate,'Day dd Month, yyyy','nls_date_language=spanish')
into v_fecha_texto
from dual;
exception
when others then
begin
dbms_output.put_line(sqlerrm);
v_fecha_texto := null;
end;
end;
--Impresión de resultados en pantalla
dbms_output.put_line(v_fecha);
dbms_output.put_line(v_hora);
dbms_output.put_line(v_fecha_y_hora);
dbms_output.put_line(v_fecha_texto);
end;
• Identificar claramente el programa: ayudará tanto a su autor como
a quienes deban interpretarlo y/o modificarlo, algunas sugerencias
de datos para la identificación:
•
•
•
•
•
•
•

Fecha de Creación.
Autor.
Versión actual.
Versión anterior.
Fecha Modificación.
Nombre de Quién Modificó.
Propósito u objetivo.

• Una escritura clara e inteligible: esto permitirá una comprensión
rápida del programa, además de permitir un manejo de errores que
resulte en una mejor administración del mismo.
• Definición de bloques para el manejo de errores: El encapsular entre
begin y end las sentencias y definir manejo de errores permitirá una
mejor administración de los programas.
• Documentar el programa: junto con las buenas prácticas anteriores,
permitirá una mejor administración del programa.
Tipos de Sentencias SQL
Definición de datos
(DDL)
Manipulación de Datos
(DML)
Tareas que se pueden realizar
con sentencias DDL
•
•
•
•
•

Crear, alterar o eliminar (drop) objetos del esquema.
Conceder y revocar privilegios y roles.
Analizar la información de una tabla, índice o cluster.
Establecer condiciones de auditoría.
Agregar comentarios al diccionario de datos.
• El crear, alterar o eliminar un objeto requiere acceso exclusivo al objeto que
es objeto de la sentencia DDL. Por ejemplo si usted desea alterar una tabla y
otro usuario tiene una transacción abierta, la sentencia fallará.
• El Conceder y revocar privilegios, analizar, auditar o comentar un objeto no
requiere de acceso exclusivo. Es decir, usted puede analizar una tabla aún
cuando un usuario la esté actualizando.
• La base de datos Oracle realiza el commit de forma implícita antes y después
de cada sentencia DDL.
• Las sentencias DDL son soportadas en PL/SQL a través del paquete dbms_sql.
Estas son las sentencias DDL
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

ALTER
ANALYZE
ASSOCIATE STATISTICS
AUDIT
COMMENT
CREATE
DISASSOCIATE STATISTICS
DROP
FLASHBACK
GRANT
NOAUDIT
PURGE
RENAME
REVOKE
TRUNCATE
Sentencias DML
Data Manipulation Language, Lenguaje de Manipulación de Datos, las
sentencias de este tipo acceden y manipulan la información objetos
existentes en la base de datos. Estas sentencias requieren ser
confirmadas a través de la sentencia COMMIT para hacerlas
permanentes. Las sentencias tipo DML son:
• CALL
• DELETE
• EXPLAIN PLAN
• INSERT
• LOCK TABLE
• MERGE
• SELECT
• UPDATE
CREATE TABLE
• Sentencia que permite crear una de los siguientes tipos de tablas:
• Tabla relacional: Que es la estructura básica para contener información.
• Tabla objeto: Que es una tabla que utiliza un Tipo Objeto para la definición
del tipo de columna. La Tabla Objeto está explícitamente definida para
contener instancias de un tipo en particular.
• Las tablas son creadas sin datos a menos que se especifique un subquery.

Prerrequisitos:
• Para crear una tabla en su propio esquema, deberá tener los privilegios para
la sentencia CREATE TABLE. Para crear tablas en otros esquemas usted
deberá tener el privilegio CREATE ANY TABLE. Así mismo el dueño del
esquema en el que se creará la tabla deberá tener cuota de espacio en el
Table Space que contendrá la tabla o el privilegio UNLIMITED TABLESPACE.
• En adición a esos privilegios, para crear una Tabla Objeto o una tabla
relacional con una columna de tipo objeto, el propietario deberá contar con
el privilegio de EXECUTE para poder así acceder a todos los tipos
referenciados por la tabla o bien contar con el privilegio del sistema EXECUTE
ANY TYPE, estos privilegios deben ser concedidos explícitamente.
Sentencia CREATE TABLE
Esta sentencia permite la creación de tablas.

Create table

Esquema.Nombre

(…)

Campo Tipo (ancho) [default] [constraint]

As

Cláusula que permite crear una tabla en
base a la sentencia select.

Select

Sentencia select que dará la estructura y
datos a la tabla a crear.
Creando tablas
-- Tabla que tendrá los tipos de clientes
create
table t_tipo_cliente
(
id_tipo_cliente number(10),
tipo_cliente varchar2(50),
descripcion_tipo varchar2(400)
);

--Creación de tabla para almacenar datos de clientes
create
table t_clientes ( Id_Cliente
number(10),
Nombres
varchar2(200),
Apellidos
varchar2(200),
id_tipo_cliente
number(10),
Fecha_creacion
date,
Usuario_creo
varchar2(60),
Fecha_modificacion date,
Usuario_modifico
varchar2(60)
);
SENTENCIA INSERT
Permite poblar con datos a una tabla, es decir, para agregar
registros a una tabla.
Prerrequisitos:
• Para poder insertar datos en una tabla el usuario que usted
emplea en la Base de Datos deberá tener permisos para ello
sobre la tabla en la que desea realizar la operación.
Insert into

Sentencia que indica que se insertarán
datos.

[Tabla]

Tabla a la que se agregarán datos.

[Campos]

Listado de campos que se poblarán o bien sin
indicarlos Oracle asumirá que son todos.

VALUES [SELECT]

Valores a insertar o sentencia select que
proveerá los datos.
Insertando datos
--Insertando tipo de clientes
insert
into t_tipo_cliente
values (
1,
'Particular',
'Cliente particular que adquiere el servicio por su cuenta de forma personal.'
);
Insertando datos
insert
into T_CLIENTES (Id_Cliente,
Nombres,
Apellidos)
values
(1,
'Byron Fermin',
'Quisquinay Urizar'
);
insert
into T_CLIENTES (Id_Cliente,
Nombres,
Apellidos)
values
(2,
'Juan',
'Ejemplo'
);

insert
into t_clientes
values (3,
'Pedro',
'Ejercicio',
1,
sysdate,
user,
null,
null);
Sentencia Select
Que es empleada para seleccionar información de tablas en una base de datos.
También es empleada para realizar una operación matemática o la ejecución de
alguna función.

Select

Columna, operación, función, Select (in
line view).

From

Tabla, vista, vista materializada, select.

Where

Condiciones, select (nested query).

Order By, Group by

Columna, función o alias.

Having

Condición.
Consultado (seleccionando)
datos
--Seleccionando todos los datos
select *
from t_tipo_cliente;
select *
from t_clientes;
select *
from t_clientes_tmp;
Creando tablas
--Creación de tabla temporal de clientes
create
table t_clientes_tmp
as
select *
from t_clientes;
Consultado …
--Seleccionando con funciones y filtros (where)
select count(*) cantidad_registros
from t_tipo_cliente;
select count(*) cantidad_registros
from t_tipo_cliente
where tipo_cliente = 'Residencial';
Insertando datos…
--Inserción de los datos de tabla de clientes a temporal de clientes.
insert
into t_clientes_tmp
select *
from t_clientes
Consultado …
--Seleccionando con funciones y filtros (where)
select count(*) cantidad_registros
from t_tipo_cliente;
select count(*) cantidad_registros
from t_tipo_cliente
where tipo_cliente = 'Residencial';
Create Sequence
Una secuencia es un objeto de la Base de Datos que se emplea para crear enteros
únicos. Usted puede utilizarlas para crear los valores para llaves primarias.

Create Sequence

Sentencia que solicita la creación de una
secuencia.

Increment by
[Entero]

Deberá especificar el intervalo en enteros que será el valor a
incrementar en cada solicitud de nuevo valor para la
secuencia.

Start with [Entero]

Valor con el que se iniciará la secuencia

Maxvalue

Último valor con el que podrá obtener la
secuencia.

Minvalue

Valor más pequeño que tendrá la
secuencia.
Creando secuencias…
--Secuencia para el Id del cliente
create
sequence s_clientes
increment by 1
start with 1
maxvalue 999999999;
Insertando datos
insert
into T_CLIENTES (Id_Cliente,
Nombres,
Apellidos)
values
(s_clientes.nextval,
'Jorge',
'Ejemplo'
);
Consultado …
--Seleccionando datos empleando filtros
select *
from t_clientes
where id_cliente = 1;

select *
from t_clientes_tmp
where id_cliente = 1;

Contenu connexe

Tendances

Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosHector Martinez
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre OracleRaúl Galíndez
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoJosé Antonio Sandoval Acosta
 

Tendances (9)

Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre Oracle
 
Taller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDLTaller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDL
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Abd3 sql
Abd3 sqlAbd3 sql
Abd3 sql
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Base de datos en sql
Base de datos en sqlBase de datos en sql
Base de datos en sql
 

Similaire à Curso SQL Básico

6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageInés Rosero
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageDoris Aguagallo
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01Dyego de Alvaro
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageWilliam Lozano
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageChars Orden
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageAny Saula
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languagejhonny tenesaca
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2Oscar Valdivieso
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageLiliana Charco
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageCesar Yupa
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDBliras loca
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptxCarlosSaid7
 
Unidad I- Introducción.pptx
Unidad I- Introducción.pptxUnidad I- Introducción.pptx
Unidad I- Introducción.pptxdffdfsd
 

Similaire à Curso SQL Básico (20)

Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
111
111111
111
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 
Introduction to SQL SERVER
Introduction to  SQL SERVERIntroduction to  SQL SERVER
Introduction to SQL SERVER
 
Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Unidad I- Introducción.pptx
Unidad I- Introducción.pptxUnidad I- Introducción.pptx
Unidad I- Introducción.pptx
 

Plus de Byron Quisquinay

Manual del curso de sql fundamentos y práctica
Manual del curso de sql   fundamentos y prácticaManual del curso de sql   fundamentos y práctica
Manual del curso de sql fundamentos y prácticaByron Quisquinay
 
101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestasByron Quisquinay
 
Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Byron Quisquinay
 
Casos de uso qué - cómo... por byron quisquinay
Casos de uso   qué - cómo... por byron quisquinayCasos de uso   qué - cómo... por byron quisquinay
Casos de uso qué - cómo... por byron quisquinayByron Quisquinay
 
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaDesarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaByron Quisquinay
 

Plus de Byron Quisquinay (14)

Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Manual del curso de sql fundamentos y práctica
Manual del curso de sql   fundamentos y prácticaManual del curso de sql   fundamentos y práctica
Manual del curso de sql fundamentos y práctica
 
101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestas
 
Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo
 
Comprendiendo RUP
Comprendiendo   RUPComprendiendo   RUP
Comprendiendo RUP
 
Casos de uso qué - cómo... por byron quisquinay
Casos de uso   qué - cómo... por byron quisquinayCasos de uso   qué - cómo... por byron quisquinay
Casos de uso qué - cómo... por byron quisquinay
 
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaDesarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
 

Dernier

SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 

Dernier (20)

SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 

Curso SQL Básico

  • 1. Curso Básico de SQL Por Byron Quisquinay Guatemala 2013. Basado en documentación Oracle® Database SQL Language Reference 12c Release 1 (12.1) E17209-14
  • 2.
  • 3. Introducción al curso • El presente es un curso de nivel básico para el aprendizaje de SQL como lenguaje de consulta y modificación de datos y objetos de la Base de Datos. • Método: Se empleará la tutoría en modalidad de disertación (o exposición) , con ejemplos de lo expresado aplicado a la creación de objetos de Base de Datos para su posterior manipulación. Empleando así mismo casos para ser resueltos y una evaluación final para determinar el nivel de fijación del contenido expuesto y practicado. • Objetivo: Instruir a los participantes de manera tal que sean capaces de comprender y emplear el lenguaje SQL para la interacción con el RDBMS (Relational Data Base Management System).
  • 4. Oracle SQL El Lenguaje de Consulta Estructurado (SQL) es el conjunto de sentencias [f. Inform. Secuencia de expresiones que especifica una o varias operaciones.] (declaraciones) con las que todos los programas y usuarios acederán a la información en una Base de Datos de Oracle. Las Aplicaciones y las herramientas de Oracle generalmente permiten a los usuarios acceder a la base de datos sin utilizar SQL directamente, pero esas aplicaciones en cambio utilizan SQL cuando ejecután las peticiones del cliente.
  • 5. ¿Qué se puede hacer con el SQL? El SQL provee sentencias (comandos) para realizar una variedad de tareas que incluyen: • • • • • Consultar la información (data). Insertar, actualizar y borrar registros en una tabla. Crear, reemplazar, alterar y borrar objetos. Controlar el acceso a la Base de Datos y sus objetos. Garantizar la consistencia e integridad de los datos.
  • 6. Herramientas de Soporte Oracle provee un número de herramientas para facilidar el proceso de desarrollo SQL: • Oracle SQL Developer: Es una herramienta gráfica que le permite buscar, crear, editar y borrar objetos de la base de datos. Editar y deputar código PL/SQL, ejecutar sentencias SQL y scripts, etc. • SQL*Plus: es una herramienta interactiva y por lote que es incluida con cada instalación de la base de datos Oracle, tanto en cliente como en servidor. Es una interface de línea de comando y también cuenta con una interface basada en Web, llamada iSQL*Plus. • Oracle Jdeveloper: es un entorno de desarrollo multiplataforma integrado de apoyo al ciclo de vida de desarrollo de Java, servicios Web y SQL. • Oracle Application Express: es un entorno organizado para desarrollar y desplegar aplicaciones Web con bases de datos relacionadas.
  • 7. Consideraciones de redacción Las siguientes definiciones para los temas de las sentencias SQL aplican específicamente para implementaciones de la base de Datos de Oracle pero son generalemente aceptadas en otras implementaciones de SQL. • Cuando usted emite una sentencia SQL, puede incluir uno o más caracteres TAB, retorno de carro (ENTER), espacios o comentarios donde quiera. • El uso de mayúsculas o minúsculas no tiene significado [para el RDBMS] en las palabras reservadas, identificadores y parámetros; así mismo no tienen significado en la declaración de cadenas de texto o valores constantes. • Las sentencias SQL son finalizadas de forma diferente en los distintos ambinentes de programación. En este documento se define por defecto el uso del caracter SQL*Plus punto y coma (;). • La realización de comentarios tanto en PL/SQL así como SQL, anónimo o almacenado en la base de datos puede hacerse utilizando los caracteres ´--´ o entre los caracteres ´/* */´.
  • 8. Por ejemplo: --Query 1 SELECT last_name,salary*12,MONTHS_BETWEEN(SYSDATE,hire_date) FROM employees WHERE department_id = 30 ORDER BY last_name; /* Query 2*/ SELECT last_name, salary * 12, MONTHS_BETWEEN( SYSDATE, hire_date ) FROM employees WHERE department_id=30 ORDER BY last_name;
  • 9. Buenas prácticas al redactar /*----------------------------------------------*/ /* Script de ejemplo versión 1.0 */ /* Creado el: 03/10/2013 */ /* Creado por: Byron Quisquinay */ /*----------------------------------------------*/ declare v_fecha v_hora v_fecha_y_hora v_fecha_texto varchar2(50) := to_char(sysdate,'dd/mm/yyyy'); varchar2(50) := to_char(sysdate,'hh:mm:ss'); varchar2(50) := to_char(sysdate,'dd/mon/yyyy hh:mm:ss'); varchar2(50) := null; begin --Conversión de fecha empleando textos completos en el día y el mes begin select to_char(sysdate,'Day dd Month, yyyy','nls_date_language=spanish') into v_fecha_texto from dual; exception when others then begin dbms_output.put_line(sqlerrm); v_fecha_texto := null; end; end; --Impresión de resultados en pantalla dbms_output.put_line(v_fecha); dbms_output.put_line(v_hora); dbms_output.put_line(v_fecha_y_hora); dbms_output.put_line(v_fecha_texto); end;
  • 10. • Identificar claramente el programa: ayudará tanto a su autor como a quienes deban interpretarlo y/o modificarlo, algunas sugerencias de datos para la identificación: • • • • • • • Fecha de Creación. Autor. Versión actual. Versión anterior. Fecha Modificación. Nombre de Quién Modificó. Propósito u objetivo. • Una escritura clara e inteligible: esto permitirá una comprensión rápida del programa, además de permitir un manejo de errores que resulte en una mejor administración del mismo. • Definición de bloques para el manejo de errores: El encapsular entre begin y end las sentencias y definir manejo de errores permitirá una mejor administración de los programas. • Documentar el programa: junto con las buenas prácticas anteriores, permitirá una mejor administración del programa.
  • 11. Tipos de Sentencias SQL Definición de datos (DDL) Manipulación de Datos (DML)
  • 12. Tareas que se pueden realizar con sentencias DDL • • • • • Crear, alterar o eliminar (drop) objetos del esquema. Conceder y revocar privilegios y roles. Analizar la información de una tabla, índice o cluster. Establecer condiciones de auditoría. Agregar comentarios al diccionario de datos. • El crear, alterar o eliminar un objeto requiere acceso exclusivo al objeto que es objeto de la sentencia DDL. Por ejemplo si usted desea alterar una tabla y otro usuario tiene una transacción abierta, la sentencia fallará. • El Conceder y revocar privilegios, analizar, auditar o comentar un objeto no requiere de acceso exclusivo. Es decir, usted puede analizar una tabla aún cuando un usuario la esté actualizando. • La base de datos Oracle realiza el commit de forma implícita antes y después de cada sentencia DDL. • Las sentencias DDL son soportadas en PL/SQL a través del paquete dbms_sql.
  • 13. Estas son las sentencias DDL • • • • • • • • • • • • • • • ALTER ANALYZE ASSOCIATE STATISTICS AUDIT COMMENT CREATE DISASSOCIATE STATISTICS DROP FLASHBACK GRANT NOAUDIT PURGE RENAME REVOKE TRUNCATE
  • 14. Sentencias DML Data Manipulation Language, Lenguaje de Manipulación de Datos, las sentencias de este tipo acceden y manipulan la información objetos existentes en la base de datos. Estas sentencias requieren ser confirmadas a través de la sentencia COMMIT para hacerlas permanentes. Las sentencias tipo DML son: • CALL • DELETE • EXPLAIN PLAN • INSERT • LOCK TABLE • MERGE • SELECT • UPDATE
  • 15. CREATE TABLE • Sentencia que permite crear una de los siguientes tipos de tablas: • Tabla relacional: Que es la estructura básica para contener información. • Tabla objeto: Que es una tabla que utiliza un Tipo Objeto para la definición del tipo de columna. La Tabla Objeto está explícitamente definida para contener instancias de un tipo en particular. • Las tablas son creadas sin datos a menos que se especifique un subquery. Prerrequisitos: • Para crear una tabla en su propio esquema, deberá tener los privilegios para la sentencia CREATE TABLE. Para crear tablas en otros esquemas usted deberá tener el privilegio CREATE ANY TABLE. Así mismo el dueño del esquema en el que se creará la tabla deberá tener cuota de espacio en el Table Space que contendrá la tabla o el privilegio UNLIMITED TABLESPACE. • En adición a esos privilegios, para crear una Tabla Objeto o una tabla relacional con una columna de tipo objeto, el propietario deberá contar con el privilegio de EXECUTE para poder así acceder a todos los tipos referenciados por la tabla o bien contar con el privilegio del sistema EXECUTE ANY TYPE, estos privilegios deben ser concedidos explícitamente.
  • 16. Sentencia CREATE TABLE Esta sentencia permite la creación de tablas. Create table Esquema.Nombre (…) Campo Tipo (ancho) [default] [constraint] As Cláusula que permite crear una tabla en base a la sentencia select. Select Sentencia select que dará la estructura y datos a la tabla a crear.
  • 17. Creando tablas -- Tabla que tendrá los tipos de clientes create table t_tipo_cliente ( id_tipo_cliente number(10), tipo_cliente varchar2(50), descripcion_tipo varchar2(400) ); --Creación de tabla para almacenar datos de clientes create table t_clientes ( Id_Cliente number(10), Nombres varchar2(200), Apellidos varchar2(200), id_tipo_cliente number(10), Fecha_creacion date, Usuario_creo varchar2(60), Fecha_modificacion date, Usuario_modifico varchar2(60) );
  • 18. SENTENCIA INSERT Permite poblar con datos a una tabla, es decir, para agregar registros a una tabla. Prerrequisitos: • Para poder insertar datos en una tabla el usuario que usted emplea en la Base de Datos deberá tener permisos para ello sobre la tabla en la que desea realizar la operación.
  • 19. Insert into Sentencia que indica que se insertarán datos. [Tabla] Tabla a la que se agregarán datos. [Campos] Listado de campos que se poblarán o bien sin indicarlos Oracle asumirá que son todos. VALUES [SELECT] Valores a insertar o sentencia select que proveerá los datos.
  • 20. Insertando datos --Insertando tipo de clientes insert into t_tipo_cliente values ( 1, 'Particular', 'Cliente particular que adquiere el servicio por su cuenta de forma personal.' );
  • 21. Insertando datos insert into T_CLIENTES (Id_Cliente, Nombres, Apellidos) values (1, 'Byron Fermin', 'Quisquinay Urizar' ); insert into T_CLIENTES (Id_Cliente, Nombres, Apellidos) values (2, 'Juan', 'Ejemplo' ); insert into t_clientes values (3, 'Pedro', 'Ejercicio', 1, sysdate, user, null, null);
  • 22. Sentencia Select Que es empleada para seleccionar información de tablas en una base de datos. También es empleada para realizar una operación matemática o la ejecución de alguna función. Select Columna, operación, función, Select (in line view). From Tabla, vista, vista materializada, select. Where Condiciones, select (nested query). Order By, Group by Columna, función o alias. Having Condición.
  • 23. Consultado (seleccionando) datos --Seleccionando todos los datos select * from t_tipo_cliente; select * from t_clientes; select * from t_clientes_tmp;
  • 24. Creando tablas --Creación de tabla temporal de clientes create table t_clientes_tmp as select * from t_clientes;
  • 25. Consultado … --Seleccionando con funciones y filtros (where) select count(*) cantidad_registros from t_tipo_cliente; select count(*) cantidad_registros from t_tipo_cliente where tipo_cliente = 'Residencial';
  • 26. Insertando datos… --Inserción de los datos de tabla de clientes a temporal de clientes. insert into t_clientes_tmp select * from t_clientes
  • 27. Consultado … --Seleccionando con funciones y filtros (where) select count(*) cantidad_registros from t_tipo_cliente; select count(*) cantidad_registros from t_tipo_cliente where tipo_cliente = 'Residencial';
  • 28. Create Sequence Una secuencia es un objeto de la Base de Datos que se emplea para crear enteros únicos. Usted puede utilizarlas para crear los valores para llaves primarias. Create Sequence Sentencia que solicita la creación de una secuencia. Increment by [Entero] Deberá especificar el intervalo en enteros que será el valor a incrementar en cada solicitud de nuevo valor para la secuencia. Start with [Entero] Valor con el que se iniciará la secuencia Maxvalue Último valor con el que podrá obtener la secuencia. Minvalue Valor más pequeño que tendrá la secuencia.
  • 29. Creando secuencias… --Secuencia para el Id del cliente create sequence s_clientes increment by 1 start with 1 maxvalue 999999999;
  • 30. Insertando datos insert into T_CLIENTES (Id_Cliente, Nombres, Apellidos) values (s_clientes.nextval, 'Jorge', 'Ejemplo' );
  • 31. Consultado … --Seleccionando datos empleando filtros select * from t_clientes where id_cliente = 1; select * from t_clientes_tmp where id_cliente = 1;