En SQL tenemos bastantes sentencias que se
pueden utilizar para realizar diversas tareas.
Dependiendo de las tareas, estas sentencias
se pueden clasificar en 4 grupos principales
(DML, DDL,DCL y PLSQL),
DML Para
manipulacion
de datos
SELECT
Recupera datos
de la base de
datos
INSERT
Añade nuevas
filas de datos a la
base de datos
DELETE
Suprime filas de
datos de la base
de datos
UPDATE
Modifica datos
existentes en la
base de datos
DDL Para definicion
de datos
CREATE
TABLE
Añade una
nueva tabla a la
base de datos
DROP
TABLE
Suprime una
tabla en la
base de datos
ALERT
TABLE
Modifica la
estructura de
una tabla
existente
CREATE
VIEW
Añade una
nueva vista a
la base de
datos
DROP
VIEW
Suprime una
vista de la base
de datos
CRATE
INDEX
Construye un
indice para la
columna
DROP
INDEX
Suprime el
indice para
una columna
CREATE
SYNONYM
Define un
Alias para
un nombre
de tabla
DROP
SYNONYM
Suprime un
alias para un
nombre de tabla
DCL Para
Control de
Acceso
GRANT
Concede
privilegios de
acceso a usuarios
REVOKE
Suprime privilegios de
acceso a usuarios.
Control de
Transacciones
COMMIT
Finaliza la
transaccion actual
ROLLBACK
Aborta la
transaccion actual
PLSQL o SQL
Programatico
DECLARE
Define un cursor
para una consulta
OPEN
Abre un cursor
para recuperar
resultados de
consulta
FETCH
Recupera una
fila de resultados
de consulta
Componentes
sintacticos
La mayoria de sentencias de SQL tienen
la misma estructura. Todas comienzan por
un verbo: (select, insert, update, create), a
continuación le sigue una o más clausulas
que nos dicen los datos con los que vamos
a operar (from, where), algunas de estas
son opcionales y otras obligatorias como
es el caso del from.
En SQL tenemos varios tipos de
datos, cuando creamos una tabla con
la instruccion create_table, tenemos
que especificar el tipo de dato de
cada columna. Aqui algunos de ellos y
sus distintas caracteristicas.
VARCHAR2(tamaño)
Almacena cadenas de caracteres de
una longitud variable. La longitud
máxima son 4000 caracteres.
CHAR(tamaño)
Almacena caracteres con una
longitud fija. Siendo 2000
caracteres el máximo
NUMBER(precision,escala)
Almacena datos numéricos, tanto enteros como
decimales, con o sin signo. Precisión, indica el
número máximo de digitos que va a tener el dato.
Escala, indica el número de digitos que puede
haber a la derecha del punto decimal.
LONG
Almacena cadenas de
caracteres de longitud
variable. Puede almacenar
hasta 2 gigas de información
LONG RAW
Almacena datos binarios. Se
emplea para el almacenamiento de
gráficos, sonidos, etc. Su tamaño
máximo es de 2 gigas
DATE
Almacena información de fechas y horas.
De forma predeterminada almacena un
dato con el siguiente formato:
siglo/año/mes/dia/hora/minutos/segundos.
Este formato se puede cambiar con otros
parámetros.
RAW(tamaño)
Almacena datos
binarios. Puede
almacenar como
mucho 2000 bytes.
ROWID
Se trata de un campo que
representa una cadena
hexadecimal que indica la
dirección de una fila en su
tabla
NVARCHAR2(tamaño)
Es similar al varchar2 pero el tamaño
de un carácter depende de la eleccion
del juego de caracteres. El tamaño
máximo es 2000 bytes.
NCHAR(tamaño)
Similar al char y con
las mismas
caracteristicas que el
nvarchar2
CLOB
Similar al LONG y se
usua para objectos
carácter
NCLOB
Similar al CLOB solo que
el tamaño del carácter
depende del juego de
caracteres utilizado
BLOB
Similar al LONG RAW.
Este se usa para objetos
binarios.
Los tipos de datos se clasfician
en las siguientes categorias
Numeros
Exactos
Numeros
Aproximados
Fecha y
Hora
Cadena de
caracteres
Cadena de
caracteres
Unicode
Cadenas
Binarias
Otros tipos
de datos
El SGDB realiza una serie
de pasos para ejecutar
una sentencia
1.- Lo primero que hace
es analizar la sentencia y
comprobar que este bien
escrita
2.- Valida la sentencia.
Comprueba la sentencia
semánticamente.
Comprobando que tanto
las tablas, columnas y
datos existen.
3.- Después optimiza la
sentencia, buscando la
forma más rápida de
ejecutar dicha sentencia.
4.- Genera un plan de
aplicación de la
sentencia. Genera el
código necesario para
ejecutar dicha sentencia