SlideShare una empresa de Scribd logo
1 de 30
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 varchar2(50) := to_char(sysdate,'dd/mm/yyyy'); 
v_hora varchar2(50) := to_char(sysdate,'hh:mm:ss'); 
v_fecha_y_hora varchar2(50) := to_char(sysdate,'dd/mon/yyyy hh:mm:ss'); 
v_fecha_texto 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 
(…) 
As 
Select 
Esquema.Nombre 
Campo Tipo (ancho) [default] [constraint] 
Cláusula que permite crear una tabla en 
base a la sentencia 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 
[Tabla] 
[Campos] 
VALUES [SELECT] 
Sentencia que indica que se insertarán 
datos. 
Tabla a la que se agregarán datos. 
Listado de campos que se poblarán o bien sin 
indicarlos Oracle asumirá que son todos. 
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 
From 
Where 
Order By, Group by 
Having 
Columna, operación, función, Select (in 
line view). 
Tabla, vista, vista materializada, select. 
Condiciones, select (nested query). 
Columna, función o alias. 
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 
Increment by 
[Entero] 
Start with [Entero] 
Maxvalue 
Minvalue 
Sentencia que solicita la creación de una 
secuencia. 
Deberá especificar el intervalo en enteros que será el valor a 
incrementar en cada solicitud de nuevo valor para la 
secuencia. 
Valor con el que se iniciará la secuencia 
Último valor con el que podrá obtener la 
secuencia. 
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;

Más contenido relacionado

La actualidad más candente

Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Sergio Sanchez
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
Gustavo Cortez
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
JOSE AHIAS LOPEZ PORTILLO
 
Sentencias dml y ddl
Sentencias dml y ddlSentencias dml y ddl
Sentencias dml y ddl
kleberyauti
 
LENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADOLENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADO
Minerva136
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
Luis Bando
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
Bolivar Castillo
 

La actualidad más candente (20)

Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Sql comandos
Sql comandosSql comandos
Sql comandos
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
SQL-DDL
SQL-DDLSQL-DDL
SQL-DDL
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Sentencias dml y ddl
Sentencias dml y ddlSentencias dml y ddl
Sentencias dml y ddl
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQL
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
LENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADOLENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADO
 
05 Más comandos ddl
05 Más comandos ddl05 Más comandos ddl
05 Más comandos ddl
 
LDD
LDDLDD
LDD
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 

Similar a Introduccion a SQL

6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2
Oscar Valdivieso
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Doris Aguagallo
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Cesar Yupa
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
jhonny tenesaca
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Liliana Charco
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
William Lozano
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Yoly QC
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Chars Orden
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
Any Saula
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
felpe33
 
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
CarlosSaid7
 

Similar a Introduccion a SQL (20)

Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
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
 
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 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
 
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
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 
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
 

Último

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
EdwinGarca59
 

Último (20)

Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docx
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
innovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 bloginnovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 blog
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 

Introduccion a SQL

  • 1.
  • 2. 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).
  • 3. 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.
  • 4. ¿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.
  • 5. 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.
  • 6. 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 ´/* */´.
  • 7. 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;
  • 8. Buenas prácticas al redactar /*----------------------------------------------*/ /* Script de ejemplo versión 1.0 */ /* Creado el: 03/10/2013 */ /* Creado por: Byron Quisquinay */ /*----------------------------------------------*/ declare v_fecha varchar2(50) := to_char(sysdate,'dd/mm/yyyy'); v_hora varchar2(50) := to_char(sysdate,'hh:mm:ss'); v_fecha_y_hora varchar2(50) := to_char(sysdate,'dd/mon/yyyy hh:mm:ss'); v_fecha_texto 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;
  • 9. • 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.
  • 10. Tipos de Sentencias SQL Definición de datos (DDL) Manipulación de Datos (DML)
  • 11. 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.
  • 12. Estas son las sentencias DDL • ALTER • ANALYZE • ASSOCIATE STATISTICS • AUDIT • COMMENT • CREATE • DISASSOCIATE STATISTICS • DROP • FLASHBACK • GRANT • NOAUDIT • PURGE • RENAME • REVOKE • TRUNCATE
  • 13. 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
  • 14. 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.
  • 15. Sentencia CREATE TABLE Esta sentencia permite la creación de tablas. Create table (…) As Select Esquema.Nombre Campo Tipo (ancho) [default] [constraint] Cláusula que permite crear una tabla en base a la sentencia select. Sentencia select que dará la estructura y datos a la tabla a crear.
  • 16. 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) );
  • 17. 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.
  • 18. Insert into [Tabla] [Campos] VALUES [SELECT] Sentencia que indica que se insertarán datos. Tabla a la que se agregarán datos. Listado de campos que se poblarán o bien sin indicarlos Oracle asumirá que son todos. Valores a insertar o sentencia select que proveerá los datos.
  • 19. 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.' );
  • 20. 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);
  • 21. 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 From Where Order By, Group by Having Columna, operación, función, Select (in line view). Tabla, vista, vista materializada, select. Condiciones, select (nested query). Columna, función o alias. Condición.
  • 22. Consultado (seleccionando) datos --Seleccionando todos los datos select * from t_tipo_cliente; select * from t_clientes; select * from t_clientes_tmp;
  • 23. Creando tablas --Creación de tabla temporal de clientes create table t_clientes_tmp as select * from t_clientes;
  • 24. 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';
  • 25. Insertando datos… --Inserción de los datos de tabla de clientes a temporal de clientes. insert into t_clientes_tmp select * from t_clientes
  • 26. 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';
  • 27. 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 Increment by [Entero] Start with [Entero] Maxvalue Minvalue Sentencia que solicita la creación de una secuencia. Deberá especificar el intervalo en enteros que será el valor a incrementar en cada solicitud de nuevo valor para la secuencia. Valor con el que se iniciará la secuencia Último valor con el que podrá obtener la secuencia. Valor más pequeño que tendrá la secuencia.
  • 28. Creando secuencias… --Secuencia para el Id del cliente create sequence s_clientes increment by 1 start with 1 maxvalue 999999999;
  • 29. Insertando datos insert into T_CLIENTES (Id_Cliente, Nombres, Apellidos) values (s_clientes.nextval, 'Jorge', 'Ejemplo' );
  • 30. Consultado … --Seleccionando datos empleando filtros select * from t_clientes where id_cliente = 1; select * from t_clientes_tmp where id_cliente = 1;