SlideShare ist ein Scribd-Unternehmen logo
1 von 31
SQL BÁSICO
Msc.Ing. JOSE FABIAN DIAZ SILVA
@josefabiandiaz
SQL - INTRO
 SQL : Structure Query Language
 Es un lenguaje muy popular para el trabajo con los motores de bases de datos,
alcanzo su punto mas alto con los sistemas de almacenamiento relacionales
(basado en relación entre tablas).
 Existe un estándar definido para trabajar con SQL pero cada motor de base
datos implementa algunas sentencias propietarias pensadas en el
aprovechamiento de su sistema.
SENTENCIAS
Sentencias

Clasificación

SELECT

Recuperación de datos

INSERT
UPDATE
DELETE
MERGE

Lenguaje de manipulación de datos (DML)

CREATE
ALTER
DROP
RENAME
TRUNCATE

Lenguaje de definición de datos (DDL)

COMMIT
ROLLBACK
SAVEPOINT

Control de transacciones

GRANT
REVOKE

Lenguaje de control de datos (DCL)
RECUPERACIÓN DE DATOS
Data Retrieval
SELECT
 SELECT *| { [DISTINCT]columna | expresión[alias], … }

FROM table;
 El “*” se emplea junto a la palabra reservada SELECT para retornar todas las columnas
de la tabla, si no es empleado se tiene que referir explícitamente al campo=columna.
 DISTINCT es un comando para asegurar que no se repitan los datos retornados.
 Se pueden emplear los denominados Alias para referirse a un campo. Todos los campos
se separa

en el FROM se especifica el nombre de la tabla a consultar.
SELECT nombre, apellido FROM persona;
DEFINIENDO “ALIAS”
 SELECT apellido “empleado”,
salario * 12 “sueldoTotal” FROM empleados;
 Los alias ayudan a darle mas sentido a los datos resultantes de una consulta.

En el ejemplo presentado se aprecia como una expresión “salario * 12”
puede ser empleada como retorno de una consulta SELECT.

“Los alias se caracterizan por emplear las comillas dobles en su
nombramiento”.
CONCATENACIÓN & DUPLICACIÓN
 SELECT nombre || apellido as “nombres”
FROM empleados;
 Se aprecia que el símbolo “||” se emplea para unir dos campos , así como la palabra
“as” se establece para indicar el alias que llevara estos campos unidos.

SELECT Distinct departamento
FROM empleados;
La palabra “distinct” evita la repetición de campos cuando se recuperan
los datos de una tabla.
DESCRIBIR ESTRUCTURA
 DESCRIBE “NOMBRE TABLA”
 Por medio de la palabra reservada DESCRIBE o su versión resumida DESC es posible
conocer los campos con su tipo y tamaño que corresponden a un arreglo tipo tabla.

Nombre

Restricción

Tipo

Id_empleado

NOT NULL

NUMBER(5)

Nombre

NOT NULL

VARCHAR2(20)

Apellido

NOT NULL

VARCHAR2(20)
WHERE
 SELECT *| { [DISTINCT]columna | expresión[alias], … }

FROM table
[WHERE condicion)(es)];
 La palabra “WHERE” se emplea para restringir las filas que se retornan

el empleo de la misma brinda versatilidad al poder incluir diversas
condiciones.

SELECT nombre, apellido FROM persona WHERE id_empleado=23;
BETWEEN
 SELECT apellido, salario
 FROM empleados
WHERE salario BETWEEN 100 AND 300;
 Con la sentencia BETWEEN se restringe un intervalo dentro de los cuales se espera
conseguir un resultado.

el empleo de la misma brinda versatilidad al poder incluir diversas
condiciones de validación.
IN
 SELECT apellido, salario
 FROM empleados
WHERE salario IN (100,200,600);
 Con la sentencia IN se restringe los valores retornados únicamente a los que coincidan
con los descritos en el conjunto dado por IN.

La posibilidad de realizar una consulta al interior de los paréntesis de
IN abre nuevas posibilidades..
LIKE
 SELECT apellido, salario
 FROM empleados
WHERE apellido LIKE ‘D%’;
 Retorna aquellos empleados cuyo apellido inicie con “D”.

Con LIKE se efectúa una consulta en campos de cadenas de
caracteres. El símbolo % se emplea como comodín para representar
cualquier cantidad de cadena de caracteres en la posición que se localice. Es
decir si se emplea “%D%” se retornaría cualquier apellido que contenga la
letra D.
ORDER BY
 SELECT apellido, salario
FROM empleados
ORDER BY fecha_contrato asc/desc;
La sentencia ORDER BY permite efectuar un ordenamiento de los
datos recuperados de la consulta(las columnas), puede ser del tipo
ascendente ASC o descendente DESC, lo cual se indica al finalizar la
sentencia.
GROUP BY
 SELECT id_ jefe,avg(salario)
FROM empleados
GROUP BY id_jefe;
 La sentencia anterior retorna el promedio(avg) del salario de aquellas
personas que tienen el mismo jefe.
Algunos datos se desean trabajar como si se tratara de un grupo de
los mismos. Con la sentencia GROUP BY se agrupan los datos y permite
efectuar operaciones sobre ellos.
HAVING
 SELECT id_ jefe,max(salario)
FROM empleados
GROUP BY id_jefe
HAVING MAX(salario)>300;
 La sentencia HAVING permite efectuar consultas tipo WHERE sobre las
agrupaciones de datos.
En el ejemplo presentado si agrupo por el jefe, pero solo se
presentaran los datos de aquellos grupos que el máximo del salario sea
superior a 300.
SUBQUERY
 SELECT nombre, apellido
FROM empleados
WHERE sueldo> (SELECT sueldo FROM empleados WHERE
apellido=‘diaz’);

 La anterior se denomina “subconsulta” cuando se emplea una consulta
SQL como condición a evaluar por una consulta superior.
No todas las implementaciones de SQL admiten subconsultas, así
como tampoco todos los gestores de bases de datos las compilan.
DML: MANIPULACIÓN DE
DATOS
DML: Data manipulation laguage
INSERT
 INSERT INTO nombre_tabla (campos separados por
coma) VALUES (valores para los campos, separado por
comas);
 La sentencia INSERT se emplea para añadir campos a una tabla.
Cuando los campos son no numéricos se debe encerrar dentro de
comillas simples es valor escrito para que el compilador de SQL no lo
confunda con el valor de una constante.

INSERT INTO empleado (nombre, apellido, sueldo)
values(‘fabian’,’diaz’,300);
INSERT – VALORES NULOS
 INSERT INTO empleado(nombre, apellido) VALUES
(‘fabian’,’diaz’);
 Se puede insertar valores nulos por el método implícito de no nombrar el
campo.

INSERT INTO empleado VALUES
(‘fabian’,’diaz’,NULL);
Pero también se puede referenciar de forma explicita,
indicando que el campo esta vacío o nulo.
UPDATE
 UPDATE empleado
SET salario=100
WHERE apellido=‘diaz’;


Se emplea para modificar el contenido de los campos retornados por una
consulta WHERE.
Importante: Si la clausula WHERE no se coloca, toda la tabla
sufrirá el cambio especificado.
DELETE
 DELETE FROM empleado
WHERE apellido=‘diaz’;


Se emplea para eliminar los registros filtrados por la consulta WHERE.
Importante: Si la clausula WHERE no se coloca, toda la tabla
será borrada..
DDL: DEFINICIÓN DE DATOS
DDL: Data Definition Language
CREATE
 CREATE TABLE nombre_tabla
(columna tipo);
 Se debe especificar el nombre de la tabla junto con sus campos y
el tipo de los mismos.

Si es preciso eliminar la tabla solo es
necesario escribir:

DROP TABLE nombre_tabla

CREATE TABLE empleado
(id_empleado number(2),
nombre varchar2(20),
apellido varchar2(20),
salario number(5));
ALTER TABLE
 Sobre una tabla se pueden realizar 3 tipos de alteraciones,
 Adicionar ADD:



ALTER TABLE nombre_tabla
ADD (nombre_columna tipo_de_dato);

Modificar MODIFY:

ALTER TABLE nombre_tabla
MODIFY (nombre_columna tipo_de_dato);

 Eliminar DROP:
ALTER TABLE nombre_tabla
DROP (nombre_columna);
RESTRICCIONES : LLAVE PRIMARIA
 Las restricciones se emplean para adicionarle a las tablas un
control y coherencia.
 La llave primaria permite garantizar la identificación única de
un registro al interior de la tabla.
CREATE TABLE empleado
Notese que “id_pk_empleado” es el nombre de la
(id_empleado number(2),
llave primaria y puede ser reemplazado por
nombre varchar2(20),
cualquier valor.
apellido varchar2(20),
salario number(5),
CONSTRAINT id_pk_empleado PRIMARY KEY(id_empleado));
RESTRICCIONES : NOT NULL
 Algunos campos serán obligatorios y no podrán ser creados
vacíos o nulos, para lo cual se deben declarar de la siguiente
forma al interior de la tabla.

CREATE TABLE empleado
(id_empleado number(2),
nombre varchar2(20) NOT NULL,
apellido varchar2(20),
salario number(5));

Mas de un campo puede ser declarado con NOT
NULL, incluso todos.
RESTRICCIONES : UNIQUE
 La llave primaria permite identificar un campo de manera única
al interior de una tabla y se emplea para referenciarlo, pero
existen otros campos que se desea no tener duplicados, aunque
no se empleen como referencia. Estos campos se crean como
únicos.
CREATE TABLE empleado
(id_empleado number(2),
nombre varchar2(20) NOT NULL,
apellido varchar2(20),
salario number(5),

“No se emplean para identificación como la llave
primaria.”

email varchar2(20),CONSTRAINT emp_email_unico UNIQUE(email));
RESTRICCIONES : LLAVE FORANEA
 La llave foránea hace referencia a un campo que coincide con la
llave primaria de otra tabla. Se emplea para crear relaciones de
dependencia entre tablas.
CREATE TABLE empleado
(id_empleado number(2),
nombre varchar2(20),
“El campo id_departamento hace referencia a la
apellido varchar2(20),
tabla departamento que tiene un campo con el
salario number(5),
mismo nombre.”
id_departamento number(2),
email varchar2(20),CONSTRAINT emp_dep_fk (id_departamento) REFERENCES
departamento (id_departamento));
RESTRICCIONES : ADICIONAR/ELIMINAR
 ALTER TABLE empleado
ADD CONSTRAINT emp_direc FOREIGN KEY(jefe_id)
REFERENCES empleado (id_empleado)
ALTER TABLE empleado
DROP CONSTRAINT emp_direc
“Todas las restricciones se pueden agregar o
eliminar empleando el mismo método”.
ÍNDICES
 Los índices se emplean para agilizar las consultas sobre los
campos , ahorrando tiempo de procesamiento al gestor de base
de datos.
CREATE INDEX nombre_índice
ON nombre_tabla(nombre_campo);

CREATE INDEX nombre_emp
ON empleado(nombre);

“Se pueden tener tantos índices como campos
tenga la tabla, todo depende de las necesidades
propias del desarrollador”.
CONSULTAS
@josefabiandiaz
https://www.youtube.com/user/fabiandiazs

josefabiandiazs@Gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónM.c. Omar Jasso
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014Henry Cambal
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQLCarmen Soler
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL Jair Cruz
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sqlJulio Pari
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQLJorge Porras
 

Was ist angesagt? (20)

Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQL
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sql
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
1 lab-2 -tablas-y-restricciones
1 lab-2 -tablas-y-restricciones1 lab-2 -tablas-y-restricciones
1 lab-2 -tablas-y-restricciones
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQL
 

Andere mochten auch

Añadir host a gns3
Añadir host a gns3Añadir host a gns3
Añadir host a gns3Guiro Lin
 
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)Ing-D-SW-TorresKhano--ME
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datosYiber
 
Mapa Conceptual
Mapa ConceptualMapa Conceptual
Mapa Conceptuallukapegue
 
Consultas
ConsultasConsultas
ConsultasHenry
 
Elastix SIP Firewall: Una capa extra de seguridad para su PBX
Elastix SIP Firewall: Una capa extra de seguridad para su PBXElastix SIP Firewall: Una capa extra de seguridad para su PBX
Elastix SIP Firewall: Una capa extra de seguridad para su PBXPaloSanto Solutions
 
Actividad Firewall Cisco ASA 5510
Actividad Firewall Cisco ASA 5510Actividad Firewall Cisco ASA 5510
Actividad Firewall Cisco ASA 5510Yeider Fernandez
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centosmurilloyair
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidoresIsaac Gonzalez
 
Administracion de servidores
Administracion de servidoresAdministracion de servidores
Administracion de servidoresUsein Gonzalez
 
Seguridad en cisco firewall by ro ckberto
Seguridad en cisco   firewall by ro ckbertoSeguridad en cisco   firewall by ro ckberto
Seguridad en cisco firewall by ro ckbertoRoberto Flores
 
Diplomado Administración, Configuración y Seguridad de Servidores Linux
Diplomado Administración, Configuración y Seguridad de Servidores LinuxDiplomado Administración, Configuración y Seguridad de Servidores Linux
Diplomado Administración, Configuración y Seguridad de Servidores LinuxJuan Carlos Orozco Sigueñas
 

Andere mochten auch (20)

Añadir host a gns3
Añadir host a gns3Añadir host a gns3
Añadir host a gns3
 
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
P2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - IIP2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - II
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datos
 
Mapa Conceptual
Mapa ConceptualMapa Conceptual
Mapa Conceptual
 
Consultas
ConsultasConsultas
Consultas
 
Abd integridad
Abd integridadAbd integridad
Abd integridad
 
Elastix SIP Firewall: Una capa extra de seguridad para su PBX
Elastix SIP Firewall: Una capa extra de seguridad para su PBXElastix SIP Firewall: Una capa extra de seguridad para su PBX
Elastix SIP Firewall: Una capa extra de seguridad para su PBX
 
Consultas!
Consultas!Consultas!
Consultas!
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Base de datos sb09002
Base de datos sb09002Base de datos sb09002
Base de datos sb09002
 
Actividad Firewall Cisco ASA 5510
Actividad Firewall Cisco ASA 5510Actividad Firewall Cisco ASA 5510
Actividad Firewall Cisco ASA 5510
 
Squid
Squid Squid
Squid
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centos
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidores
 
Administrador de servidores
Administrador de servidoresAdministrador de servidores
Administrador de servidores
 
Administracion de servidores
Administracion de servidoresAdministracion de servidores
Administracion de servidores
 
Seguridad en cisco firewall by ro ckberto
Seguridad en cisco   firewall by ro ckbertoSeguridad en cisco   firewall by ro ckberto
Seguridad en cisco firewall by ro ckberto
 
Diplomado Administración, Configuración y Seguridad de Servidores Linux
Diplomado Administración, Configuración y Seguridad de Servidores LinuxDiplomado Administración, Configuración y Seguridad de Servidores Linux
Diplomado Administración, Configuración y Seguridad de Servidores Linux
 

Ähnlich wie Sql básico - compendio

Ähnlich wie Sql básico - compendio (20)

Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
BD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQLBD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQL
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
SQL.docx
SQL.docxSQL.docx
SQL.docx
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 
Consultas
ConsultasConsultas
Consultas
 
Command oracle
Command oracleCommand oracle
Command oracle
 

Mehr von Jose Diaz Silva

Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos AvanzadosJose Diaz Silva
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosJose Diaz Silva
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - UbuntuJose Diaz Silva
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacionJose Diaz Silva
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos variosJose Diaz Silva
 
Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetosJose Diaz Silva
 
Pruebas de implantación del Software
Pruebas de implantación del SoftwarePruebas de implantación del Software
Pruebas de implantación del SoftwareJose Diaz Silva
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraJose Diaz Silva
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPJose Diaz Silva
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de SoftwareJose Diaz Silva
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en UbuntuJose Diaz Silva
 
Errores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareErrores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareJose Diaz Silva
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioJose Diaz Silva
 
Llenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeLlenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeJose Diaz Silva
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioJose Diaz Silva
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - CompendioJose Diaz Silva
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionJose Diaz Silva
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finalesJose Diaz Silva
 

Mehr von Jose Diaz Silva (20)

Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos Avanzados
 
Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
 
Modding PC
Modding PCModding PC
Modding PC
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacion
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos varios
 
Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetos
 
Pruebas de implantación del Software
Pruebas de implantación del SoftwarePruebas de implantación del Software
Pruebas de implantación del Software
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia Segura
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
Taller Crontab - Ubuntu
Taller Crontab  - UbuntuTaller Crontab  - Ubuntu
Taller Crontab - Ubuntu
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de Software
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en Ubuntu
 
Errores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareErrores y fracasos en la implantación de Software
Errores y fracasos en la implantación de Software
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - Compendio
 
Llenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeLlenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xe
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - Compendio
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - Compendio
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finales
 

Kürzlich hochgeladen

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Kürzlich hochgeladen (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Sql básico - compendio

  • 1. SQL BÁSICO Msc.Ing. JOSE FABIAN DIAZ SILVA @josefabiandiaz
  • 2. SQL - INTRO  SQL : Structure Query Language  Es un lenguaje muy popular para el trabajo con los motores de bases de datos, alcanzo su punto mas alto con los sistemas de almacenamiento relacionales (basado en relación entre tablas).  Existe un estándar definido para trabajar con SQL pero cada motor de base datos implementa algunas sentencias propietarias pensadas en el aprovechamiento de su sistema.
  • 3. SENTENCIAS Sentencias Clasificación SELECT Recuperación de datos INSERT UPDATE DELETE MERGE Lenguaje de manipulación de datos (DML) CREATE ALTER DROP RENAME TRUNCATE Lenguaje de definición de datos (DDL) COMMIT ROLLBACK SAVEPOINT Control de transacciones GRANT REVOKE Lenguaje de control de datos (DCL)
  • 5. SELECT  SELECT *| { [DISTINCT]columna | expresión[alias], … } FROM table;  El “*” se emplea junto a la palabra reservada SELECT para retornar todas las columnas de la tabla, si no es empleado se tiene que referir explícitamente al campo=columna.  DISTINCT es un comando para asegurar que no se repitan los datos retornados.  Se pueden emplear los denominados Alias para referirse a un campo. Todos los campos se separa en el FROM se especifica el nombre de la tabla a consultar. SELECT nombre, apellido FROM persona;
  • 6. DEFINIENDO “ALIAS”  SELECT apellido “empleado”, salario * 12 “sueldoTotal” FROM empleados;  Los alias ayudan a darle mas sentido a los datos resultantes de una consulta. En el ejemplo presentado se aprecia como una expresión “salario * 12” puede ser empleada como retorno de una consulta SELECT. “Los alias se caracterizan por emplear las comillas dobles en su nombramiento”.
  • 7. CONCATENACIÓN & DUPLICACIÓN  SELECT nombre || apellido as “nombres” FROM empleados;  Se aprecia que el símbolo “||” se emplea para unir dos campos , así como la palabra “as” se establece para indicar el alias que llevara estos campos unidos. SELECT Distinct departamento FROM empleados; La palabra “distinct” evita la repetición de campos cuando se recuperan los datos de una tabla.
  • 8. DESCRIBIR ESTRUCTURA  DESCRIBE “NOMBRE TABLA”  Por medio de la palabra reservada DESCRIBE o su versión resumida DESC es posible conocer los campos con su tipo y tamaño que corresponden a un arreglo tipo tabla. Nombre Restricción Tipo Id_empleado NOT NULL NUMBER(5) Nombre NOT NULL VARCHAR2(20) Apellido NOT NULL VARCHAR2(20)
  • 9. WHERE  SELECT *| { [DISTINCT]columna | expresión[alias], … } FROM table [WHERE condicion)(es)];  La palabra “WHERE” se emplea para restringir las filas que se retornan el empleo de la misma brinda versatilidad al poder incluir diversas condiciones. SELECT nombre, apellido FROM persona WHERE id_empleado=23;
  • 10. BETWEEN  SELECT apellido, salario  FROM empleados WHERE salario BETWEEN 100 AND 300;  Con la sentencia BETWEEN se restringe un intervalo dentro de los cuales se espera conseguir un resultado. el empleo de la misma brinda versatilidad al poder incluir diversas condiciones de validación.
  • 11. IN  SELECT apellido, salario  FROM empleados WHERE salario IN (100,200,600);  Con la sentencia IN se restringe los valores retornados únicamente a los que coincidan con los descritos en el conjunto dado por IN. La posibilidad de realizar una consulta al interior de los paréntesis de IN abre nuevas posibilidades..
  • 12. LIKE  SELECT apellido, salario  FROM empleados WHERE apellido LIKE ‘D%’;  Retorna aquellos empleados cuyo apellido inicie con “D”. Con LIKE se efectúa una consulta en campos de cadenas de caracteres. El símbolo % se emplea como comodín para representar cualquier cantidad de cadena de caracteres en la posición que se localice. Es decir si se emplea “%D%” se retornaría cualquier apellido que contenga la letra D.
  • 13. ORDER BY  SELECT apellido, salario FROM empleados ORDER BY fecha_contrato asc/desc; La sentencia ORDER BY permite efectuar un ordenamiento de los datos recuperados de la consulta(las columnas), puede ser del tipo ascendente ASC o descendente DESC, lo cual se indica al finalizar la sentencia.
  • 14. GROUP BY  SELECT id_ jefe,avg(salario) FROM empleados GROUP BY id_jefe;  La sentencia anterior retorna el promedio(avg) del salario de aquellas personas que tienen el mismo jefe. Algunos datos se desean trabajar como si se tratara de un grupo de los mismos. Con la sentencia GROUP BY se agrupan los datos y permite efectuar operaciones sobre ellos.
  • 15. HAVING  SELECT id_ jefe,max(salario) FROM empleados GROUP BY id_jefe HAVING MAX(salario)>300;  La sentencia HAVING permite efectuar consultas tipo WHERE sobre las agrupaciones de datos. En el ejemplo presentado si agrupo por el jefe, pero solo se presentaran los datos de aquellos grupos que el máximo del salario sea superior a 300.
  • 16. SUBQUERY  SELECT nombre, apellido FROM empleados WHERE sueldo> (SELECT sueldo FROM empleados WHERE apellido=‘diaz’);  La anterior se denomina “subconsulta” cuando se emplea una consulta SQL como condición a evaluar por una consulta superior. No todas las implementaciones de SQL admiten subconsultas, así como tampoco todos los gestores de bases de datos las compilan.
  • 17. DML: MANIPULACIÓN DE DATOS DML: Data manipulation laguage
  • 18. INSERT  INSERT INTO nombre_tabla (campos separados por coma) VALUES (valores para los campos, separado por comas);  La sentencia INSERT se emplea para añadir campos a una tabla. Cuando los campos son no numéricos se debe encerrar dentro de comillas simples es valor escrito para que el compilador de SQL no lo confunda con el valor de una constante. INSERT INTO empleado (nombre, apellido, sueldo) values(‘fabian’,’diaz’,300);
  • 19. INSERT – VALORES NULOS  INSERT INTO empleado(nombre, apellido) VALUES (‘fabian’,’diaz’);  Se puede insertar valores nulos por el método implícito de no nombrar el campo. INSERT INTO empleado VALUES (‘fabian’,’diaz’,NULL); Pero también se puede referenciar de forma explicita, indicando que el campo esta vacío o nulo.
  • 20. UPDATE  UPDATE empleado SET salario=100 WHERE apellido=‘diaz’;  Se emplea para modificar el contenido de los campos retornados por una consulta WHERE. Importante: Si la clausula WHERE no se coloca, toda la tabla sufrirá el cambio especificado.
  • 21. DELETE  DELETE FROM empleado WHERE apellido=‘diaz’;  Se emplea para eliminar los registros filtrados por la consulta WHERE. Importante: Si la clausula WHERE no se coloca, toda la tabla será borrada..
  • 22. DDL: DEFINICIÓN DE DATOS DDL: Data Definition Language
  • 23. CREATE  CREATE TABLE nombre_tabla (columna tipo);  Se debe especificar el nombre de la tabla junto con sus campos y el tipo de los mismos. Si es preciso eliminar la tabla solo es necesario escribir: DROP TABLE nombre_tabla CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20), apellido varchar2(20), salario number(5));
  • 24. ALTER TABLE  Sobre una tabla se pueden realizar 3 tipos de alteraciones,  Adicionar ADD:  ALTER TABLE nombre_tabla ADD (nombre_columna tipo_de_dato); Modificar MODIFY: ALTER TABLE nombre_tabla MODIFY (nombre_columna tipo_de_dato);  Eliminar DROP: ALTER TABLE nombre_tabla DROP (nombre_columna);
  • 25. RESTRICCIONES : LLAVE PRIMARIA  Las restricciones se emplean para adicionarle a las tablas un control y coherencia.  La llave primaria permite garantizar la identificación única de un registro al interior de la tabla. CREATE TABLE empleado Notese que “id_pk_empleado” es el nombre de la (id_empleado number(2), llave primaria y puede ser reemplazado por nombre varchar2(20), cualquier valor. apellido varchar2(20), salario number(5), CONSTRAINT id_pk_empleado PRIMARY KEY(id_empleado));
  • 26. RESTRICCIONES : NOT NULL  Algunos campos serán obligatorios y no podrán ser creados vacíos o nulos, para lo cual se deben declarar de la siguiente forma al interior de la tabla. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20) NOT NULL, apellido varchar2(20), salario number(5)); Mas de un campo puede ser declarado con NOT NULL, incluso todos.
  • 27. RESTRICCIONES : UNIQUE  La llave primaria permite identificar un campo de manera única al interior de una tabla y se emplea para referenciarlo, pero existen otros campos que se desea no tener duplicados, aunque no se empleen como referencia. Estos campos se crean como únicos. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20) NOT NULL, apellido varchar2(20), salario number(5), “No se emplean para identificación como la llave primaria.” email varchar2(20),CONSTRAINT emp_email_unico UNIQUE(email));
  • 28. RESTRICCIONES : LLAVE FORANEA  La llave foránea hace referencia a un campo que coincide con la llave primaria de otra tabla. Se emplea para crear relaciones de dependencia entre tablas. CREATE TABLE empleado (id_empleado number(2), nombre varchar2(20), “El campo id_departamento hace referencia a la apellido varchar2(20), tabla departamento que tiene un campo con el salario number(5), mismo nombre.” id_departamento number(2), email varchar2(20),CONSTRAINT emp_dep_fk (id_departamento) REFERENCES departamento (id_departamento));
  • 29. RESTRICCIONES : ADICIONAR/ELIMINAR  ALTER TABLE empleado ADD CONSTRAINT emp_direc FOREIGN KEY(jefe_id) REFERENCES empleado (id_empleado) ALTER TABLE empleado DROP CONSTRAINT emp_direc “Todas las restricciones se pueden agregar o eliminar empleando el mismo método”.
  • 30. ÍNDICES  Los índices se emplean para agilizar las consultas sobre los campos , ahorrando tiempo de procesamiento al gestor de base de datos. CREATE INDEX nombre_índice ON nombre_tabla(nombre_campo); CREATE INDEX nombre_emp ON empleado(nombre); “Se pueden tener tantos índices como campos tenga la tabla, todo depende de las necesidades propias del desarrollador”.