Azure SQL Database y los lenguajes de acceso a bases de datos.

Image for post
Image for post

Hoy en día las bases de los datos juegan un papel muy importante en todos los aspectos. Sin ellas, el mundo en el que vivimos no sería el mismo ya que todo se basa en la información, inclusive, actualmente se dice que el combustible más valioso del mundo y no es el petróleo, sino los datos. Ahora, los datos no son nada si no se contextualizan para realizar un análisis sobre ellos. En este sentido, en el presente artículo, se explican los conceptos importantes sobre la definición, el acceso y el manejo de los datos, como primeros pasos para entender el mundo de las bases de datos relacionales, como un servidor SQL de Microsoft.

Es un lenguaje de programación para definir estructuras de datos, proporcionado por los sistemas de gestores de bases de datos, en este caso SQL Server. En ingles, Data Definition Language, de ahí sus siglas DDL.

Con el lenguaje de definición de datos podemos emplear varios comandos para definir el esquema de una base de datos. Con esquema, nosotros nos referimos a la estructura que van a tener los datos.

Para definir una estructura disponemos principalmente de tres sentencias:

- CREATE, utilizado para crear bases de datos, tablas, campos, índices, etc.

- ALTER, se utiliza para modificar una estructura, por ejemplo, para agregar o eliminar columnas (campos) de una tabla.

- DROP, con este comando podemos eliminar objetos de una estructura, ya sean tablas o índices.

También es un lenguaje proporcionado por los SGBD (Sistema de Gestión de Bases de Datos), el lenguaje de manipulación de datos (DML por sus siglas en ingles) permite introducir datos para posteriormente consultarlos y modificarlos.

Los elementos para manipular datos son los siguientes:

· SELECT, para recuperar datos de una base de datos.

· INSERT, con este comando podemos insertar valores en una base de datos.

· UPDATE, para modificar los valores de uno o varios registros.

· REMOVE, para eliminar uno o varios registros en una base de datos.

El lenguaje de control de datos o DCL permite al administrador de la base de datos, controlar el acceso a los objetos y a los datos, es decir, permite otorgar o denegar permisos para realizar ciertas tareas.

Los comandos para controlar los permisos son los siguientes:

· GRANT: Usado para otorgar privilegios de acceso de usuario a la base de datos.

· REVOKE: Utilizado para retirar privilegios de acceso otorgados con el comando GRANT.

Para analizar varios de los comandos expuestos en los lenguajes de bases de datos, a continuación, veremos algunos ejemplos de definición y manipulación de datos a través de una base de datos creada en Azure.

Creación de una base de datos

En el portal de Azure, nosotros podemos buscar el recurso “SQL Database”, y crear uno nuevo. Para esto debemos especificar el nombre del recurso y especificar nuestro servidor, en el cual introducimos las credenciales de administrador para acceder a la base de datos posteriormente.

En la siguiente imagen se muestra el proceso:

Image for post
Image for post

De forma local, utilizando otro gestor, para crear una base de datos el comando normalmente es el siguiente:

CREATE DATABASE databasename;

Crear una nueva tabla (entidad) en la base de datos

A modo de ejemplo, crearemos dos tablas: País que tiene como atributos idPais y Nombre; y la tabla Persona que tiene como atributos: idPersona, Nombre, Apellido y la relación del idPais que corresponde al País al que pertenece:

CREATE TABLE Pais (idPais int, Nombre varchar(25), primary key(idPais));

CREATE TABLE Persona (idPersona int, Nombre varchar(25), Apellido varchar(25), idPais int, primary key (idPersona), foreign key (idPais) references Pais(idPais));

En el caso de Azure Database en el portal de Azure, podemos acceder al “Editor de consultas” de la base de datos, utilizando las credenciales de administración introducidas inicialmente, después de ejecutar los comandos de creación, podemos ver las tablas que se han creado.

Image for post
Image for post

Ahora apliquemos los conceptos del lenguaje de manipulación de datos, insertando varios registros y realizando varias consultas sobre aquellos registros.

Inserción de registros

Para insertar un nuevo registro en una nueva tabla, tenemos la siguiente sintaxis:

INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …);

Apliquemos esto para nuestro ejemplo de Países y Personas:

INSERT INTO Pais (idPais, Nombre) VALUES (1, ‘Colombia’);

INSERT INTO Pais (idPais, Nombre) VALUES(2, ‘Mexico’);

INSERT INTO Pais (idPais, Nombre) VALUES(3, ‘Peru’);

INSERT INTO Pais (idPais, Nombre) VALUES(4, ‘Venezuela’);

INSERT INTO Persona VALUES(1, ‘Andrea’, ‘Garcia’, 1);

INSERT INTO Persona VALUES(2, ‘Eduardo’, ‘Jaramillo’, 3);

INSERT INTO Persona VALUES(3, ‘Sandra’, ‘Cabarcas’, 1);

INSERT INTO Persona VALUES(4, ‘Pablo’, ‘Martin’, 1);

INSERT INTO Persona VALUES(5, ‘Carlos’, ‘Cortez’, 2);

INSERT INTO Persona VALUES(6, ‘Sara’, ‘Peralta’, 3);

Consulta de registros

A continuación, se ilustran algunos ejemplos de consulta sobre los datos ingresados anteriormente:

  • Visualización de los nombres y apellidos de las personas que viven en Colombia ‘1’.
Image for post
Image for post
SELECT Nombre, Apellido FROM Persona WHERE idPais=’1';
  • Reporte de las personas por Nombre y por Nombre de País:
Image for post
Image for post
SELECT Persona.Nombre, Pais.Nombre FROM Persona INNER JOIN Pais ON Persona.idPais = Pais.idPais;

Eliminación de registros

  • Eliminar a todas las personas que son del País: Colombia con idPais = 1;
Image for post
Image for post
DELETE FROM Persona WHERE idPais = 1;

Con esto, hemos llegado al final de este blog. Con estos ejemplos podemos ver que hay distintas formas de acceder a las bases de datos y varios tipos de lenguajes: DDL (Lenguaje de Definición de Datos), DML (Lenguaje de Manipulación de Datos) y DCL (Lenguaje de Control de Datos) que son los 3 tipos que revisamos en esta publicación. Además de estos, existe otros lenguajes denominado TCL (Lenguaje de Control de Transacciones), que permite administrar diferentes transacciones que ocurren dentro de una base de datos con los comandos COMMIT, para guardar el trabajo hecho y con el comando ROLLBACK, para deshacer la modificación que se hizo desde el último COMMIT.

Muchas gracias por leer, pronto estaré subiendo nuevas publicaciones para profundizar lo aprendido en este blog. Espero sus comentarios.

Microsoft Learn Student Ambassador

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store