Lectura 5 - SQL Interactivo

miércoles, 21 de enero de 2009

INTRODUCCIÓN


A continuación veremos una breve descripción de lo que se trata SQL interactivo.
Analizaremos cada una de sus características, funciones, elementos, modos de ejecución, sus palabras reservadas y no reservadas.
Todos y cada uno de los términos que se presentaran son parte fundamental del SQL a la hora de crear las bases de datos, de hacer consultas en estas, de eliminarlas o modificarlas.
Conoceremos las sentencias o palabras claves que serán de gran ayuda para cada una de las situaciones antes mencionadas.
Desde el momento de mencionar las características comprenderemos el por que SQL es llamado interactivo; pues podremos observar la manera en que SQL interactúa con los demás lenguajes que son utilizados para su interpretación.
La manera en que SQL interactivo se comunica es fundamental en su interpretación ya que esta basada en diferentes tipos de caracteres que se darán conocer enseguida.


CONCEPTOS BÁSICOS DEL LENGUAJE DE SQL

CARACTERÍSTICAS

El lenguaje SQL esta formado por tres tipos de caracteres:

· Letras. El alfabeto latino
· Dígitos. Los números.
· Caracteres especiales. Espacios en blanco y los siguientes
“%&()*+,-. ;:<= >[ ]^_#{ } / ­

Los modos de utilización van a depender de la forma de ejecutar, por ejemplo:


I. Ejecución directa o SQL interactivo. Las ordenes SQL se escriben en una línea de comando, o bien se crea mediante un diseño visual que las traduce a una sentencia SQL y así son ejecutadas por el sistema.


II. Incrustado o embebido. Las ordenes SQL se escriben como parte del código de otro lenguaje, delimitando las sentencias SQL mediante separadores especiales, de modo que cada unidad de compilación este formada por código anfitrión y SQL. Una unidad de compilación es un segmento de código ejecutable. Cada lenguaje anfitrión contiene los compiladores SQL propios de la base de datos en la que se almacenan los datos.


III. Módulos SQL-cliente o procedimientos almacenados. Un modulo SQL cliente es un objeto SQL, de modo que las ordenes SQL se compilan aparte del código anfitrión y se enlazan todos los programas, creándose un ejecutable. Un único modulo puede estar asociado a varias unidades de compilación. Los mecanismos de asociación entre módulos y la transferencia del control de unos a otros son definidos por el fabricante.


IV. Dinámico. Las instrucciones SQL a ejecutar se incluyen en un modulo de SQL-cliente o en una unidad de compilación usando SQL incrustado. Los tipos de órdenes empleados en SQL dinámico comprenden las siguientes instrucciones:


* Prepare. Preparan el código SQL generado para su ejecución.
* Deallocate. Quitan la marca de preparación de las órdenes SQL preparadas.
* Describe. Contiene una descripción de los parámetros de entradas y /salidas dinámica de una orden prepare.
* Select. Devuelve un conjunto de columnas como resultado de una consulta dinámica.
* Execute. Asocia los parámetros de entrada a una orden prepare de modo que pueda ejecutarse.
* Declare cursor. Declara un cursor o tabla en memoria.
* Allocate cursor, fetch, delete, update, open, close, get. Son órdenes que pueden ejecutarse sobre cursores.


La ejecución dinámica de órdenes SQL se realiza de modos distintos.
Las órdenes pueden ser preparadas para su ejecución y mas tarde ejecutadas una o más veces, pudiéndose eliminar, mediante dellocate o release, la orden preparada cuando no se necesite ejecutar más. El segundo modo consiste en ejecutar las órdenes directamente, sin prepararlas.

V. Procedimientos invocados externamente
Son rutinas –funciones o procedimientos- SQL, que contiene órdenes de tipo call y una cláusula de nombre de lenguaje que define un lenguaje distinto de SQL.

VI. Rutinas invocadas por SQL y funciones construidas
Una rutina invocada por SQL se define entre dos elementos, el nombre de la rutina y el nombre del lenguaje en que se implementa, siendo relativamente variable su implementación de una base de datos comerciales a otras.

ELEMENTOS DE LAS ORDENES SQL


Las ordenes SQL no poseen un formato especifico, siempre empiezan por una palabra predefinida. Para separar ordenes se emplea el punto y coma (;). Las órdenes están formadas por los siguientes elementos:


* Palabras predefinidas. Son las palabras propias del lenguaje SQL: SELECT, FROM, WHERE, LIKE, CREATE, entre otras.
* Nombres de objetos (tablas, columnas,..). Son los identificadores asignados por los programadores o usuarios a tablas, campos, variables, procedimientos, etc. La mayor parte de lo nombres de objetos se definen mediante una orden CREATE.
* Constantes. Son secuencias de caracteres cuyo valor no varia, siendo independientes de los datos. Son de tipo: numéricas, carácter, temporal, GUID, monetarias e índices.
* Delimitadores. Son un subconjunto de caracteres que separan elementos de una sentencia SQL.
* Operadores. Sirven para crear nuevos datos a partir de los ya existentes.
* Datos y nulos. Un datos es una unidad de información con sentido en si misma que se almacena en un campo, una constante o una variable. Un valor nulo (NULL) es un valor no asignable en especial a un determinado tipo de datos.
* Expresiones y predicados. Es una combinación de operadores y operandos (contenedores de información-datos-) y se ligan unos con otros mediante operadores. Los predicados son expresiones contenidos en ordenes SQL, permiten expresar condiciones en diferentes ordenes, obteniéndose un valor booleano y se clasifican en los siguientes tipos:

- Comparación. Están formados por 3 elementos: una expresión o valor a comparar, un operador de comparación y un valor con el que se compara.
- BETWEEN. Especifica si un valor esta comprendido en un rango.
- IN. Especifica si un valor esta comprendido en una lista de valores declarada.
- LIKE. Especifican si un campo cumple un determinado patrón o secuencia de caracteres con los que se compara.
- NULL. Especifican una prueba para un valor nulo (NULL).
- Cuantificados. Es un tipo especial de comparación en el que en lugar de obtenerse un valor único como resultado de la comparación, se obtiene un conjunto de valores pertenecientes a un campo. El resultado de un predicado cuantificado depende del cuantificador empleado: ALL, SOME y ANY.
- EXISTS. Especifican una prueba para un conjunto de valores.
- UNIQUE. Especifican una prueba para comprobar la ausencia de filas duplicadas.
- MATCH. Especifican una prueba para filas coincidentes.
- OVERLAPS. Especifica si se produce solapes entre dos periodos de tiempo.
- DISTINCT. Especifica si dos valores de fila son distintos.
- TYPE. Especifica una prueba de tipo de datos.


* Predicados compuestos: And, Or, Not. Para obtener el valor de un predicado compuesto de tipo AND, OR, NOT, se evalúa cada parte del predicado compuesto y se siguen las reglas de la lógica proposicional, obteniéndose un resultado verdadero, falso o desconocido.

FUNCIONES


Son operaciones que se pueden realizar sobre un determinado valor o conjunto de valores, devolviendo, a su vez, un nuevo valor, del mismo o distinto tipo. Algunos de los tipos son:

* Funciones del valor numérico. Son funciones que devuelven un valor de tipo numérico.
* Funciones de cadena. Son funciones que devuelven un valor de tipo cadena de caracteres o bit. Son de tres tipos: carácter, BLOB y bit.
* Funciones de fecha /hora e intervalo. Son funciones que devuelven un valor de tipo fecha/hora o intervalo respectivamente.
* Conversión de tipos de datos. CAST (expresión en tipo de dato inicial, tipo de dato al que convertir la expresión). También se emplea la función CONVERT.
* Función de análisis de datos. Devuelven un resultado derivado de realizar una operación sobre cierto numero de filas se dividen en 2 funciones, funciones tabulares y funciones tabulares de ventanas.
* Funciones de agrupamiento de datos. Pueden calificarse con DISTINCT o ALL. La sintaxis de las funciones de agregado es: nombre de la función y una expresión que devuelve un valor de fila.
* Funciones de sistema. Son funciones implementadas por los fabricantes para facilitar tareas a los administradores y programadores de la base de datos, son muy variables de unos fabricantes a otros en cuanto a funcionalidad y sintaxis.
* Objeto de base de datos. Son todos aquellos que se pueden crear en una base de datos empleando la orden CREATE de SQL, los que son definidos por los usuarios y aquellos que permiten la administración del sistema.


PALABRAS RESERVADAS


Las palabras clave empleadas en SQL son de dos tipos: reservadas y no reservadas. La lista de palabras reservadas, en la versión ANSI (1999/2000) es mayor que la definida en la versión ANSI X3.135-1992. Las palabras reservadas se listan para evitar su utilización por los usuarios, ya que pueden llegar a ser empleadas en nuevas versiones de SQL.


TIPOS DE DATOS


Es un conjunto de valores. Loa parámetros SQL, columnas, atributos y variables son elementos de una base de datos cuyos valores pertenecen a un tipo de datos. El lenguaje SQL esta formado por 3 clases de tipos de datos: los datos predefinidos, los datos construidos o compuestos son los cuales se crean a partir de los tipos de datos definidos para esa categoría y los definidos por el usuario se crean a partir de datos existentes, o de aquellos tipos de datos en los que se basan los tipos de datos existentes.
SUBCONJUNTOS ANSI-SQL

DQL

Es el Data Query Language o Lenguaje de Consulta de Datos. La orden que se emplea es SELECT. Aunque la sintaxis de esta orden es muy compleja, es el centro de la gestión de consulta de datos, de modo que se mostraran las formas más usuales de empleo de SELECT sin definirla por completo. Como la orden SELECT permite seleccionar registros de una o más tablas, a la definición de una orden SELECT se le denominan consulta.
Su sintaxis básica es:

DML


Es el Data Manipulation Language o Lenguaje de Manipulación de Datos, entre sus órdenes destacan:


· La orden INSERT crea nuevas filas en una tabla. Su sintaxis es:
INSERT INTO tabla donde se inserta columnas a insertar subconsultas que genera las columnas [ OVERRIDING USER VALUE OVERRIDING SYSTEM VALUE ] DEFAULT VALUES lista de nombres de columna.
· La orden DELETE borra una fila de una tabla. Su sintaxis es:
DELETE FROM tabla de la que se borra WHERE CURRENT OF nombre del cursor.
· La orden UPDATE actualiza una fila de una tabla. Su sintaxis es:
UPDATE tabla SET nombre de columna = valor actualizado.


DDL


Es el Data Definition Lenguage o Lenguaje de Definición de Datos. Entre las órdenes de este lenguaje destacan las siguientes:

· La orden CREATE SCHEMA define un esquema en un catalogo. Su sintaxis es:
CREATE SCHEMA nombre del esquema características del esquema.
· La orden DROP SCHEMA destruye un esquema en un catalogo. Su sintaxis es:
DROP SCHEMA nombre del esquema CASCADE RESTRICT.
· CHECK su sintaxis es:
CHECK (condición de búsqueda).
· CONSTRAINT

DCL


Es el Data Control Language o Lenguaje de Control de Datos. Las órdenes mas usadas son:

· La orden GRANT define privilegios y autorizaciones tanto para usuarios como roles. Su sintaxis es:
GRANT .
· La orden REVOKE elimina autorizaciones y privilegios. Su sintaxis es:
REVOKE [<>] FROM ]> <>]>.

TPL


Es el Transaction Processing Language (Lenguaje de Proceso de Transacciones) o gestor de transacciones. Se emplea como lenguaje de control del DML. Las órdenes de esta parte de SQL son: STARR TRANSACTION, con el sinónimo BEGIN TRANSACTION, SET TRANSACTION, SET CONSTRAINTS MODE, SET SAVEPOINT, RELEASE SAVEPOINT, COMMIT,
ROLLBACK Y LOCK TABLE.

EJEMPLOS DE MANEJO DE BASES DE DATOS POR MEDIO DE LA HERRAMIENTA DE ANSI-SQL:

CREACIÓN DE BASE DE DATOS


Para empezar se pone la contraseña que pusimos cuando instalamos MySQL.
Damos la instrucción CREATE SCHEMA y el nombre de la base de datos a crear.
Con SHOW DATABASES; visualizamos las tablas existentes y la que se acaba de crear

CREACIÓN DE TABLAS

Con USE y el nombre de la BD, estamos eligiendo la BD con la que se trabajará y a la cuál se le creará una tabla

Con SHOW TABLES; se visualizan las tablas que contiene nuestra BD.
Con DESCRIBE y el nombre de la tabla se observan los datos con los que se lleno la tabla

INSERT INTO:VALUESSELECT * FROM

SELECT : AND y OR

ORDER BY ORDER BY DESC

LIKE

COUNT (*)COUNT (*) GROUP BY

CONCLUSIÓN

Finalmente como pudimos observar todas aquellas funciones y palabras claves ya mencionadas son indispe4nsables a la hora de usar SQL, pues con estas podremos manipular la forma en que deseamos construir nuestras bases de datos.
Todas y cada una de las s tencias on las que elaboremos nuestras bases de datos.

BIBLIOGRAFÍA:

Análisis y diseño detallado de aplicaciones informáticas de gestión.
G. Cabrera y G. Montoya.
Mc. Graw Hill 1999

0 Comments: