0% encontró este documento útil (0 votos)
85 vistas10 páginas

Lenguaje SQL (Nivel Avanzado)

Este documento describe un curso de Base de Datos II en la Universidad de Margarita. Explica conceptos clave de SQL como DDL, DML, vistas, funciones de agregación, subconsultas anidadas y modificación de bases de datos. También cubre temas de transacciones y sus estados, y diferentes tipos de uniones como interna y externa.

Cargado por

Soul Evans
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas10 páginas

Lenguaje SQL (Nivel Avanzado)

Este documento describe un curso de Base de Datos II en la Universidad de Margarita. Explica conceptos clave de SQL como DDL, DML, vistas, funciones de agregación, subconsultas anidadas y modificación de bases de datos. También cubre temas de transacciones y sus estados, y diferentes tipos de uniones como interna y externa.

Cargado por

Soul Evans
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Universidad de Margarita

Alma Mater del Caribe


Vicerrectorado Académico
Decanato de Ingeniería y Afines
Base de datos II
Sección T-01

Lenguaje SQL (nivel avanzado)

Realizado por:
Omar Azuaje
CI 29.680. 374

Adonay Izarra
CI 28.492.108
El Valle del Espíritu Santo, Febrero de 2022

La programación es un proceso que se basa en ordenar datos y estructurarlos con el fin de


crear un proyecto conocido como programa. Estos proyectos pueden ir enfocados de diversas
maneras, una de ellas es en el almacenamiento de información. A estos programas de
almacenamiento de datos se le conoce como base de datos las cuales sirven para, como su
nombre lo indica, almacenar y organizar los datos introducidos en ellas.

Estas bases de datos se crean en lenguajes específicos que, con la ayuda de gestores,
facilitan su creación y organización permitiendo un base de datos optima para cumplir su
función. Uno de los principales lenguajes para este trabajo es SQL, el cual es un lenguaje
completo que puede ser usado por diversos gestores para la creación de las mismas.

I- SQL (Structured Query Language )

SQL es un acrónimo en inglés para Structured Query Language. Un Lenguaje de Consulta


Estructurado. Un tipo de lenguaje de programación que te permite manipular y descargar datos
de una base de datos. Tiene capacidad de hacer cálculos avanzados y álgebra. Es utilizado en
la mayoría de empresas que almacenan datos en una base de datos. Ha sido y sigue siendo el
lenguaje de programación más usado para bases de datos relacionales.

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.

SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de Edgar
Frank Codd como se describió en su artículo de investigación de 1970 El modelo relacional de
datos para grandes bancos de datos compartidos.

Lenguaje De Definición De Datos (DDL)


Un lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en
inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a
los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que
almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

La definición de la estructura de la base de datos incluye tanto la creación inicial de los


diferentes objetos que formarán la base de datos, como el mantenimiento de esa estructura.
Las sentencias del DDL utilizan unos verbos que se repiten para los distintos objetos. Por
ejemplo para crear un objeto nuevo el verbo será CREATE y a continuación el tipo de objeto a
crear. CREATE DATABASE es la sentencia para crear una base de datos, CREATE TABLE
nos permite crear una nueva tabla, CREATE INDEX crear un nuevo índice… Para eliminar un
objeto utilizaremos el verbo DROP (DROP TABLE, DROP INDEX…) y para modificar algo
de la definición de un objeto ya creado utilizamos el verbo ALTER (ALTER TABLE, ALTER
INDEX…).

Lenguaje De Manipulación De Datos (DML)

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma


proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma
llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos
del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día
es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos
de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

Elementos del lenguaje de manipulación de datos

Select, Insert, Delete y Update

Clasificación de los DML

Se clasifican en dos grandes grupos:


 lenguajes de consulta procedimentales: En este tipo de lenguaje el usuario da
instrucciones al sistema para que realice una serie de procedimientos u operaciones en la
base de datos para calcular un resultado final.

 lenguajes de consulta no procedimentales: En los lenguajes no procedimentales el


usuario describe la información deseada sin un procedimiento específico para obtener esa
información.
Lenguaje De Definición De Vistas

Las vistas son tablas virtuales ‘que contienen’ el resultado de una consulta SELECT,
tienen la misma estructura que una tabla cualquiera, es decir, están organizadas por filas y
columnas. Una de las principales ventajas de utilizar vistas procede del hecho de que la vista
no almacena los datos, sino que hace referencia a una o varias tablas de origen mediante una
consulta SELECT, consulta que se ejecuta cada vez que se hace referencia a la vista. De esta
forma, cualquier modificación que se realice sobre los datos de las tablas de origen es
inmediatamente visible en la vista, cuando ésta vuelva a ejecutarse. Su sintaxis es:

CREATE [OR REPLACE] VIEW Nombre_vista


[(Lista de columnas)]
AS SELECT[...]

Funciones De Agregación

Las funciones de agregación en SQL nos permiten efectuar operaciones sobre un conjunto
de resultados, pero devolviendo un único valor agregado para todos ellos. Es decir, nos
permiten obtener medias, máximos, etc... sobre un conjunto de valores.

COUNT: devuelve el número total de filas seleccionadas por la consulta.

MIN: devuelve el valor mínimo del campo que especifiquemos.

MAX: devuelve el valor máximo del campo que especifiquemos.

SUM: suma los valores del campo que especifiquemos. Sólo se puede utilizar en columnas
numéricas.
AVG: devuelve el valor promedio del campo que especifiquemos. Sólo se puede utilizar
en columnas numéricas.Sub-Consultas Anidadas

Todas estas funciones se aplican a una sola columna, que especificaremos entre paréntesis,
excepto la función COUNT, que se puede aplicar a una columna o indicar un “*”. La
diferencia entre poner el nombre de una columna o un “*”, es que en el primer caso no cuenta
los valores nulos para dicha columna, y en el segundo si.

Sub-consultas anidadas

Una subconsulta es una consulta anidada dentro de una instrucción SELECT, INSERT,
UPDATE o DELETE, o dentro de otra subconsulta. Una subconsulta se puede utilizar en
cualquier lugar donde se permita una expresión. En este ejemplo, se usa una subconsulta como
una expresión de columna denominada MaxUnitPrice en una instrucción SELECT.

USE AdventureWorks2016;

GO

SELECT Ord.SalesOrderID, Ord.OrderDate,

(SELECT MAX(OrdDet.UnitPrice)

FROM Sales.SalesOrderDetail AS OrdDet

WHERE Ord.SalesOrderID = OrdDet.SalesOrderID) AS MaxUnitPrice

FROM Sales.SalesOrderHeader AS Ord;

GO

Modificación De La Base De Datos

Con el comando ALTER DATABASE se pueden modificar diversas caracteristicas de la


base de datos, sin embargo regularmente lo que se puede cambiar y cómo hacerlo depende del
motor de base de datos; así, cambiar la ubicación de los archivos de log o de datos varía
mucho entre un SQL Server o un Oracle. Por esto, solo se hará mención de a un ejemplo, que
es el cambio del nombre de la base de datos en SQL Server.

Cambio de nombre de la base de datos

ALTER DATABASE BaseDeDatos1

MODIFY NAME=NuevoNombreDeBaseDeDatos;

Reunión De Relaciones

Reunión interna - cláusulas inner join / on

Esta cláusula está diseñada precisamente para reunir registros de varias tablas, en ella
intervienen las claves primarias y foráneas, y no intervienen, o lo hacen en la cláusula
WHERE, los filtros propiamente dichos. Veamos una de las consultas que se expuso en la
lección anterior usando esta sintaxis.

Reunion externa - left outer join / right outer join

La reunión externa puede verse en este caso como una reunión interna donde no es
necesario que el registro hijo tenga informada la clave foránea para ser mostrado, por ejemplo,
cuando se mostraban los cursos junto a los profesores que los imparten, como uno de los
cursos no tiene padre, es decir, no tiene un profesor asignado, o lo que es lo mismo, el campo
ID_PROFE de la tabla CURSOS está a nulo, este curso no se muestra dado que no satisface la
cláusula ON. Este recurso nos ofrece la posibilidad de mostrar estos registros con los campos
del registro padre a nulo.

II-Transacciones y sus estados

Una transacción es una colección de acciones que hacen transformaciones consistentes de


los estados de un sistema preservando la consistencia del sistema. Una base de datos está en
un estado consistente si obedece todas las restricciones de integridad definidas sobre ella. Los
cambios de estado ocurren debido a actualizaciones, inserciones, y supresiones de
información. Por supuesto, se quiere asegurar que la base de datos nunca entra en un estado de
inconsistencia. Sin embargo, durante la ejecución de una transacción, la base de datos puede
estar temporalmente en un estado inconsistente. El punto importante aquí es asegurar que la
base de datos regresa a un estado consistente al fin de la ejecución de una transacción.

Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia
adecuada de las acciones concurrentes a una base de datos y por otro lado tener una
transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de
datos.

Estados de una Transacción

Una transacción debe estar en uno de los siguientes estados:

Activa (estado inicial): la transacción permanece en este estado durante su ejecución.

Parcialmente Comprometida: la transacción pasa a este estado cuando acaba de realizar


la última instrucción.

Fallida: la transacción pasa a este estado tras descubrir que no puede continuar la
ejecución normal.

Abortada: la transacción pasa a este estado después de haber restablecido la base de datos
a su estado anterior.

Comprometida: la transacción pasa a este estado tras completarse con éxito.

III-Transacciones en SQL

Las transacciones en SQL son unidades o secuencias de trabajo realizadas de forma


ordenada y separada en una base de datos. Normalmente representan cualquier cambio en la
base de datos, y tienen dos objetivos principales:
 Proporcionar secuencias de trabajo fiables que permitan poder recuperarse fácilmente
ante errores y mantener una base de datos consistente incluso frente a fallos del
sistema.
 Proporcionar aislamiento entre programas accediendo a la vez a la base de datos.

Una transacción es una propagación de uno o más cambios en la base de datos, ya sea
cuando se crea, se modifica o se elimina un registro. En la práctica suele consistir en la
agrupación de consultas SQL y su ejecución como parte de una transacción.

Las transacciones siguen cuatro propiedades básicas, bajo el acrónimo ACID (Atomicity,
Consistency, Isolation, Durability):

 Atomicidad: aseguran que todas las operaciones dentro de la secuencia de trabajo se


completen satisfactoriamente. Si no es así, la transacción se abandona en el punto del
error y las operaciones previas retroceden a su estado inicial.
 Consistencia: aseguran que la base de datos cambie estados en una transacción
exitosa.
 Aislamiento: permiten que las operaciones sean aisladas y transparentes unas de otras.
 Durabilidad: aseguran que el resultado o efecto de una transacción completada
permanezca en caso de error del sistema.

En conclusión, SQL es un lenguaje de programación bastante completo. Este es


mayormente utilizado para las bases de datos por su gran versatilidad y fácil manejo. Este
lenguaje permite a los programadores una gran variedad de elementos y de procesos que
facilitan el proceso, como las transacciones las cuales pueden facilitar el proceso de
propagación de ciertos cambios. Es por estas versatilidades que SQL es el lenguaje de
programación por excelencia para cualquier programador que quiera realizar una base de datos
completa, estructurada y organizada.
Referencias

Datademia (2020) ¿Qué es SQL?

https://datademia.es/blog/que-es-

Wikipedia (2021) SQL.

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

Universidad Autónoma del estado de Hidalgo (2010)Lenguaje de Definición de Datos


(DDL).

http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/
libro14/52_lenguaje_de_definicin_de_datos_ddl.html

Alejandro Alcalde (2017) Lenguaje Definición de Datos (DDL) – Vistas.

https://elbauldelprogramador.com/lenguaje-definicion-de-datos-ddl-vistas/

Jose Alarcon (2021) Tutorial SQL #6: Agrupaciones y funciones de agregación.

https://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Agrupaciones-y-funciones-de-
agregacion.aspx
Microsoft (2021) Subqueries (SQL Server).

https://docs.microsoft.com/en-us/sql/relational-databases/performance/subqueries?view=sql-s

Diego Lazaro (2018) Transacciones en SQL.

https://diego.com.es/transacciones-en-sql

WordPress (2011)Procesamiento de Transacciones en Bases de Datos.

https://chargers090187.wordpress.com/2011/06/25/estados-de-una-transaccion/

Díaz Domínguez Genaro (2020) TÓPICOS DE BASES DE DATOS.

https://topicdb.wordpress.com/1-5-manejo-de-transacciones/

También podría gustarte