Está en la página 1de 26

SQL (STRUCTERED QUERY LANGUAGE)

• Es una herramienta para organizar, gestionar y


recuperar datos almacenados en una Base de Datos
Informática.
• El tipo de Base de Datos que trabaja es la Relacional.
• El control de la Base de Datos es a través del RDBMS.
• El nombre SQL es inapropiado, va más allá de ser
Lenguaje de Consultas, que se hizo al inicio y a los
pocos años se añadió hacer actualizaciones.
• Su predecesor fue el SEQUEL (Structured English
Query Language)

En el Curso: se usará tablas y Base de datos Relacionales


Uso de SQL Para Acceso a BD
E.Relacionales: en 1970 Edgar Codd (IBM USA) investiga y
concibe su modelo que llega a implantarse a mediados de
la década del 80. La Base de Datos está conformada por
tablas (Archivos) y las relaciona con las llaves. Su teoría
incluye operación entre tablas con operaciones de la Teoría
de Conjuntos y el Algebra Relacional

Las base de Datos Relacionales se mantienen desde 1,986


(En mayoría en el Mercado actual).
Se amplía el Concepto a los DBMS (Data Base Management
System): Un Sistema de SW que manejan la creación,
organización y modificación de una Base de Datos y accesa
a datos almacenados dentro de el. Un DBMS proporciona
control centralizado, independencia de datos y estructuras
físicas complejas para accesos eficientes, integridad,
recuperación, concurrencia y seguridad.
SERVICIO
VEHICULO CHOFER
Id_servicio PK
Id_vehiculo PK Id_pedido FK Id_Chofer PK
Placa Id_vehiculo FK
Nombre
Marca Id_Chofer FK
Nro_brevete
Color Fecha_servicio
DNI
Año Hora_servicio
Turno
Tipo Lugar_salida
Lugar_destino
Tipo_vehiculo PEDIDO
Costo
FALLA Id_pedido PK

Id_falla PK CLIENTE Empleado


Id_cliente FK
Id_servicio FK Id_cliente PK Nombre_cliente
Fecha_servicio
Nombre Fecha
Hora_servicio
DNI Hora
Descripcion
Domicilio Lugar_salida
Fecha_falla
Fecha_inscrip Lugar_destino
Hora_falla
Fecha_ult_serv Tipo_vehiculo
Lugar
SQL Proporciona a los Usuarios:

• Definición de Datos
• Recuperación de Datos
• Manipulación de Datos
• Control de Acceso
• Compartición de Datos
• Integridad de Datos
Características y Beneficios del SQL

• Portabilidad a través de Sistemas Informáticos


• Estructura de alto nivel semejante al Inglés
• Consultas interactivas AD HOC
• Acceso a Base de Datos por Programas
• Vistas múltiples de Datos
• Lenguaje de Base de Datos
• Definición Dinámica de Datos
• La Arquitectura Cliente Servidor
Tipos de Datos

• Comunes de los DBMS:


Char, Varchar
integer
real
numeric
money
date
datetime
Sentencias SQL
Aproximadamente son 30:
• CREATE TABLE, ALTER TABLE, DROP TABLE
• CREATE VIEW, ALTER VIEW, DROP VIEW
• CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE
• CREATE TRIGGER, ALTER TRIGGER, DROP TRIGGER
• SELECT
• INSERT, UPDATE, DELETE
• GRANT, REVOQUE
• Etc.
Notación en SQL
• Tabla o Archivo
• La Fila de la tabla o Registro o Tupla
• La Columna de la tabla o Campo o Atributo

• Las tablas son planas, de dos dimensiones y sin


grupos repetitivos. En Base de datos relacional.
Consultas Simples

• Se utiliza la sentencia SELECT


• SELECT recupera datos de una Tabla de una BD y
los devuelve en forma de resultados de la consulta
• Obligatoriamente tiene que usar la Cláusula FROM
• Opcionalmente usa las cláusulas WHERE, GROUP
BY, HAVING y ORDER BY
Formato de la sentencia SELECT
SELECT [DISTINCT] [*] columna [, ...]
FROM nombre_tabla [, ...]
[WHERE condición]
[GROUP BY columna [, ...]]
[HAVING condición]
[ORDER BY columna [, ...]]
[UNION [ALL] SELECT ……]
Leyenda:
letras en mayúsculas son Palabras Reservadas
Letras en minúsculas son Palabras del Usuario
Lo contenido en [ ] es opcional
Lo subrayado es obligatorio
, … Significa que lo anterior se repite
Consultas Simples
• Selección de Todas las Columnas
• Columnas Calculadas
• Filas Duplicadas
• Selección de Fila (Filtro con la Cláusula WHERE)
• Condiciones de Búsquedas (Dentro del WHERE)
Condiciones de Búsqueda (Dentro del WHERE)

Test de Comparación (=,<>,<,<=,>,>=)

Test de Rango (BETWEEN)

Test de Pertenencia a Conjunto (IN)

Test de Correspondencia a patrón (LIKE)

Test de valor nulo (IS NULL)


Select nombre, ventas from repventas where director = 104
Test de Comparación
Compara expresión_1 con expresión_ 2

Formato:
… expresión_1 = expresión_2
<>
<
<=
>
>=
Test de Rango

Los valores resultantes de la expresión


de test se comprueban si están dentro
del rango o fuera de él (NOT)

Formato:
…expresión_de_test [NOT] BETWEEN
expresión_inf AND expresión_sup
Test de Pertenencia a Conjunto (IN)

Comprueba si los valores de la expresión de


test son iguales al conjunto de valores dentro
del paréntesis ó son diferentes a ellos
(opción NOT)

Formato:
...expresión_de_test [NOT] IN (constante,....)
Test de Correspondencia a Patrón

Comprueba si los valores de la columna de tipo


carácter se ajustan al patrón indicado ó son el
complemento (NOT)

Formato:

...nombre_columna [NOT] LIKE patrón


[ESCAPE carácter escape]
Valor Nulo (NULL)
Así como los datos tipo entero , real, carácter
etc. tienen un dominio de muchos valores,
SQL para cualquier columna con tipo entero,
real, carácter, fecha etc, ha creado un tipo de
valor especial el NULL que es <> a 0 (cero) ó
es <> ‘b’ (blanco) para datos no especificados
en el momento de crear una fila.
El valor NULL es notorio en lugar de cero ó
blanco y con decisión posteriormente se le
reemplazará por un valor.
Test de Valor Nulo (IS NULL)

Comprueba si el valor de columna de


cualquier tipo es nulo ó no (NOT)

Formato:

...nombre_columna IS [NOT] NULL


Condiciones de Búsqueda Compuesta

Las Condiciones de búsquedas simples


descritas anteriormente devuelven un
valor TRUE, FALSE o NULL cuando se
aplica a una fila de datos.
Las condiciones se pueden combinar
con NOT, AND y OR
Tabla de Verdad del AND

AND TRUE FALSE NULL

TRUE TRUE FALSE NULL


FALSE FALSE FALSE NULL
NULL NULL NULL NULL
Tabla de Verdad del OR

OR TRUE FALSE NULL

TRUE TRUE TRUE TRUE


FALSE TRUE FALSE NULL
NULL TRUE NULL NULL
Tabla de Verdad del NOT

NOT TRUE FALSE NULL

FALSE TRUE NULL


Cláusula ORDER BY

Ordena los resultados de una consulta.


Puede combinarse con la cláusula WHERE.

Formato:
.....ORDER BY nombre_columna [ASC|DESC] ,...
ó número_columna
Consideraciones

1. Comenzar con el FROM


2. Si hay Cláusula WHERE, descartar filas
3. Si se aplica DISTINCT eliminar filas
duplicadas
4. Si hay Cláusula ORDER BY, ordenar los
resultados de la consulta según se especifican

También podría gustarte