Actualizado el 21 de Marzo del 2018 (Publicado el 14 de Febrero del 2018)
1.121 visualizaciones desde el 14 de Febrero del 2018
1,0 MB
38 paginas
Creado hace 12a (14/06/2012)
www.devjoker.com
SQL.(Structure Query Language)
SQL es el lenguaje de consulta universal para bases de datos.
Desde esta opción vamos a tratar los temas relacionados con SQL ANSI 92, que es el standar SQL , ya que
luego extinten variantes como TSQL (TransactSQL) y PL/SQL (Procedure Language / SQL) que serán
tratados en sus propias opciones.
SQL propociona metodos para definir la base datos, para manipular la información y para gestionar los
permisos de acceso a dicha información.
Para que un gestor de bases de datos sea consisderado como relacional, debe soportar SQL,
independientemente de las caracteristicas particulares que dicho gestor pueda aportar.
Conocer SQL es conocer las bases de datos, y todo su potencial.
www.devjoker.com
Introducción a SQL
SQL es el lenguaje de consulta universal para bases de datos.
Los mandatos de SQL se dividen en tres grandes grupos diferenciados, los cuales serán tratados por separado
y que unicamente se presentan aqui a modo introductorio.
DDL(Data Definition Language), es el encargado de la definición de Bases de Datos, tablas, vistas e
índices entre otros.
Son comandos propios de este lenguaje:
CREATE TABLE
CREATE INDEX
CREATE VIEW
CREATE SYNONYM
DML(Data Manipulation Language), cuya misión es la manipulación de datos. A través de él podemos
seleccionar, insertar, eliminar y actualizar datos. Es la parte que más frecuentemente utilizaremos, y que
con ella se construyen las consultas.
Son comandos propios de este lenguaje:
SELECT
UPDATE
INSERT
INSERT INTO
DELETE FROM
DCL (Data Control Laguage), encargado de la seguridad de la base de datos, en todo lo referente al
control de accesos y privilegios entre los usuarios.
Son comandos propios de este lenguaje:
GRANT
REVOKE
arriba
www.devjoker.com
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
Numeric(n.m)
Decimal(n,m)
Float
char(n)
varchar(n,m)
Date
DateTime
Bit
Image
Text
Mas detalladamente tenemos:
Tipos de datos númericos
Tipo
Definción
Integer
Valores enteros con signo.
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).
Decimal(n,m)
Float
Igual que el tipo numeric.
Número de coma flotante, este tipo de datos se suele utilizar para los
valores en notación cientifica.
Bytes
4
517
517
48
Tipo
char(n)
varchar(n)
Tipos de datos alfanúmericos
Definció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.
Igual que el tipo char, con la salvedad que varchar almacena únicamente
los bytes que contenga el valor del campo.
Bytes
0255
0255
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
Date
Almacena fechas, con día, mes y año.
Datetime
Almacena fechas con fecha y hora
Bytes
8
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
Bit
Definición
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.
Bytes
1 bit
Tipos de datos BLOB
Tipo
Image
Definición
Almacena imágenes en formato binario, hasta un máximo de 2 Gb de
Bytes
02Gb
Text
tamaño.
Almacena texto en formato binario, hasta un máximo de 2 Gb de tamaño. 02Gb
arriba
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
!<
!>
AND Los operadores lógicos permiten comparar expresiones lógicas
OR
devolviendo siempre un valor verdadero o falso.Los operadores
lógicos se evaluan de izquierda a derecha.
NOT
Se emplea para unir datos de tipo alfanúmerico.
No menor que
No mayor que
Lógicos
Concatenación +
arriba
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
AVG
CHECK
CREATE
DELETE
EXISTS
FROM
IN
INTO
NOT
OR
SELECT
UNION
VALUES
AND
BEGIN
CLOSE
CURSOR
DESC
FETCH
GRANT
INDEX
LIKE
NUMERIC
ORDER
SET
UNIQUE
VIEW
ANY
BY
COUNT
DECIMAL
DISTINCT
FLOAT
GROUP
INSERT
MAX
ON
REVOKE
SUM
UPDATE
WHERE
ASC
CHAR
COMMIT
DECLARE
DEFAULT
FOR
HAVING
INTEGER
MIN
OPEN
ROLLBACK
TABLE
USER
WITH
arriba
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
arriba
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
ALL
ANY
EXISTS
IN
Compara un campo con una cadena alfanumérica. LIKE admite el uso
de caracteres comodines
Señala a todos los elementos de la selección de la consulta
Indica que la condición se cumplirá si la comparación es cierta para al
menos un elemento del conjunto.
Devuelve un valor verdadero si el resultado de una subconsulta devuelve
resultados.
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.
arriba
www.devjoker.com
Lenguaje de Definición de datos (I)
Tablas
El lenguaje de definición de datos (DDL, Data Definition Language) es el encargado de permitir la descripcion
de los objetos que forman una base de datos.
El lenguaje de definición de datos le va a permitir llevar a cabo las siguientes acciones:
Creación de tablas, índices y vistas.
Modificación de las estructura de tablas, índices y vistas.
Supresión de tablas, índices y vistas.
Pero antes de continuar vamos a comentar la nomenclatura que emplearemos, si tiene algún conocimiento de
programación le resultará familiar.
arriba
Nomenclatura
La sintaxis empleada para la sentencias en las diferentes páginas esta basada en la notación EBNF. Vamos a ver
el significado de algunos simbolos.
Símbolo
Significado
< >
[ ]
{ }
|
Encierran parámetros de una orden que el usuario debe sustituir al escribir dicha orden por
los valores que queramos dar a los parámetros.
Indica que su contenido es opcional.
Indica que su contenido puede repetirse una o mas veces.
Separa expresiones. Indica que pueden emplearse una u otra expresión pero no más de una
a la vez.
Además las palabras clave aparecen en mayúscula negrita y los argumentos en minúscula cursiva.
La sintaxis de una sentencia tendrá un aspecto como este:
CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamaño)>,
{
<nombre_campo> <tipo_datos(tamaño)>}
) ;
arriba
Creación de tablas
En el modelo relacional la información de una base de datos se almacena en tablas. Para saber más sobre las
tablas y como se almacena la información el ellas vea la introducción a bases de datos.
La creación de la base de datos debe comenzar por con la creación de una o más tablas. Para ello utilizaremos
la sentencia CREATE TABLE.
La sintaxis de la sentencia es la siguiente:
CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]}
[
, constraint <nombre> primary key (<nombre_campo>[ ,...n ])]
[
, constraint <nombre> foreign key (<nombre_campo>[ ,...n ])
references <tabla_referenciada> ( <nombre_campo> [ ,...n ] ) ]
) ;
Ejemplo: Vamos a simular una base de datos para un negocio de alquiler de coches, por
Comentarios de: SQL (Structure Query Language) (0)
No hay comentarios