Unidad 2. Introducción al SQL. Transact-SQL (II)


2.3. Características generales del lenguaje Transact-SQL

El lenguaje SQL se creó con la finalidad de ser un lenguaje muy potente y a la vez muy fácil de utilizar, se ha conseguido en gran medida ya que con una sola frase (instrucción) podemos recuperar datos complejos (por ejemplo datos que se encuentran en varias tablas, combinándolos, calculando resúmenes), y utilizando un lenguaje muy cercano al lenguaje hablado (¡suponiendo que hablamos inglés, claro!).

Por ejemplo:

SELECT codigo, nombre FROM Clientes WHERE localidad=’Valencia’;

Esta instrucción nos permite SELECCIONAR el código y nombre DE los Clientes CUYA localidad sea Valencia.

La sencillez también radica en que lo que indicamos es lo que queremos obtener, no el cómo lo tenemos que obtener, de eso se encargará el sistema automáticamente.

Las sentencias SQL además siguen todas el mismo patrón:

  • Empiezan por un verbo que indica la acción a realizar,
  • completado por el objeto sobre el cual queremos realizar la acción,
  • seguido de una serie de cláusulas (unas obligatorias, otras opcionales) que completan la frase, y proporcionan más detalles acerca de lo que se quiere hacer.

Si sabemos algo de inglés nos será más fácil interpretar a la primera lo que quiere decir la instrucción, y de lo contrario, como el número de palabras que se emplean es muy reducido, enseguida nos las aprenderemos.

Por ejemplo en el DDL (acciones sobre la definición de la base de datos), tenemos 3 verbos básicos:

CREATE (Crear)

DROP (Eliminar)

ALTER (Modificar)

Completados por el tipo de objeto sobre el que actúan y el objeto concreto:

CREATE DATABASE mibase .......;

Permite crear una base de datos llamada mibase, a continuación escribiremos las demás cláusulas que completarán la acción, en este caso dónde se almacenará la base de datos, cuánto ocupará, etc...

CREATE TABLE mitabla (.....);

Permite crear una nueva tabla llamada mitabla, entre paréntesis completaremos la acción indicando la definición de las columnas de la tabla.

CREATE INDEX miindex...;

Lo mismo para crear un índice (¿a que lo habíais adivinado?).

DROP DATABASE  mibase;

Permite borrar, eliminar la base de datos mibase.

DROP TABLE mitabla;

Elimina la tabla mitabla.

ALTER TABLE mitabla.....;

Permite modificar la definición de la tabla mitabla.

En el DML (acciones sobre los datos almacenados) utilizaremos los verbos:

INSERT (Crear, es decir, insertar una nueva fila de datos)

DELETE (Eliminar filas de datos)

UPDATE (Modificar filas de datos)

SELECT (Seleccionar, obtener)

Por ejemplo:

INSERT INTO mitabla ..... Inserta nuevas filas en mitabla

DELETE FROM mitabla Eliminar filas de mitabla

UPDATE mitabla ....... Actualiza filas de mitabla

Como ejemplo de cláusula dentro de una instrucción tenemos:

SELECT codigo, nombre
FROM Clientes
WHERE localidad=’Valencia’;

En esta sentencia nos aparecen dos cláusulas, la cláusula FROM que nos permite indicar de dónde hay que coger los datos y la cláusula WHERE que permite indicar una condición de selección.

Otra característica de una sentencia SQL es que acaba con un punto y coma (;) originalmente éste era obligatorio y servía para indicar el fin de la instrucción, pero ahora se puede omitir, aunque se recomienda su uso.

En una sentencia utilizaremos palabras reservadas (las fijas del lenguaje), y nombres de objetos y variables (identificadores).
Las palabras reservadas no se pueden utilizar para otro propósito, por ejemplo una tabla no se puede llamar FROM, y los nombres (los identificadores) siguen las reglas detalladas en el punto siguiente.

Nombres cualificados. En ocasiones deberemos utilizar nombres cualificados, por ejemplo cuando se escribe un nombre de tabla, SQL presupone que se está refiriendo a una de las tablas de la base de datos activa, si queremos hacer referencia a una tabla de otra base de datos utilizamos su nombre cualificado nombrebasedatos.nombredeesquema.nombretabla, utilizamos el punto para separar el nombre del objeto y el nombre de su contenedor.

O por ejemplo si en una consulta cuyo origen son dos tablas, queremos hacer referencia a un campo y ese nombre de campo es un nombre de campo en las dos tablas, pues utilizaremos su nombre cualificado nombretabla.nombrecampo.

El valor NULL.

Puesto que una base de datos es un modelo de una situación del mundo real, ciertos datos pueden inevitablemente faltar, ser desconocidos o no ser aplicables, esto se debe de indicar de alguna manera especial para no confundirlo con un valor conocido pero que sea cero por ejemplo, SQL tiene para tal efecto el valor NULL que indica precisamente la ausencia de valor.

Por ejemplo: no es lo mismo que el alumno no tenga nota a que tenga la nota cero, esto afectaría también a todos los cálculos que se pueden realizar sobre la  columna nota.

Febrero-2010
Pág. 2.2

Atrás  Inicio  Adelante






.