CLASE Lenguaje de Consultas Formales
-
Upload
miguel-enigmah -
Category
Documents
-
view
238 -
download
0
description
Transcript of CLASE Lenguaje de Consultas Formales
-
Lenguaje de Consultas
FormalesDiseo 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 delos 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
-
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
-
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.