You are on page 1of 18

“Ciencia y Tecnología al Servicio del País”

22-I

Facultad de Ingeniería Geológica,


Minera y Metalúrgica
Curso: Sistema de Procesamiento de Datos (TI011)
Alumno: Díaz Rojas Álvaro Rodrigo
Docente: Chavez Valdivia Adolfo Jesus
5to Ciclo
Lenguaje SQL
Introducción

SQL por sus siglas “Structured Query Language (Lenguaje de consulta estructurada)” es
un lenguaje de programación que nos permite trabajar con un conjunto de datos y
relacionarlos entre si.
Características:
• Nos permite insertar, consultar, actualizar y borrar datos; además de permitirnos
crear y modificar esquemas; así como controlar el acceso a los datos.
• Se basa principalmente en el manejo del álgebra y cálculo relacional.
• Consiste de 4 lenguajes:
• Data Definition Language (DDL)
• Data Manipulation Language (DML)
• Data Control Language (DCL)
• Transaction Control Language (TCL)
• Este lenguaje es usado para los sistema de gestión de bases de datos (SGBD),
algunos de estos son:
• Oracle
• MySQL
• Microsoft SQL Server
• Access
• PostgreSQL
• SQLite, etc.
Tipos de datos

Los tipos de datos que puede almacenar un SGDB varían de acuerdo con
el sistema que usemos, tomando como referencia el software Microsoft
Access los datos que puede almacenar son los siguientes:

• Text: Se utiliza para insertar texto o combinaciones de texto y


número o números que no requieran cálculos (Códigos
postales, número de teléfono, etc). Almacena hasta 255
caracteres como máximo. Actualmente se encuentra como
“Short Text”.

• Memo: Este tipo de dato se usa para cantidades grandes de


texto. En versiones anteriores de Access almacenaba hasta
65536 caracteres, pero actualmente almacena hasta 1 GB de
texto, aunque solo puede mostrar hasta los 64000 caracteres. Se
encuentra como “Long Text”.

• Yes/No: Se utiliza cuando queremos guardar un dato de tipo


booleano (Que solo pueda tener 2 posibles valores). Almacena
1 byte y no pueden existir valores nulos en este campo y se
separa en 3 formatos diferentes:

• Yes/No: Muestra el valor como un Si o un No.

• True/False: Muestra el valor como un Verdadero o Falso.

• On/Off: Muestra el valor como un Activado o


Desactivado.
Tipos de datos
• Number: Se usa para datos numéricos que usaremos para futuros cálculos,
exceptuando los monetarios (estos usarán el Currency). El tamaño que
puede tener este campo varía de acuerdo a las siguientes opciones:

• Byte: Permite números enteros desde el 0 al 255. Almacena 1 byte.

• Integer: Permite números enteros desde el -32,768 al 32,767.


Almacena 2 bytes.

• Long Integer: Permite colocar números enteros desde el -


2,147,483,648 al 2,147,483,647. Almacena 4 bytes.

• Single: Usado para números decimales que van desde −3.4 × Error al usar límites fuera del rango de Byte
1038 𝑎𝑙 3.4 × 1038. Y muestra los 7 primeros dígitos significantes.
Almacena 4 bytes.

• Double: Usado para números decimales que van desde −1.797 ×


10308 𝑎𝑙 1.797 × 10308 . Y muestra los 15 primeros dígitos
significantes. Almacena 8 bytes. Error al usar límites fuera del rango de Integer

• Replication ID: Se usa cuando queremos almacenar un GUID


(Global unique identifier) que se requiere para replicar. Almacena
16 bytes.

• Decimal: Usado para números decimales que van desde Error al usar límites fuera del rango de Long Integer
− 9.999 … × 1027 ℎ𝑎𝑠𝑡𝑎 9.999 … × 1027. En este caso se puede
editar el número de decimales que queremos usar. Almacena 12
bytes.
Tipos de datos

• Large Number: Se usa para almacenar datos grandes Error al usar límites fuera del rango de Large Number
de tipo numérico que se usarán para algún cálculo
posterior, excepto los de tipo monetario. Almacena 8
bytes. Generalmente es usado en ves de Number para
un mayor rango de cálculo (Large Number almacena
desde −263 ℎ𝑎𝑠𝑡𝑎 263 − 1).
Diferentes formatos del dato tipo Currency
• Currency: Se usa para almacenar un dato del tipo
monetario, este dato no es redondeado en los cálculos
que se usen. Además de poder usar hasta 15 decimales
y mostrar resultados precisos. Almacena 8 bytes.
Interfaz “Expression Builder” en la cual podemos decidir el cálculo que aplicaremos a
Puede cambiarse el formato a Euro que permite hacer uno o más campos, además de decidir el formato de nuestro cálculo (Ejm: Double)
cálculos con la moneda oficial de la Unión Europea.
• Calculated: Lo usamos para guardar los resultados de
un cálculo. Para ello debemos definir el cálculo que se
realizará de otros dos campos definidos anteriormente
en la misma tabla. Los resultados pueden aparecer en
cualquier formato de tipo Number, Currency, Large
Number, etc. Almacena la cantidad de bytes que
requiera el formato en el que se encuentra.
Resultado que muestra Calculated en el campo Cálculo
Tipos de datos

• Attachment: Nos permite almacenar archivos, imágenes, gráficos, Formatos bloqueados por Attachment
etc. Se pueden agregar uno o varios documentos por casilla, sin
embargo, hay un límite de hasta 2 GB de almacenamiento.
Además de que el nombre del archivo junto a su extensión no
deben superar los 255 caracteres ni tener íconos especiales como
?, ¨¨, /,*, etc.
• Date / Time y Date / Time Extended: Se usa para almacenar datos
relacionados a la hora y fecha. Se puede usar un formato
predefinido o crear uno propio, entre los predefinidos tenemos a:
• General date: Generalmente solo muestra la fecha
(15/11/2003), aunque también puede mostrar la hora
(15:23:45).
• Long date: Muestra de manera completa la fecha (Lunes, 14
de Febrero del 2010).
• Medium date: Muestra la fecha como 14-Feb.-2010
• Short date: 14/02/2010
• Long time: Muestra la hora como 14:23:34
• Medium time: Solo muestra la hora y minutos (02:23 PM)
• Short time: Muestra la hora en formato 24 horas (14:23)
La diferencia entre Date / Time y Date / Time Extended se basa en la Representaciones de Date / Time en todos sus formatos predeterminados
precisión que este presenta respecto a Date / Time, además de poder
almacenar más información (Hasta 42 bytes comparado con los 8 que
almacena Date / Time).
Tipos de datos

• OLE Object: Se usa para adjuntar un objeto OLE como una hoja de Ejemplo de una hoja de cálculo de Excel insertada en OLE Object
cálculo de Excel. Se prefiere usar Attachment puesto que OLE
Object permite menos tipos de archivos, además de no poder
adjuntar más de uno a la vez. Almacena hasta 2 GB.
• Autonumber: Similar a Replication ID. Autonumber provee un
GUID a diversos valores para hacerlos únicos, generalmente
empezando del número 1. Puede almacenar de 4 a 16 bytes. En
versiones actuales Autonumber contiene el formato Replication ID.
• Hyperlink: Usado para guardar un hipervículo, como una dirección
de correo electrónico o una URL de una página web. Puede
almacenar hasta 2048 caracteres.

Uso del Autonumber para dar un valor único a cada dato Uso del Replication ID para dar un valor único a cada dato

URL insertada en Hyperlink


Lenguaje de Definición de Datos (DDL)

El DDL es un lenguaje proporcionado por el SGDB Comando Create que permitió crear la tabla Alumnos, aunque vacía
que nos permite la modificación de la estructura de los
objetos en una base de datos. Entre las operaciones que
presenta tenemos a:
• Create: Este comando nos permite crear
objetos, bases de datos, tablas, índices,
funciones, etc.
• Drop: Al contrario que el comando Create,
este comando elimina objetos, bases de
datos, índices, vistas, tablas, etc.
• Alter: Este comando nos permite alterar o
Comando Drop borró la antigua tabla Alumnos creada
modificar la estructura de una base de datos
ya definida sin suprimirla o volver a crearla,
puede añadir o eliminar columnas; así como
cambiar sus parámetro (longitud, valor, etc)
• Truncate: Solo aplicable a tablas, este
comando elimina todos los datos existentes
de una tabla, incluyendo los espacios donde
se registran los datos.
• Comment: Este comando agrega
comentarios al diccionario de datos.
• Rename: Permite cambiar el nombre de un
objeto dentro de una base de datos.
Lenguaje de Definición de Datos (DDL)
Comando Alter seguido de RENAME COLUMN TO cambió el nombre de la columna
Comando Alter seguido de ADD COLUMN añadió la columna Teléfono a la tabla Alumnos Teléfono a Número_Telefónico

En el compilador SQLite no existe el


comando TRUNCATE puesto que lo
simplificaron al comando DELETE FROM,
sin embargo cumple el mismo objetivo,
pues se ve como los datos insertados en la
tabla desaparece puesto que fueron
eliminados de la tabla
Lenguaje de Manipulación de Datos (DML)

El DML es un lenguaje proporcionado por el SGDB que nos


permite llevar a cabo las acciones de consulta, gestión o
manipulación de datos dentro de una base de datos. Las acciones
que se pueden realizar son:
• Select: Este comando nos permite consultar los datos
almacenados dentro de una tabla de bases de datos. A su
vez, este comando debe definirse mediante otros Comando Select, From y Where
subcomandos los cuales son: donde se quiere el Nombre,
Apellido y Edad de los hombres
• All: Indica la recuperación de todos los datos.
en la tabla Alumnos
• Distinct: Indica solo la recuperación de datos con
valor distinto.
• From: Indica la tabla o tablas de las cuales
queremos recuperar la información.
• Where: Indica una condición que deben cumplir
los datos para que sean devueltos.
• Group by: Indica como se agruparán los datos
recolectados. Comando Selecto, From, Group
• Having: Similar al Where, solo que este se aplica a by, Having y Order by donde se
los datos ya devueltos, se agrupa con Group by. quiere el Nombre, Apellido y
Edad de los alumnos de 16 años
• Order by: Presenta los valores devueltos ordenado
a menos donde se ordenará de
por las columnas indicadas (ASC para orden
acuerdo con el apellido de
ascendente y DESC para orden descendente).
manera descendente
Lenguaje de Manipulación de Datos (DML)

• Insert: Este comando nos permite ingresar valores a solo una


tabla de una base de datos.
• Update: El comando se utiliza para modificar o actualizar los
valores existentes en una tabla.
• Bulk Insert: Forma avanzada del Insert que permite añadir
valores a una tabla desde un archivo externo.
Comando Insert donde le
• Delete: Se encarga de borrar uno o más registros existentes
colocamos los datos que
dentro de una tabla.
deseamos a nuestra tabla creada
• Merge: Dependiendo de una condición lógica, este comando
actualiza registros (Update) si se cumple la condición, o inserta
registros (Insert) si no se cumple esta condición.
• Call: Llama a un PL/SQL o un subprograma Java.
• Explain Plan: Comando que nos explica la ruta de acceso hacia
los datos.

Comando Update donde primero


cambiamos el Nombre a Ryan al
Comando Delete donde
alumno de Id = 3, para luego
eliminamos de la tabla
cambiar el Nombre a José a
Alumnos a todos aquellos con
todos los hombres
Id menor e igual a 3
Lenguaje de Control de Datos (DCL)

El DCL es un lenguaje proporcionado por el SGDB que nos permite controlar Permite a todos los usuarios Insertar valores en la tabla films
el acceso a los datos contenidos en una base de datos. Estos comandos son:
• Grant: Define los privilegios o permisos a uno o diversos usuarios
para realizar determinadas tareas. Permite al usuario Manuel todos los privilegios en la tabla
• Revoke: Permite eliminar permisos que hallan sido permitidos clientes
anteriormente por Grant.
• Las acciones a las que se pueden acceder mediante estos comandos
Permite al usuario Manuel pertenecer al rango de admins
son:
• Select
• Insert
• Update
• Delete Quita a todos los usuarios el permiso de Insertar valores en la tabla films

• Truncate
• References
Quita al usuario Manuel todos los privilegios en la tabla clientes
• Trigger
• Create
• Connect Quita al usuario Manuel el privilegio de pertenecer al rango de admins
• Temporary
• Execute
• Usage
Lenguaje de Control de Transacciones (TCL)

El TCL es un lenguaje proporcionado por el SGDB y un subconjunto


de SQL que se usa para controlar el proceso de transacciones en una
base de datos. Una transacción se define como una agrupación de
acciones que deben cumplir 4 propiedades fundamentales: En este caso se usó el comando BEGIN TRANSACTION para iniciar la
• Atomicidad: Indica que una transacción es indivisible, o se transacción de crear la Tabla Alumnos, una vez insertamos los datos con COMMIT
ejecutan todas las acciones o no se ejecuta ninguna. hacemos un guardado, luego iniciamos una nueva transacción en la cual con
• Consistencia: Después de una transacción la base de datos se UPDATE haremos que todos los hombres se llamen Jose y guardamos con
encontrará en un estado válido y consistente. COMMIT nuevamente, finalmente con una última transacción y el UPDATE
decimos que todas las mujeres se llamen Maria; sin embargo esto no era lo que
• Aislamiento: Nos indica que cada transacción está aislada del resto queríamos así que usamos ROLLBACK para volver al último punto de guardado
de transacciones, además de indicar que el acceso a los datos se que fue el cambio de nombre a Jose, por ello en la Tabla no se muestra el último
hará de forma exclusiva. Esto quiere decir que si una transacción cambio hecho a las mujeres.
quiere acceder de forma concurrente a los datos que están siendo
utilizados por otra transacción, esta no podrá hacerlo hasta que la
primera haya terminado.
• Durabilidad: Los cambios que realiza una transacción sobre una
base de datos son permanentes.
Los comandos de TCL incluyen:
• Commit: Guarda la transacción realizada
• Savepoint: Identifica a un punto de la transacción a la que se puede
volver más adelante.
• Rollback: Restaura la base de datos hasta el último Commit
• Set transaction: Cambia las opciones de transacción
Esquema general del lenguaje SQL

• Mediante el siguiente mapa resumimos todo lo que se puede realizar mediante el lenguaje SQL.
• Los comandos y sus tipos de datos y condiciones variarán de acuerdo al software utilizado (Para este trabajo se usó SQLite).
DROP CONSTRAINT Elimina una restricción UNIQUE, PRIMARY KEY, FOREIGN KEY o CHECK
DROP DATABASE Elimina una base de datos SQL existente
DROP DEFAULT Elimina una restricción DEFAULT

Palabras o comandos claves en SQL


DROP INDEX
DROP TABLE
Elimina un índice de una tabla
Elimina una tabla existente en la base de datos
DROP VIEW Elimina una vista
EXEC Ejecuta un procedimiento almacenado
Palabra Clave Descripcion EXISTS Pruebas de la existencia de cualquier registro en una subconsulta
ADD Agrega una columna en una tabla existente FOREIGN KEY Una restricción que es una clave utilizada para vincular dos tablas entre sí
ADD CONSTRAINT Agrega una restricción después de que ya se haya creado una tabla FROM Especifica de qué tabla seleccionar o eliminar datos
ALL Devuelve TRUE si todos los valores de subconsulta cumplen la condición FULL OUTER JOIN Devuelve todas las filas cuando hay una coincidencia en la tabla izquierda o en la tabla derecha.
ALTER Agrega, elimina o modifica columnas de una tabla o cambia el tipo de datos de una columna de una tabla GROUP BY Agrupa el conjunto de resultados (utilizado con funciones agregadas: COUNT, MAX, MIN, SUM, AVG)
ALTER COLUMN Cambia el tipo de datos de una columna de una tabla HAVING Se utiliza en lugar de WHERE con funciones agregadas
ALTER TABLE Agrega, elimina o modifica columnas de una tabla IN Permite especificar varios valores en una cláusula WHERE
AND Solo incluye filas en las que ambas condiciones son verdaderas INDEX Crea o elimina un índice en una tabla
ANY Devuelve TRUE si alguno de los valores de la subconsulta cumple la condición INNER JOIN Devuelve filas que tienen valores coincidentes en ambas tablas.
AS Cambia el nombre de una columna o tabla con un alias INSERT INTO Inserta nuevas filas en una tabla
ASC Ordena el conjunto de resultados en orden ascendente INSERT INTO SELECT Copia datos de una tabla a otra tabla
BACKUP DATABASE Crea una copia de seguridad de una base de datos existente IS NULL Pruebas de valores vacíos
BETWEEN Selecciona valores dentro de un rango determinado IS NOT NULL Pruebas para valores no vacíos
CASE Crea diferentes salidas en función de las condiciones JOIN Une tablas
CHECK Restricción que limita el valor que se puede colocar en una columna LEFT JOIN Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha.
COLUMN Cambia el tipo de datos de una columna o elimina una columna de una tabla LIKE Busca un patrón especificado en una columna
LIMIT Especifica el número de registros que se van a devolver en el conjunto de resultados
CONSTRAINT Agrega o elimina una restricción
NOT Solo incluye filas en las que una condición no es verdadera
CREATE Crea una base de datos, un índice, una vista, una tabla o un procedimiento
NOT NULL Una restricción que obliga a una columna a no aceptar valores NULL
CREATE DATABASE Crea una nueva base de datos SQL
OR Incluye filas en las que cualquiera de las condiciones es verdadera
CREATE INDEX Crea un índice en una tabla (permite valores duplicados)
ORDER BY Ordena el conjunto de resultados en orden ascendente o descendente
CREATE OR REPLACE VIEW
Actualiza una vista
OUTER JOIN Devuelve todas las filas cuando hay una coincidencia en la tabla izquierda o en la tabla derecha.
CREATE TABLE Crea una nueva tabla en la base de datos
PRIMARY KEY Una restricción que identifica de forma única cada registro de una tabla de base de datos
CREATE PROCEDURE Crea un procedimiento almacenado
PROCEDURE Un procedimiento almacenado
CREATE UNIQUE INDEXCrea un índice único en una tabla (sin valores duplicados)
RIGHT JOIN Devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda.
CREATE VIEW Crea una vista basada en el conjunto de resultados de una instrucción SELECT
ROWNUM Especifica el número de registros que se van a devolver en el conjunto de resultados
DATABASE Crea o elimina una base de datos SQL
SELECT Selecciona datos de una base de datos
DEFAULT Una restricción que proporciona un valor predeterminado para una columna
SELECT DISTINCT Selecciona solo valores distintos (diferentes)
DELETE Elimina filas de una tabla
SELECT INTO Copia datos de una tabla en una tabla nueva
DESC Ordena el conjunto de resultados en orden descendente
SELECT TOP Especifica el número de registros que se van a devolver en el conjunto de resultados
DISTINCT Selecciona solo valores distintos (diferentes)
SET Especifica qué columnas y valores deben actualizarse en una tabla
DROP Elimina una columna, restricción, base de datos, índice, tabla o vista TABLE Crea una tabla, o agrega, elimina o modifica columnas en una tabla, o elimina una tabla o datos dentro de una ta
DROP COLUMN Elimina una columna de una tabla TOP Especifica el número de registros que se van a devolver en el conjunto de resultados
DROP CONSTRAINT Elimina una restricción UNIQUE, PRIMARY KEY, FOREIGN KEY o CHECK TRUNCATE TABLE Elimina los datos dentro de una tabla, pero no la tabla en sí
DROP DATABASE Elimina una base de datos SQL existente UNION Combina el conjunto de resultados de dos o más instrucciones SELECT (solo valores distintos)
DROP DEFAULT Elimina una restricción DEFAULT UNION ALL Combina el conjunto de resultados de dos o más instrucciones SELECT (permite valores duplicados)
DROP INDEX Elimina un índice de una tabla UNIQUE Una restricción que garantiza que todos los valores de una columna son únicos
DROP TABLE Elimina una tabla existente en la base de datos UPDATE Actualiza las filas existentes de una tabla
DROP VIEW Elimina una vista VALUES Especifica los valores de una instrucción INSERT INTO
EXEC Ejecuta un procedimiento almacenado VIEW Crea, actualiza o elimina una vista
EXISTS Pruebas de la existencia de cualquier registro en una subconsulta
¡MUCHAS GRACIAS!

You might also like