0% encontró este documento útil (0 votos)
90 vistas

SQL Modulo 1 Cce

SQL es un lenguaje estándar para interactuar con bases de datos relacionales. Permite definir estructuras de datos, manipular datos mediante inserciones, consultas, actualizaciones y borrados, y controlar aspectos como transacciones e integridad. Ha evolucionado desde su creación en los años 70 para incluir más características como expresiones regulares, consultas recursivas y compatibilidad con XML.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
90 vistas

SQL Modulo 1 Cce

SQL es un lenguaje estándar para interactuar con bases de datos relacionales. Permite definir estructuras de datos, manipular datos mediante inserciones, consultas, actualizaciones y borrados, y controlar aspectos como transacciones e integridad. Ha evolucionado desde su creación en los años 70 para incluir más características como expresiones regulares, consultas recursivas y compatibilidad con XML.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 37

SQL (Lenguaje de Consulta

estructurado)
Ing. Liliana Minsero
MÓDULO 1
Fundamentos de Programación y
SQL
¿Qué es SQL?
¿Qué es SQL?
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado,
utilizado por los diferentes motores de bases de datos para realizar determinadas
operaciones sobre los datos o sobre la estructura de los mismos.
Según Wikipedia:
SQL es un lenguaje específico del dominio que da acceso a un sistema de gestión de
bases de datos relacionales que permite especificar diversos tipos de operaciones en ellos.
Una de sus características es el manejo del álgebra y el cálculo relacional que permiten
efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de
datos, así como hacer cambios en ellas.
Originalmente basado en el álgebra relacional y en el cálculo relacional, SQL consiste en un
lenguaje de definición de datos, un lenguaje de manipulación de datos y un lenguaje de
control de datos. El alcance de SQL incluye la inserción de datos, consultas, actualizaciones
y borrado, la creación y modificación de esquemas y el control de acceso a los datos.
También el SQL a veces se describe como un lenguaje declarativo, también incluye
elementos procesales.

Consultado en: https://es.wikipedia.org/wiki/SQL


¿Qué es SQL?
SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de
Edgar Frank Codd como se describió en su papel de 1970 El modelo relacional de datos
para grandes bancos de datos compartidos. A pesar de no adherirse totalmente al modelo
relacional descrito por Codd, pasó a ser el lenguaje de base de datos más usado.
SQL pasó a ser el estándar del Instituto Nacional Estadounidense de Estándares
(ANSI) en 1986 y de la Organización Internacional de Normalización (ISO) en 1987. Desde
entonces, el estándar ha sido revisado para incluir más características. A pesar de la
existencia de ambos estándares, la mayoría de los códigos SQL no son completamente
portables entre sistemas de bases de datos diferentes sin ajustes.
Evolución de SQL
Evolución de SQL
Los orígenes de SQL están ligados a las bases de datos de las computadoras o
móvil aun a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo
relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de
predicados. Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje
SEQUEL (Structured English Query Language) que más tarde fue ampliamente
implementado por el sistema de gestión de bases de datos (SGBD) experimental System R,
desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por
primera vez en 1979 en un producto comercial.
El SEQUEL terminó siendo el predecesor de SQL, que es una versión evolucionada
del primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión
de bases de datos relacionales surgidos en los años siguientes y fue por fin estandarizado
en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, "SQL-86"
o "SQL1". Al año siguiente este estándar es también adoptado por ISO.
Evolución de SQL
Sin embargo, este primer estándar no cubría todas las necesidades de los
desarrolladores e incluía funcionalidades de definición de almacenamiento que se
consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y revisado
de SQL llamado "SQL-92" o "SQL2".
En la actualidad SQL es el estándar de facto de la inmensa mayoría de los SGBD
comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es
general y muy amplio.
Evolución de SQL
Año Nombre Alias Característica resaltante
1986 SQL-86 SQL-87 Primera publicación hecha por
ANSI. Confirmada por ISO en 1987.

1989 SQL-89 ------------------------- Revisión menor.


1992 SQL-92 SQL2 Revisión mayor.
1999 SQL:1999 SQL2000 Se agregaron expresiones
regulares, consultas recursivas
(para relaciones jerárquicas),
algunas características orientadas
a objetos.
2003 SQL:2003 -------------------------- Introduce algunas características
de XML, cambios en las funciones,
estandarización del objeto
sequence y de las columnas
autonuméricas.​
Evolución de SQL
Año Nombre Alias Característica resaltante
2005 SQL:2005 ----------------- ISO/IEC 9075-14:2005 Define las
maneras en las cuales SQL se
puede utilizar conjuntamente con
XML. Define maneras de importar
y guardar datos XML en una base
de datos SQL, manipulándolos
dentro de la base de datos y
publicando el XML y los datos SQL
convencionales en forma XML.
Además, proporciona facilidades
que permiten a las aplicaciones
integrar dentro de su código SQL
el uso de XQuery, lenguaje de
consulta XML publicado por el
W3C (World Wide Web
Consortium) para acceso
concurrente a datos ordinarios
SQL y documentos XML.
Evolución de SQL
Año Nombre Alias Característica resaltante
2008 SQL:2008 ---------------- Permite el uso de la cláusula
ORDER BY fuera de las definiciones
de los cursores. Incluye los
disparadores del tipo INSTEAD OF.
Añade la sentencia TRUNCATE.
Datos temporales (PERIOD FOR).
2011 SQL:2011 ---------------- Mejoras en las funciones de
ventana y de la cláusula FETCH.
Permite búsqueda de patrones,
funciones de tabla polimórficas y
2016 SQL:2016 ---------------
compatibilidad con los ficheros
JSON.

Consultado en: https://es.wikipedia.org/wiki/SQL


Características de SQL
Características de SQL
• SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de
los sistemas relacionales y permite así gran variedad de operaciones.
• Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su
fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a
registros individuales— permite una alta productividad en codificación y la orientación a
objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que
se utilizarían en un lenguaje de bajo nivel orientado a registros.
SQL también tiene las siguientes características:
• Lenguaje de definición de datos: El LDD de SQL 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: El LMD de SQL incluye lenguajes de
consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
• Integridad: El LDD de SQL incluye comandos para especificar las restricciones de
integridad que deben cumplir los datos almacenados en la base de datos.
Características de SQL
• Definición de vistas: El LDD incluye comandos para definir las vistas.
• Control de transacciones: SQL tiene 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: El LDD incluye comandos para especificar los derechos de acceso a las
relaciones y a las vistas.
• SQL, el lenguaje relacional casi universalmente aplicado, es diferente de otros lenguajes
computacionales como C, COBOL y Java, los cuales son de procedimiento. Un lenguaje de
procedimiento define cómo las operaciones de una aplicación deben realizarse y el orden
en el cual se realizan. Un lenguaje de no procedimiento, por otro lado, se refiere a los
resultados de una operación; el entorno fundamental del software determina cómo se
procesan las operaciones. Esto no quiere decir que SQL respalda a la funcionalidad de no
procedimiento

Consultado en: https://es.wikipedia.org/wiki/SQL


Características de SQL
• SQL aún carece de muchas de las capacidades básicas de programación de la mayoría de
los lenguajes computacionales. Por esta razón, a menudo SQL se considera como un
sublenguaje de datos porque se utiliza con frecuencia en asociación con la aplicación de
lenguajes de programación como C y Java, lenguajes que no fueron diseñados para la
manipulación de datos almacenados en una base de datos. Como resultado, SQL se
utiliza en conjunto con la aplicación del lenguaje para proporcionar un medio eficaz de
acceder a los datos, razón por la cual se considera a SQL como un sublenguaje.

Consultado en: https://es.wikipedia.org/wiki/SQL


Tipos de datos de SQL
Algunos de los tipos de datos básicos de SQL son:
• Varchar: Recibe cadena de palabras compuestas de letras, números y caracteres
especiales.
• Date: una fecha de calendario que contiene el año (de cuatro cifras), el mes y el
día.
• Time: La hora del día en horas minutos segundos (el valor predeterminado es 0).
• Datetime: la combinación de Date y Time.

Consultado en: https://es.wikipedia.org/wiki/SQL


Tipos de datos de SQL

Consultado en: https://elbauldelprogramador.com/componentes-del-lenguaje-sql-sql/


Operadores de SQL

Consultado en: https://elbauldelprogramador.com/componentes-del-lenguaje-sql-sql/


Objeto de modelo relacional con
SQL
Objeto de modelo relacional con SQL
• El lenguaje SQL se basa en el modelo relacional, y hasta SQL-92, también el estándar SQL.
Sin embargo, comenzando con SQL:1999, el estándar SQL se extendió más allá del
modelo relacional puro para incluir construcciones orientadas a objetos en el lenguaje.
Estas construcciones se basan en los conceptos inherentes de programación orientada a
objetos, una programación metodológica que define colecciones autónomas de
estructura de datos y rutinas (llamadas objetos). En los lenguajes orientados a objetos
como Java y C++, los objetos interactúan entre sí de manera que permiten al lenguaje
abordar problemas complejos que no serían fáciles de resolver en lenguajes
tradicionales.
• Con la llegada de la programación orientada a objetos (junto con los avances
tecnológicos en el hardware y software y la creciente complejidad de aplicaciones) se
hizo cada vez más evidente que un lenguaje puramente relacional era insuficiente para
satisfacer las demandas del mundo real.
• De preocupación específica fue el hecho que SQL no podía respaldar tipos de datos
complejos y definidos por el usuario ni la extensibilidad requerida para aplicaciones más
complejas
Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf
Objeto de modelo relacional con SQL
• Impulsados por la competencia natural de la industria, los proveedores RDBMS se
encargaron de aumentar sus productos e incorporar la funcionalidad orientada a objetos
en sus sistemas.
• El estándar SQL:2006 sigue el ejemplo y extiende el modelo relacional con capacidades
orientadas a objetos, como métodos, encapsulación, y tipos de datos complejos y
definidos por el usuario, lo que hace a SQL un lenguaje de base de datos relacional a
objeto. (SQL/XML) se amplió considerablemente y se reeditó con SQL:2006, y todas las
demás partes se tomaron de SQL:2003.

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


Tipos de instrucciones de SQL
Tipos de instrucciones de SQL
• Aunque SQL se considera un sublenguaje debido a su naturaleza de no procesamiento,
aun así es un lenguaje completo que le permite crear y mantener objetos en una base de
datos, asegurar esos objetos y manipular la información dentro de los objetos. Un
método común usado para categorizar las instrucciones SQL es dividirlas de acuerdo con
las funciones que realizan. Basado en este método, SQL se separa en tres tipos de
instrucciones:
• Lenguaje de definición de datos (DDL, Data Definition Language) Las instrucciones DDL
se usan para crear, modificar o borrar objetos en una base de datos como tablas, vistas,
esquemas, dominios, activadores, y almacenar procedimientos. Las palabras clave en SQL
más frecuentemente asociadas con las instrucciones DDL son CREATE, ALTER y DROP. Por
ejemplo, se usa la instrucción CREATE TABLE para crear una tabla, la instrucción ALTER
TABLE para modificar las características de una tabla, y la instrucción DROP TABLE para
borrar la definición de la tabla de la base de datos.

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


Tipos de instrucciones de SQL
• Lenguaje de control de datos (DCL, Data Control Language) Las instrucciones DCL
permiten controlar quién o qué (un usuario en una base de datos puede ser una persona
o un programa de aplicación) tiene acceso a objetos específicos en la base de datos. Con
DCL, puede otorgar o restringir el acceso usando las instrucciones GRANT o REVOKE, los
dos comandos principales en DCL. Las instrucciones DCL también permiten controlar el
tipo de acceso que cada usuario tiene a los objetos de una base de datos. Por ejemplo,
puede determinar cuáles usuarios pueden ver un conjunto de datos específico y cuáles
usuarios pueden manipular esos datos.
• Lenguaje de manipulación de datos (DML, Data Manipulation Language) Las
instrucciones DML se usan para recuperar, agregar, modificar o borrar datos
almacenados en los objetos de una base de datos. Las palabras clave asociadas con las
instrucciones DML son SELECT, INSERT, UPDATE y DELETE, las cuales representan los tipos
de instrucciones que probablemente son más usadas. Por ejemplo, puede usar la
instrucción SELECT para recuperar datos de una tabla y la instrucción INSERT para
agregar datos a una tabla.

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


Tipos de ejecución de Instrucciones
Tipos de ejecución de Instrucciones
El estándar SQL proporciona detalles de cómo las instrucciones SQL son ejecutadas. Este
método de ejecución, conocido como estilos de unión, no sólo afecta la naturaleza de la
ejecución, sino también determina cuáles instrucciones, como mínimo, deben ser
soportadas por un estilo de unión particular.
El estándar define cuatro métodos de ejecución:
• Invocación directa Mediante el uso de este método, puede comunicarse directamente
desde una aplicación de usuario, como iSQL*Plus en Oracle o Management Studio en
Microsoft SQL Server, en la base de datos. (La aplicación de usuario y la base de datos
pueden estar en la misma computadora, pero a menudo no lo están.) Simplemente
introduzca su consulta en la ventana de la aplicación y ejecute la instrucción SQL. Los
resultados de su consulta se le devolverán tan rápido como el poder del procesador y las
limitaciones de la base de datos lo permitan. Ésta es una forma rápida de comprobar
datos, verificar conexiones y ver los objetos en una base de datos. Sin embargo, las
directrices del estándar SQL sobre la invocación directa son bastante mínimas; por lo
tanto, los métodos utilizados y los estándares SQL respaldados pueden variar
ampliamente de un producto a otro.
Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf
Tipos de ejecución de Instrucciones
• SQL incrustado En este método, las instrucciones SQL están codificadas (incrustadas)
directamente en el lenguaje de programación anfitrión. Por ejemplo, las instrucciones
SQL se pueden incrustar en el código C de la aplicación. Antes que el código se compile,
un preprocesador analiza las instrucciones SQL y las desglosa desde el código C. El código
SQL se convierte en una forma que RDBMS puede entender, y el código C restante se
compila como lo haría normalmente.
• Unión de módulo Este método permite crear bloques de instrucciones SQL (módulos)
que están separados del lenguaje de programación anfitrión. Una vez que el módulo es
creado, es una combinación entre una aplicación y un vinculador. Un módulo contiene,
entre otras cosas, procedimientos, y son los procedimientos los que contienen las
instrucciones reales.
• Interfaz convocatoria a nivel (CLI, Call-level interface) Una CLI permite invocar
instrucciones SQL a través de una interfaz mediante la aprobación d instrucciones SQL
como valores argumentativos para las subrutinas. Las instrucciones no están
precompiladas como en el SQL incrustado y la Unión de módulo. En lugar de eso, son
ejecutadas directamente por los RDBMS.
¿Qué es un SMDB?
¿Qué es un SMBD?
Los sistemas manejadores de base de datos (SGBD), en inglés: DataBase Management
System (DBMS), son un tipo de software muy específico, dedicado a servir de interfaz
entre la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de
los sistemas manejadores de base de datos es el de manejar de manera clara, sencilla y
ordenada un conjunto de datos que posteriormente se convertirán en información
relevante para una organización.
Es la porción más importante del software de un sistema de base de datos. Un DBMS es
una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales
es responsable de alguna tarea específica.
Funciones Principales:
• Establecer y mantener las trayectorias de acceso a la base de datos de tal forma
que los datos puedan ser accesados rápidamente.
• Manejar los datos de acuerdo a las peticiones de los usuarios.
¿Qué es un SMBD?
• Registrar el uso de las bases de datos.
• Interacción con el manejador de archivos. Esto a través de las sentencias en DML al
comando del sistema de archivos. Así el Manejador de base de datos es el responsable
del verdadero almacenamiento de los datos. Respaldo y recuperación.
¿Qué es un RDBMS?
¿Qué es un RDBMS?
• Los sistemas de bases de datos relacionales RDBMS (Relational Database Management
System, por sus siglas en Inglés) tales como Oracle, MySQL, SQL Server, PostgreSQL,
Informix, entre otros, le permiten ejecutar las tareas que se mencionan a continuación,
de una forma entendible y razonablemente sencilla:
• Le permiten ingresar datos al sistema.
• Le permiten almacenar los datos.
• Le permiten recuperar los datos y trabajar con ellos.
• Le proveen herramientas para capturar, editar y manipular datos.
• Le permiten aplicar seguridad.
• Le permiten crear reportes e informes con los datos.
¿RDBMS y SQL?
El centro de cualquier RDBMS basado en SQL es, por supuesto, el propio SQL. Sin
embargo, el lenguaje utilizado no es SQL puro. Cada producto extiende su lenguaje con el
fin de implementar las características definidas por el proveedor y mejorar la funcionalidad
basada en SQL. Además, una serie de productos RDBMS lo fabricaron para el mercado
antes de que hubiera un estándar.
En consecuencia, cada proveedor respalda una variación ligeramente diferente de SQL, lo
que significa que el lenguaje utilizado en cada producto tiene una aplicación específica. Por
ejemplo, SQL Server utiliza Transact-SQL, que incluye tanto a SQL como a las extensiones
del proveedor para proporcionar las instrucciones de procedimiento necesarias para los
activadores y los procedimientos almacenados. Por otro lado, Oracle proporciona
instrucciones de procedimiento en un componente de producto separado llamado PL/SQL.
Durante este diplomado se usara SQL Server (con Transact-SQL) u Oracle (con
PL/SQL) para los ejemplos.

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


¿RDBMS y SQL?
Los sistemas de gestión de base de datos con soporte SQL más utilizados son:
DB2 - Firebird - HSQL - Informix - Interbase - MariaDB - Microsoft SQL Server - MySQL -
Oracle - PostgreSQL - PervasiveSQL - SQLite - Sybase ASE

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


¿RDBMS y SQL?
Funciones matemáticas comunes

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


¿RDBMS y SQL?
Funciones de cadenas

Descripción IBM DB2 SQL Server Oracle MySQL

Convierte todos los caracteres a


LOWER LOWER LOWER LOWER
minúsculas
Convierte todos los caracteres a
UPPER UPPER UPPER UPPER
mayúsculas
Elimina los blancos del final de la
RTRIM RTRIM RTRIM RTRIM
cadena
Elimina los blancos del comienzo
LTRIM LTRIM LTRIM LTRIM
de la cadena
Devuelve una subcadena SUBSTR SUBSTRING SUBSTR SUBSTRING
Concatena dos cadenas CONCAT + CONCAT CONCAT

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf


Referencias

https://svo.cab.inta-
csic.es/docs/files/svo/Public/Meetings/SVO_thematic_network_First_School/sql_basico
-061127.pdf

Consultado en: https://pedrobeltrancanessa-biblioteca.weebly.com/uploads/1/2/4/0/12405072/fundamentos_de_sql_3edi_oppel.pdf

También podría gustarte