Componentes del lenguaje SQL.
Tipos de datos.
SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos de datos pueden ser númericos (con o sin decimales), alfanuméricos, de fecha o booleanos(si o no).Según el gestor de base de datos que estemos utilizando los tipos de datos varian, pero se reducen basicamente a los expuestos anteriormente, aunque en la actualidad casi todos los gestores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imágenes ...
Dependiendo de cada gestor de bases de datos el nombre que se da a cada uno de estos tipos puede variar. Básicamente tenemos los siguientes tipos de datos.
Númericos |
Alfanúmericos |
Fecha |
Lógico |
BLOB |
Integer |
char(n) |
Date |
Bit |
Image |
Numeric(n.m) |
varchar(n,m) |
DateTime |
|
Text |
Decimal(n,m) |
|
|
|
|
Float |
|
|
|
|
Mas detalladamente tenemos:
Tipos de datos númericos |
Tipo |
Definción |
Bytes |
Integer |
Valores enteros con signo. |
4 |
Numeric(n,m) |
Números reales de hasta 18 digitos (con decimales), donde n representa el total de dígitos admitidos (normalmente denominado precisión) y m el número de posiciones decimales (escala). |
5-17 |
Decimal(n,m) |
Igual que el tipo numeric. |
5-17 |
Float |
Número de coma flotante, este tipo de datos se suele utilizar para los valores en notación cientifica. |
4-8 |
Tipos de datos alfanúmericos |
Tipo |
Definción |
Bytes |
char(n) |
Almacena de 1 a 255 caracteres alfanúmericos. Este valor viene dado por n, y es el tamaño utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamaño real del campo será de 255, aunque el valor solo contenga 100. |
0-255 |
varchar(n) |
Igual que el tipo char, con la salvedad que varchar almacena únicamente los bytes que contenga el valor del campo. |
0-255 |
Nota:El tamaño del campo varia en función de cada base de datos, siendo 255 el valor standart. En realidad el tamaño viene delimitado por el tamaño de las páginas de datos, para SQL Server el límite esta en 8000 bytes (8000 caracteres), siempre y cuando tengamos definido el tamaño de la página de datos a 8K |
Tipos de datos fecha |
Tipo |
Definción |
Bytes |
Date |
Almacena fechas, con día, mes y año. |
8 |
Datetime |
Almacena fechas con fecha y hora |
4 |
Nota:La aparición de los tipos de datos de fecha supuso una atentica revolución el mundo de la bases de datos, en realidad, la base de datos almacena internamente números enteros, de hay que el tamaño sea de 4 bytes y 8 bytes (2 enteros), pero aporta la validación del dato introducido. |
Tipos de datos lógicos |
Tipo |
Definición |
Bytes |
Bit |
Tipo bit. Almacena un 0 ó no cero, según las bases de datos será 1 ó -1. Se aplica la lógica booleana, 0 es falso y no cero verdadero. |
1 bit |
Tipos de datos BLOB |
Tipo |
Definición |
Bytes |
Image |
Almacena imágenes en formato binario, hasta un máximo de 2 Gb de tamaño. |
0-2Gb |
Text |
Almacena texto en formato binario, hasta un máximo de 2 Gb de tamaño. |
0-2Gb |
Operadores
Los operadores se pueden definir como combinaciones de caracteres que se utilizan tanto para realizar asignaciones como comparaciones entre datos.
Los operadores se dividen en aritméticos, relacionales, lógicos, y concatenación .
Operadores SQL |
Aritméticos |
+ |
Suma |
- |
Resta |
* |
Producto |
/ |
División |
** ^ |
Exponenciación |
Relacionales |
< |
Menor que |
<= |
Menor o igual que |
> |
Mayor que |
>= |
Mayor o igual que |
<> != |
Distinto |
!< |
No menor que |
!> |
No mayor que |
Lógicos |
AND |
Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre un valor verdadero o falso.Los operadores lógicos se evaluan de izquierda a derecha. |
OR |
NOT |
Concatenación |
+ |
Se emplea para unir datos de tipo alfanúmerico. |
Palabras Clave
Las palabras clave son identificadores con un significado especial para SQL, por lo que no pueden ser utilizadas para otro proposito distinto al que han sido pensadas.
SQL dispone de muy pocas órdenes, pero de multiples pálabras clave, lo que le convierten en un lenguaje sencillo pero tremendamente potente para llevar a cabo su función.
Palabras Clave |
ALL |
AND |
ANY |
ASC |
AVG |
BEGIN |
BY |
CHAR |
CHECK |
CLOSE |
COUNT |
COMMIT |
CREATE |
CURSOR |
DECIMAL |
DECLARE |
DELETE |
DESC |
DISTINCT |
DEFAULT |
EXISTS |
FETCH |
FLOAT |
FOR |
FROM |
GRANT |
GROUP |
HAVING |
IN |
INDEX |
INSERT |
INTEGER |
INTO |
LIKE |
MAX |
MIN |
NOT |
NUMERIC |
ON |
OPEN |
OR |
ORDER |
REVOKE |
ROLLBACK |
SELECT |
SET |
SUM |
TABLE |
UNION |
UNIQUE |
UPDATE |
USER |
VALUES |
VIEW |
WHERE |
WITH |
Funciones Agregadas
Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los datos de las tablas.
Estas funciones se incorporan en las consultas SELECT y retornan un único valor al operar sobre un grupo de registros.
Las funciones agregadas son.
Funciones Agregadas |
MAX() |
Devuelve el valor máximo. |
MIN() |
Devuelve el valor mínimo. |
SUM() |
Devuelve el valor de la suma de los valores del campo. |
COUNT() |
Devuelve el número de filas que cumplen la condición |
AVG() |
Devuelve el promedia de los valores del campo |
Predicados
Los predicados son condiciones que se indican en claúsula WHERE de una consulta SQL.
La siguiente tabla ilustra los predicados de SQL.
Predicados SQL |
BETWEEN...AND |
Comprueba que al valor esta dentro de un intervalo |
LIKE |
Compara un campo con una cadena alfanumérica. LIKE admite el uso de caracteres comodines |
ALL |
Señala a todos los elementos de la selección de la consulta |
ANY |
Indica que la condición se cumplirá si la comparación es cierta para al menos un elemento del conjunto. |
EXISTS |
Devuelve un valor verdadero si el resultado de una subconsulta devuelve resultados. |
IN |
Comprueba si un campo se encuentra dentro de un determinado rango. El rango puede ser una sentencia SELECT. |
No se preocupe si no entiende el significado de alguno de los terminos que hemos presentado aquí, pronto veremos ejemplos que nos aclararán las cosas, de momento nos vale con saber que existen.