2. ¿Qué es el SQL?
Es un lenguaje de programación diseñado para almacenar, manipular y recuperar datos
almacenados en una base de datos relacionadas.
También puede ser definido como un lenguaje de acceso a bases de datos que explota la
flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones
sobre los mismos, comportándose como un lenguaje declarativo de alto nivel, que gracias a
su fuerte base teórica y su orientación al manejo de conjuntos de registros, permite una alta
productividad en codificación.
Es un lenguaje de base de datos normalizado
Está fuertemente ligado al trabajo presentado por Edgar F. Codd - “Relational Modelo d Data
for Large Shared Data Banks” (1.970), en el cual propone un modelo relacional, y asociado a
este modelo un sub lenguaje de acceso a los datos. Codd en su trabajo plantea la separación
entre el lenguaje de manipulación de los datos y la necesidad de comprender la estructura
interna de almacenamiento de la información.
“Una sola sentencia en SQL puede equivaler a uno o más programas que utilizasen un lenguaje de bajo
nivel orientado a registro”
3. Características Generales
Lenguaje de Definición de Datos: Proporciona comandos para la definición de esquemas de relación,
borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje Interactivo de Manipulación de Datos: Incluye lenguajes de consultas basado tanto en álgebra
relacional como en cálculo relacional de tuplas ( en matemáticas, es una secuencia ordenada de objetos,
esto es, una lista con un número limitado de objetos).
Integridad: Incluye comandos para especificar las restricciones de integridad que deben cumplir los datos
almacenados en la base de datos.
Definición de vistas: Comandos para definir las vistas.
Control de Transacciones: Comandos para especificar el comienzo y el final de una transacción.
SQL, incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en
lenguajes de programación como C++, C, Java, PHP,Cobol, Pascal y Fortran.
Autorización: Comandos para especificar los derechos de acceso a las relaciones y a las visitas.
5. Arquitectura Estándar de Tres Niveles
Los sistemas de gestión de base de datos relacional soportan la arquitectura estándar en tres niveles. Como se
muestra en la figura, las bases de datos relaciones proporcionan independencia de datos tanto lógica como física,
porque separan los niveles externo, lógico e interno.
6. Nivel Lógico :Este nivel representa para las bases de datos relacionales consiste en tablas base que se almacenan
físicamente. Estas tablas se crean mediante el Administrador de Base de Datos (ABD) con el uso del comando CREATE
TABLE (crear tabla). Una tabla base puede tener cualquier numero de índices, creados por el ABD usando el comando
CREATE INDEX(crear índice). Un índice se usa para acelerar la recuperación de registros con base en el valor en una o
más columnas . Un índice menciona los valores que existen para la columna indexada y la ubicación de los registros que
tienen dichos valores.
Nivel Físico : En este nivel físico, las tablas base se representan, junto con sus índices, en archivos. La representación
física de las tablas puede no corresponder exactamente con la noción de una tabla como un objeto bidimensional que
consiste en filas y columnas. Sin embargo, las filas de la tabla si corresponden con los registros almacenados físicamente,
aunque su orden y otros detalles de almacenamiento pueden ser diferentes del concepto de ellos.
Vistas : Una vez creadas las tablas bases, se pueden crear “VISTAS” para los usuarios, con el uso del comando CREATE
VIEW (crear vista). Una vista puede ser un subconjunto de una sola tabla base, o bien crearse al combinar tablas bases.
Las vistas son “tablas virtuales”, que no se almacenan de modo permanente, sino que se crean cuando el usuario necesita
acceder a las mismas. Los usuarios no saben que sus vistas no se almacenan de manera física en forma de tabla.
Arquitectura Estándar de Tres Niveles
7. Componentes del SQL
El lenguaje SQL esta compuesto por comandos, clausulas, operadores y funciones de agregado. Estos
elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
8. Componentes del SQL – Comandos DDL
CREATE
• CREAR NUEVAS TABLAS.
• CREAR NUEVAS CAMPOS E
ÍNDICES.
DROP • ELIMINA TABLAS E ÍNDICES.
ALTER
• MODIFICAR LAS TABLAS
AGREGANDO CAMPOS O
CAMBIANDO LOS CAMPOS.
9. Componentes del SQL - Comandos DML
• Consultas registros de la base de datos que
satisfagan un criterio.
Select
• Cargar lotes de datos en la base de datos.
Insert
• Modifica valores de los campos y registros.
Update
• Elimina registros de una tabla de una base de
datos.
Delete
11. Componentes del SQL - Comandos DCL
REVOKE
• ESTE COMANDO CREA UN OBJETO
DENTRO DE LA BASE DE DATOS.
GRANT
• ESTE COMANDO PERMITE MODIFICAR
LA ESTRUCTURA DE UN OBJETO.
DENY
• ESTE COMANDO ELIMINA UN OBJETO DE LA BASE DE
DATOS. SE PUEDE COMBINAR CON LA SENTENCIA ALTER.
12. Componentes del SQL – Comandos TCL
• Para guardar el estado de base de datos
después de completar la transacción.
COMMIT
• Para restaurar el estado de base de datos,
en un estado antes del inicio de la
operación.
ROLLBACK
13. Componentes del SQL - Clausulas
Especifica la tabla de la cual se van a
seleccionar los registros.
FROM
Especifica las condiciones que deben de reunir los
registros.
WHERE
Separa los registros seleccionados a grupos específicos.
GROUP BY
Expresa la condición que satisface cada grupo.
HAVING
Ordena los registros seleccionados de acuerdo a
un orden especifico.
ORDER BY
14. Componentes del SQL – Operadores & Funciones
Orden de Ejecución de los Comandos
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Comparación
<
>
<>
<=
>=
BETWEEN
LIKE
IN
Lógicos
AND
OR
NOT
Aritméticos
+
-
*
/
**
^
Funciones de Agregado
AVG
COUNT
SUM
MAX
MIN
15. Consultas de Selección
Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de
las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden
almacenar en un objeto recordset. Sintaxis Básica :
16. Consultas de Selección con Predicados
El predicado SQL es s una expresión que se evalúa como TRUE (verdadero), FALSE (falso) o
UNKNOWN (desconocido).
PREDICADOS
ALL
LIKE
TOP
ORDER BY
BETWEEN
HAVING
IN
DISTINCT
Los predicados SQL especifican registros seleccionados con
consultas SQL.
La mayoría de los predicados SQL son de búsqueda por tal
motivo recomiendo que utilicen los predicados de SQL ya que
son muy eficaces para obtener información acerca de nuestra
base de datos.
El predicado Having especifica una condición de búsqueda
para un grupo o agregado.
La palabra clave IN ayuda a limitar el criterio de selección
para uno o más valores discretos.
17. Predicados
PREDICADOS
ALL
LIKE
TOP
ORDER
BY
BETWEEN
HAVING
IN
DISTINCT
ALL : Si no se incluye ninguno de los predicados se asume ALL. Indica que queremos
seleccionar todos los valores. Es el valor por defecto y no suele especificarse casi nunca.
TOP : Devuelve un cierto numero de registros que entran entre al principio o al final de un rango
especificado .
DISTINCT : Omite los registros que contienen datos duplicados en los campos seleccionados.
Para que los valores de cada campo listado en la instrucción SELECT se incluyan en Ia
consulta deben ser únicos.
LIKE : Realiza una comparación de coincidencia de patrones en la columna especificada.
BETWEEN :La palabra clave BETWEEN permite la selección de un rango
IN : La palabra clave IN ayuda a las personas a limitar el criterio de selección para uno o más
valores discretos.
HAVING : Especifica una condición de búsqueda para un grupo o agregado. HAVING sólo se
puede utilizar con la instrucción SELECT. Normalmente, HAVING se utiliza en una cláusula
GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como una cláusula
WHERE.
ORDER BY : Presenta el resultado ordenado por las columnas indicadas. El orden puede
expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor predeterminado
es ASC.
20. Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como añadir y
borrar y modificar registros.
Consultas de Acción