27
Lenguaje de Consultas Formales Diseño de Base de Datos Ing. Luis Reyes

CLASE Lenguaje de Consultas Formales

Embed Size (px)

DESCRIPTION

Lenguaje de Consultas

Citation preview

  • 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.