sábado, 23 de agosto de 2014

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 numéricos (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 varían, pero se reducen básicamente 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





COMPONENTES SINTÁCTICOS

La mayoría de sentencias 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.




viernes, 22 de agosto de 2014

TIPOS DE SENTENCIAS


En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas.
Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos principales (DML, DDL,DCL), aunque nos quedaría otro grupo que a mi entender no está dentro del lenguaje SQL sino del PLSQL.
SENTENCIADESCRIPCIÓN
DMLManipulación de datos
SELECT
INSERT
DELETE
UPDATE

Recupera datos de la base de datos.
Añade nuevas filas de datos a la base de datos.
Suprime filas de datos de la base de datos.
Modifica datos existentes en la base de datos.
DDLDefinición de datosCREATE TABLE
DROP TABLE
ALTER TABLE 
CREATE VIEW 
DROP VIEW 
CREATE INDEX 
DROP INDEX 
CREATE SYNOYM 
DROP SYNONYM
Añade una nueva tabla a la base de datos.
Suprime una tabla de la base de datos. 
Modifica la estructura de una tabla existente. 
Añade una nueva vista a la base de datos. 
Suprime una vista de la base de datos. 
Construye un índice para una columna. 
Suprime el índice para una columna. 
Define un alias para un nombre de tabla. 
Suprime un alias para un nombre de tabla.
DCLControl de acceso
GRANT 
REVOKE 
Control de transacciones 
COMMIT 
ROLLBACK
Concede privilegios de acceso a usuarios. 
Suprime privilegios de acceso a usuarios 

Finaliza la transacción actual. 
Aborata la transacción actual.
PLSQLSQL Programático
DECLARE
OPEN
FETCH
CLOSE
Define un cursor para una consulta.
Abre un cursor para recuperar resultados de consulta.
Recupera una fila de resultados de consulta.
Cierra un cursor.

ACTUALIZACIÓN DE DATOS

 Para la actualización de datos SQL dispone de la sentencia UPDATE. La sentencia UPDATE permite la actualización de uno o varios registros de una única tabla. La sintaxis de la sentencia UPDATE es la siguiente.





  UPDATE <nombre_tabla> 

  SET  <campo1> = <valor1>

        {[,<campo2> = <valor2>,...,<campoN> = <valorN>]}

[ WHERE <condicion>]; 

    Las siguientes sentencias actualizan los datos de la tabla tCoches con los valores de la tabla tMarca optenidos anteriormente en la página dedicada a la inserción de datos





  UPDATE tCoches

  SET  marca = '1'

  WHERE marca = 'FORD';

  

 

  UPDATE tCoches

  SET  marca = '2'

  WHERE marca = 'RENAULT'; 

  

   

  UPDATE tCoches

  SET  marca = '3'

  WHERE marca = 'SEAT';

  Notese que los valores para el campo marca aparecen entrecomillados, ya que es un campo
de tipo varchar. Los valores con los que actualicemos los datos deben ser del tipo del campo.

 Un aspecto a tener en cuenta es que los campos que forman la primary key de una tabla sólo se podrán modificar si los registros no están referenciados en ninguna otra tabla. En nuestro caso sólo podremos modificar la matrícula de un coche si no tiene registros asociados en la tabla tAlquileres.

Esto puede causar poblemas, ya que podríamos habernos equivocado al dar de alta el coche en la tabla tCoches y detectar el error despues de alquilar el coche. En tal caso tendríamos dar de alta un nuevo coche con la matrícula correcta, actualizar los registros de la tabla alquileres y por último borrar el registro erroneo de la tabla tCoches. Este proceso puede ser bastante complicado en el caso de que existiran más relaciones con la tabla. Se podría considerar que la clave primaria de la tabla esta mal definida y que la matrícula no debe ser el elemento que identifique el coche. Una alternativa seria crear un código autonumérico para la tabla tCoches que realizará las veces de clave primaria y crear un índice único para la matrícula, este diseño también tiene sus "pegas", por lo que debemos decidir que modelo utilizar, y seleccionar las claves primarias con sumo cuidado.  


PALABRAS CLAVES

Las palabras clave son identificadores con un significado especial para SQL, por lo que no pueden ser utilizadas para otro propósito distinto al que han sido pensadas.

SQL dispone de muy pocas órdenes, pero de múltiples palabras clave, lo que le convierten en un lenguaje sencillo pero tremenda mente 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






02.jpg (168×86)


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 evalúan de izquierda a derecha.
OR
NOT
Concatenación
+
Se emplea para unir  datos de tipo alfanumérico.



DEFINICIÓN DE OPERADORES DE COMPARACIÓN




INTRODUCCIÓN

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




image001.jpg (575×394)