duduromeroa.com

Reseña bibliográfica

Capítulo 4: Intro a cláusulas y expresiones SQL en SQLite


Por Eduardo Romero | Guayaquil, Ecuador

www.duduromeroa.com, animación, lector, gif


#basesdedatos, #rbdms, #SQL, #SQLite, #duduromeroa

sqliteonline

En la sección anterior recomendé la web sqliteonline.com para que desde Internet cualquiera pueda practicar o probar expresiones SQL (con el motor SQLite) sin instalarlo en su equipo.

Historia técnica del lenguaje SQL

En esta sección amplié la historia técnica del lenguaje SQL para bases de datos relacionales.

SQL y SQLite

SQL es un lenguaje declarativo estándar para acceder a bases de datos relacionales, modificarlas y hacer consultas de datos. Es declarativo porque indica lo que desea o necesita hallar, en vez de indicar cómo lograrlo. Así mismo, el software SQLite (el que estoy usando para probar SQL) es un intérprete o motor SQL que, al ser instalado en un computador, recibe-ejecuta-da-resultados según las instrucciones SQL ingresadas.

  • Sintaxis para comentarios en SQL: Los comentarios no son tomados en cuenta por el intérprete virtual en un lenguaje de programación. Los comentarios son útiles para dar pistas o explicaciones a otros acerca de cómo se está usando el código.

    En SQL

    -- Soy un comentario
    CREATE TABLE bandas (banda TEXT);
    
  • Cuidado: Unirlos puede dar errores, como en --Esto

Expresiones SQL para crear una sencilla tabla e ingresar datos en SQLite

En el código y a lo largo de esta sección se mostrarán en mayúsculas cada cláusula (una sección de un todo) para casi todas las expresiones (conjunto de cláusulas y operadores) de acceso y manipulación de bases de datos relacionales en el motor SQLite. A esas operaciones de edición se las conoce como CRUD: crear, leer, actualizar y borrar, en español.

Cláusulas y expresiones

En SQL una cláusula es un segmento (realmente, una palabra clave) con un comportamiento único (como la cláusula SELECT para apuntar a un elemento de la tabla). Mientras que una expresión es un conjunto de cláusulas, como en CREATE TABLE tabla().

Como primer ejemplo, el código de abajo crea una tabla de nombre bandas a la que se le inserta datos. Cada paréntesis indica una fila (o tupla) ingresada a la tabla.

❌ ¿Qué sería un error? Omitir el punto y coma después de cada instrucción. Tanto en el último paréntesis del CREATE TABLE... como en el último paréntesis del INSERT INTO. El punto y coma le dice al sistema 'hasta aquí es mi instrucción'.



En SQL

CREATE TABLE bandas (
        banda TEXT,
        ciudad TEXT,
        miembros INTEGER
);

INSERT INTO bandas (banda, ciudad, miembros)
VALUES
        ('Broca', 'Gye', 3),
        ('Ultratumba', 'Gye', 4),
        ('Vibora Julieta', 'Gye', 3);

Luego de crearse la tabla, la siguiente expresión (donde el asterisco significa todos):

En SQL

SELECT * FROM bandas;

Devuelve el contenido de esa tabla:

En SQLITE

banda         |ciudad|miembros|
--------------+------+--------+
Broca         |Gye   |       3|
Ultratumba    |Gye   |       4|
Vibora Julieta|Gye   |       3|

Es larga la lista de cláusulas SQL como para aprenderlas de forma aislada. Decidí seguir la secuencia en dos libros que considero claves: Learning SQL Generate, Manipulate, and Retrieve Data, de Alan Beaulieu; y SQL Pocket Guide, de Alice Zhao. En caso de usar más bibliografía, la indicaré. Finalmente, aplicaré y responderé a cada cláusula (o conjunto de ellas) una lista de indagadores 🕵🏽‍♂️ para comprender mejor sus características (como si fuésemos unos implacables detectives del código):

Lista de indagadores para sintaxis SQL
  • Qué metáfora mental representa: ...
  • A dónde apunta: ...
  • Qué obtiene/origina: ...
  • Qué transforma: ...
  • Qué propósito tiene: ...
  • Dónde opera: ...
  • De quién depende: ...
  • Con qué puede combinarse: ...
  • Qué errores podría provocar y por qué: ...

En caso de tener más indagadores (como yo les llamo a esas preguntas) házmela saber en los comentarios.

Siguiente artículo: tipos de datos en SQL para SQLite

Estudio de bases de datos relacionales.


LIBROS CONSULTADOS
Gavin Powell, (2006). Beginning Database Design. Wiley P.
Alice Zhao (2021). SQL Pocket Guide, 4th Edition . O'Reilly.
Alan Beaulieu (2020). Learning SQL Generate, Manipulate, and Retrieve Data, 3th Edition, O'Reilly.