[SGBD] Conceptos básicos del lenguaje SQL (I)

El acrónimo SQL proviene de Structured Query Language (Lenguaje Estructurado de Consultas), aunque originalmente se llamaba SEQUEL (diseñado por IBM como interface para un sistema exprimental de BD llamado System R). Actualmente, SQL es el lenguaje estándar de los SGBD relacionales.

Un esfuerzo conjunto por parte de ANSI e ISO dio lugar en 1986 al primer estándar, llamado SQL-86 o SQL1. Posteriormente, dicho estándar fue revisado y ampliado, denominado como SQL-92 o SQL2. La versión que incluye los conceptos de la Programación Orientada a Objetos (POO) y otras características más recientes de BD se conoce como SQL3.

1. Sentencias SQL

Como ya hemos dicho, SQL es un lenguaje de programación específico para BD, que cuenta con instrucciones para definir, consultar y actualizar bases de datos. Así pues, es tanto un DDL (Data Description Language, Lenguaje de Descripción de Datos) como un DML (Data Management Language, Lenguaje de Manipulación de Datos). Podemos agrupar las sentencias SQL en dos grupos:

  • Sentencias DDL, con las que se crea y mantiene la estructura de la BD. Con ellas, se pueden realizar las siguientes tareas:
    • Crear un objeto de la BD (tabla, procedimiento, etc) con la orden CREATE.
    • Eliminar un objeto de la BD, con la orden DROP.
    • Modificar un objeto de la BD, con la orden ALTER.
    • Conceder privilegios sobre un objeto de la BD, con la orden GRANT.
    • Retirar privilegios sobre un objeto de la BD, con la orden REVOKE.
  • Sentencias DML, con las que se pueden manipular los datos de la BD. Con ellas se pueden realizar las siguientes operaciones:
    • Insertar filas en una tabla con la orden INSERT.
    • Actualizar datos de una tabla con la orden UPDATE.
    • Eliminar filas de una tabla con la orden DELETE.
    • Recuperar información de una o varias tablas con la orden SELECT.

En las sentencias SQL, el uso de mayúsculas o minúsculas es indiferente a la hora de escribir palabras reservadas, identificadores y otros elementos. Podemos escribir varias sentencias unas detrás de otras, separadas por un punto y coma (;), aunque la última puede no llevarla. El conjunto de una o varias sentencias SQL se denomina script.

Por mencionarlo, queremos dejar claro la manera en la que escribiremos durante el curso las sentencias. Personalmente, me gusta trabajar en SQL con letras mayúsculas, tanto para las órdenes como para los datos. Por suerte, esto es cuestión de gustos, por lo que cada uno puede escribir dichas sentencias como más le guste. Así pues, lo que para mí es CREATE TABLE LIBROS, para otros puede ser Create Table Libros CREATE TABLE Libros. Las tres sentencias serían igual de válidas, por lo que dejamos a gusto del consumidor la elección.

2. Elementos del lenguaje

El lenguaje SQL utiliza los términos de tabla, fila y columna en lugar de relación, tupla y atributo que se usan en los modelos de entidad-relación (los cuales no veremos en estos cursos). Además, el lenguaje SQL nos proporciona un gran repertorio de sentencias para llevar a cabo las operaciones mencionadas en el apartado anterior (creación de tablas, inserción de datos, etc).

Por norma general, escribiremos las sentencias en un editor de texto plano (bloc de notas en windows o gedit en Linux, por ejemplo) para luego pasarlas al intérprete de sentencias de SQL de nuestro SGBD. Por ejemplo, en la versión 10g de Oracle que explicamos en la entrada anterior de este curso (puedes verla aquí) viene incorporado un intérprete llamado SQL*Plus, el cual trabaja sobre nuestro navegador favorito de internet. En dicho intérprete, encontramos un espacio de trabajo delimitado donde podremos introducir nuestras sentencias SQL (o PL/SQL) las cuales se ejecutarán tras hacer click en el botón de “Ejecutar”. Si lo introducido es correcto, el intérprete nos devolverá el resultado de la consulta u operación; en caso contrario, nos mostrará en que línea o líneas está el fallo a corregir.

3. Palabras reservadas

Como en todos los lenguajes de programación, en SQL existe un conjunto de palabras reservadas con un cometido específico, por lo que si se intentan utilizar para identificar a algún elemento se producirá un error. Algunas de las palabras reservadas de Oracle son:

ADD – ALL – AND – ANY – AS -ASC – BETWEEN – BY – CHAR – CHECK – COLUMN – CREATE – DEFAULT – DELETE – DESC – DISTINCT – DROP – FLOAT – FOR – FROM – GRANT – GROUP -HAVING – IN -INSERT – INTERSECT – INTO – IS – LIKE – LONG – MINUS – MODIFY- NOT – NULL – NUMBER – ON – OPTION – OR – ORDER – PUBLIC – RENAME – REVOKE – SELECT – SET – SYNONYM – TABLE – TO – UNION – VALUES – VARCHAR – VARCHAR2 – VIEW – WHERE – WITH

4. Identificadores

Los identificadores son los nombres que tienen los elementos de la programación: tablas, vistas, etc. El programador debe darle nombre a los distintos elementos que utilice, siguiendo una serie de normas:

  • Puede tener cualquier longitud, pero solo se tienen en cuenta los primeros 30 caracteres.
  • Debe comenzar por una letra.
  • Después del primer carácter, puede ir cualquier secuencia de letras, números y guiones bajos. Ningún otro carácter está permitido.
  • Al igual que ocurre con las palabras reservadas, el intérprete no distingue entre mayúsculas y minúsculas.
5. Constantes

Entre los componentes de una sentencia SQL, se encuentran las constantes, que pueden ser numéricas y alfanuméricas. Las numéricas se pueden especificar con un número entero (positivo o negativo), un número real en notación decimal (con parte entera y fraccionaria separadas por un punto) o en notación científica. Las alfanuméricas por su parte son secuencias de caracteres delimitadas por apóstrofes simples (por ejemplo: ‘esto es una cadena’); en caso de que el apóstrofe deba ser parte de la propia cadena, lo escribiremos doble (por ejemplo: ‘Conjunto de DNI”s’ daría como salida Conjunto de DNI’s).

28 años | Entrenador de fútbol | Informático&Web Design | Linuxero | Componente de @chirigotaninos | Creador de http://todobytes.es & http://sudosu.es | Apasionado de la historia

Facebook Twitter Google+ YouTube 

Related posts

Leave a Comment