You are on page 1of 27

Lenguaje de Consultas

Formales
Diseo de Base de Datos
Ing. Luis Reyes

Objetivos
Conocer los lenguajes que permiten la manipulacin en
las bases de datos
Conocer la sintaxis del lenguaje de acceso a la base de
datos

Incursionar en los conceptos del entorno de desarrollo y


construccin de las bases de datos.

ANSI
El Instituto Nacional Estadounidense de Estndares o
ms conocido como ANSI (American National
Standards Institute) encargado de muchos de los
patrones relacionados en la Industria de la informtica,
realiz modificaciones en las revisiones sobre el lenguaje
SQL, en una de ellas defini que las sentencias se
clasifican en diferentes grupos

SQL (Structure Query Language)


SQL es el lenguaje de consulta universal para bases de
datos.
SQL proporciona mtodos para definir la base datos,
para manipular la informacin y para gestionar los
permisos de acceso a dicha informacin.
Para que un gestor de bases de datos sea considerado
como relacional, debe soportar SQL,
independientemente de las caractersticas particulares
que dicho gestor pueda aportar.
Conocer SQL es conocer las bases de datos, y todo su
potencial.

Diccionario de Datos
El diccionario de datos catlogo, es una base de
datos del sistema que contiene informacin sobre las
bases de datos, las tablas, las vistas, los derechos de
acceso, usuarios y dems elementos del motor de base
de datos.
El ANSI indica que el diccionario de datos debe ser
accedido a travs de una serie de vistas conocidas
como INFORMATION_SCHEMA. Tambin es conocido
con el nombre de SCRIPT.
Se puede consultar utilizando las instrucciones SELECT
de SQL.
Su finalidad es proporcionar informacin relativa a la
estructura de las bases de datos.

Tipos de Lenguajes en SQL


Los comandos de SQL se dividen en cinco grandes
grupos diferenciados, los cuales sern tratados por
separado y que nicamente se presentan aqu a modo
introductorio.
SQL = DDL + DML + DCL + TCL + DQL
DDL

(Data Definition Language)

DML

(Data Manipulation Language)

DCL

(Data Control Language)

TCL

(Transaction Control Language)

DQL

(Data Query Language)

DDL (Data Definition Language)


El lenguaje de definicin de datos, es el que se encarga de
la modificacin de la estructura de los objetos de la base de
datos.
Los nombre se almacenan inmediatamente despus de su
creacin, modificacin, borrado, en el diccionario de datos.

Es el encargado de la definicin de Bases de Datos, tablas,


vistas e ndices entre otros.
Son comandos propios de este lenguaje:
CREATE

ALTER
DROP
TRUCATE
COMMENT

RENAME

DML (Data Manipulation Language)


Un lenguaje de manipulacin de datos, es un lenguaje
proporcionado por el sistema de gestin de bases de datos
que permite a los usuarios llevar a cabo las tareas de
consulta o manipulacin de datos.
A travs de l podemos seleccionar, insertar, eliminar y
actualizar datos. Es la parte que ms frecuentemente
utilizaremos, y que con ella se construyen las consultas.
Son comandos propios de este lenguaje:
UPDATE
INSERT
DELETE
CALL
EXPLAIN PLAN
LOCK TABLE

DCL (Data Control Language)


El lenguaje de control de datos, adems de definir y
manipular una base de datos relacional, es importante
que se establezcan mecanismos de control para
resolver garantizar la seguridad de los datos.
Es el 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

TCL (Transaction Control Language)


Una transaccin es una unidad lgica de trabajo.
El lenguaje de control de transacciones, es un conjunto
de sentencias que se ejecuta como si fuesen una sola.
En general, las sentencias que forman parte de una
transaccin se interrelacionan entre s, y no tiene
sentido que se ejecute una sin que se ejecuten las
dems.
Son comandos propios de este lenguaje:
COMMIT
SAVEPOINT
ROLLBACK
SET TRANSACTION

DQL (Data Query Language)


El Lenguaje de Consulta de Datos, es el lenguaje
utilizado para recuperar o mostrar los datos existentes
dentro de nuestras bases de datos.
Comnmente encontraremos que cuando hacemos
referencia al DQL se menciona SQL, al igual que
cuando se utiliza el DML, tambin lo asociamos
directamente a SQL.
La instruccin SELECT, es la ms utiliza en la mayora de
aplicaciones relacionadas con las bases de datos
relacionales, de aqu la importancia de hacer nfasis en
el uso de esta instruccin.
Son comandos propios de este lenguaje:
SELECT

Palabras Claves
Las palabras clave son identificadores con un
significado especial para SQL, por lo que no pueden ser
utilizadas para otro propsito distinto al que han sido
pensadas.
SQL dispone de muy pocas rdenes, pero de mltiples
palabras clave, lo que le convierten en un lenguaje
sencillo pero tremendamente potente para llevar a
cabo su funcin.

Resumen de las palabras claves

Sintaxis de la instruccin SELECT

Nomenclatura utilizada en la sintxis


< >:

Indicar que se trata de un


nombre de columna o de una tabla

[ ]:

El contenido es de carcter opcional,


si es necesario puede ser utilizado

{ }:

El contenido lo constituye una lista de


los valores que son colocados

|:

Indicar que deber seleccionarse


una de las opciones que aparecen

Significado de cada segmento


SELECT - Palabra clave que indica que la sentencia de
SQL que queremos ejecutar es de seleccin.
ALL - Indica que queremos seleccionar todos los
valores.Es el valor por defecto y no suele especificarse
casi nunca.
DISTINCT - Indica que queremos seleccionar slo los
valores distintos.

Significado de cada segmento


FROM - Indica la tabla (o tablas) desde la que
queremos recuperar los datos. En el caso de que exista
ms de una tabla se denomina a la consulta "consulta
combinada" o "join".
En las consultas combinadas es necesario aplicar una
condicin de combinacin a travs de una clusula
WHERE.

WHERE - Especifica una condicin que debe cumplirse


para que los datos sean devueltos por la consulta.
Admite los operadores lgicos AND y OR.

GROUP BY - Especifica la agrupacin que se da a los datos.


Se usa siempre en combinacin con funciones agregadas.
HAVING - Especifica una condicin que debe cumplirse para
que los datos sean devueltos por la consulta. Su
funcionamiento es similar al de WHERE pero aplicado al
conjunto de resultados devueltos por la consulta. Debe
aplicarse siempre junto a GROUP BY y la condicin debe
estar referida a los campos contenidos en ella.
ORDER BY - Presenta el resultado ordenado por las columnas
indicadas. El orden puede expresarse con ASC (orden
ascendente) y DESC (orden descendente). El valor
predeterminado es ASC.

Funciones en el SELECT
MAX(columna)
Devuelve el valor mximo

MIN(columna)
Devuelve el valor mnimo

SUM(columna)
Devuelve el valor de la suma de los valores del campo

COUNT(columna)
Devuelve el nmero de filas que cumplen la condicin

AVG(columna)
Devuelve el promedia de los valores del campo

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

aritmticos,
relacionales,
lgicos,

y predicados.

Operadores Aritmticos
+

suma

resta

producto

divisin

**, ^

exponenciacin

Operadores Relacionales
=

igual a

<>, !=

distinto que

>

mayor a

<

menor a

>=

mayor o igual a

<=

menor o igual a

Operadores Lgicos
Los operadores lgicos permiten comparar expresiones
lgicas devolviendo siempre un valor verdadero o falso.
Los operadores lgicos se evalan de izquierda a
derecha
AND
OR

NOT

Operadores Predicados - BETWEEN


Sintaxis:

between valor1 and valor2

Permite definir un rango de posibles valores.


Comprueba que el valor esta dentro de un intervalo
El rango incluye por igualdad el valor inicial y el valor
final.
Reemplaza la siguiente lgica condicional:
a >= valor1 and a <= valor2
En su lugar:
a between valor1 and valor2

Operadores Predicados - IN
Sintaxis:

campo in (valor1, valor2, )

Comprueba si un campo se encuentra dentro de una


lista de valores
Generalmente, este permite definir una lista posible
datos, y reemplaza el uso del condicionante or para
indicar los valores posibles que puede tener un campo
a = valor1 or a = valor2 or a = valore 3
En su lugar:
a in (valor1, valor2, valor3)

Operadores Predicados - LIKE


Sintaxis:

campo like valor con comodn

Compara un campo con una cadena alfanumrica.


Permite verificar si en una cadena, aparecen valores posibles
que poseen algunos caracteres especficos.
Permite el uso de caracteres comodines . Los comodines
utilizados son: %, _
"Alfa%": cualquier cadena que inicie con las letras Alfa
"%casa%": cualquier cadena que tenga la cadena casa en su
interior
A _ _": cualquier cadena con tres caracteres que inicie con A
"_ _ _%": cualquier cadena con al menos tres caracteres.