SQL
Lenguaje de Consulta Estructurado
¿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”
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.
Estándares
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.
 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
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.
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.
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
Sintaxis SQL - Comandos DML
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.
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
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
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
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 :
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.
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.
Consultas de Selección con Alias
Consultas de Selección con Agrupamiento de Registros
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
Subconsultas
Consultas de Referencias Cruzadas
Consultas de Unión Internas
Consultas de Unión Externas

SQL-2022-2023.pptx

  • 1.
  • 2.
    ¿Qué es elSQL?  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  Lenguajede 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.
  • 4.
  • 5.
    Arquitectura Estándar deTres 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 Ellenguaje 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
  • 10.
    Sintaxis SQL -Comandos DML
  • 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 Lasconsultas 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óncon 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.
  • 18.
  • 19.
    Consultas de Seleccióncon Agrupamiento de Registros
  • 20.
    Las consultas deacció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
  • 21.
  • 22.
  • 23.
  • 24.