Mila Enviar a Edgar

Embed Size (px)

Citation preview

  • 8/17/2019 Mila Enviar a Edgar

    1/19

      REPÚBLICA BOLIVARIANA DE VENEZUELA.

      MINISTERIO DEL PODER POPULAR PARA LA DEFENSA. 

    UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA

      FUERZA ARMADA NACIONAL BOLIVARIANA.

      NÚCLEO YARACUY- EXTENCIÓN NIRGUA

      LENGUAJE SQL DE

    LAS BASES DEDATOS

    RELACIONALES

    FACILITADOR: EMPRENDENDOR:

  • 8/17/2019 Mila Enviar a Edgar

    2/19

    ING. EDGARDO MOLINAS MILANYELI LEON

      5to ING.SISTEMA

      NIRGUA MAYO !"#$

      INDICE

    INTRODUCCIÓN…………………………………………………………%%%%

    CONTENIDO

    #. LENGUA&E:

    #.# Lenguaje de definición de datos DDL %%%%%%%.%%%%%

    #.! Pre compilación y ejecución de un modulo SQL%%%%%%%%..

    Concepto…………………………………………………%%%%…… Vincular.%%%%%%%%%%%%%%%%%%%%.....…………Compilación (o ensamblaje y lin!"edición. %%%%%%%.....……

    #.' Lenguaje de manipulación de datos D#L. %%%%%%%....…….

    #.( SQL Lenguaje de definición de $istas D#L …%%%%%%.....……

    !. EXPRESIONES DE CONSULTAS EN S)L:

    !.# Conceptos............................................................................. ………..

    !.! %eometr&a de SQL.................................................................. ………

    !.' CONCLUSIÓN...................................................................................

    3

    4

    6

    6

    7

    8

    1

    0

    1

    3

     

    1

    4

    1

  • 8/17/2019 Mila Enviar a Edgar

    3/19

      INTRODUCCIÓN

      'n la actualidad e)isten una serie de lenguajes de programación *ue

    se utili+an y est,n muy relacionados con base de datos como son los

    lenguajes SQL *ue tiene una base de datos relacional es un lenguaje

    declarati$o de acceso a la bases de datos *ue permite especificar di$ersos

    tipos de operaciones en ellas.

    -nos de los temas relacionados son los lenguajes de definición de

    datos DDL es el *ue se encarga de la modificación de la estructura de los

    objetos de la base de datos.

      'l lenguajes de manipulación de datos 's el lenguaje proporcionado por 

    el sistema de gestión de base de datos *ue permite a los usuarios lle$ar a cabo

    las tareas de consulta o manipulación de los datos.

      tros de los puntos relacionados con la base de datos son las pre"

    combinación y ejecución de un modulo SQL el precompilador busca errores de

    sinta)is y prepara cada instrucción SQL para compilación o ensamblaje dando

    como resultado un conjunto de instrucciones fuente.

      Los otros lenguajes relacionados a la base de datos los tendr,

    #ediante la e)ploración de este trabajo encontraras los temas mencionados

    anteriormente plasmados y e)tensamente in$estigados.

  • 8/17/2019 Mila Enviar a Edgar

    4/19

      S)L *+,/01, 2, 3o4/+t0 ,4t/3t/02o6

      'l lenguaje de consulta estructurado o SQL un lenguaje declarati$o de

    acceso a bases de datos relacionales *ue permite especificar di$ersos tipos de

    operaciones en ellas. -na de sus caracter&sticas es el manejo del ,lgebra y el

    c,lculo relacional *ue permiten efectuar consultas con el fin de recuperar de

    forma sencilla información de inter/s de bases de datos as& como 0acer

    cambios en ella.

      L,/01, 2, 2,788389 2, 20to4 *DDL6

      'l lenguaje de definición de datos es el *ue se encarga de la

    modificación de la estructura de los objetos de la base de datos. 1ncluye

    órdenes para modificar borrar o definir las tablas en las *ue se almacenan los

    datos de la base de datos. ')isten cuatro operaciones b,sicas2 C3'45'

     4L5'3 D3P y 53-6C45'.

    CREATE CREAR

      'ste comando permite crear objetos de datos como nue$as bases de

    datos tablas de $istas y procedimientos almacenados. 'jemplo (crear una

    tabla C3'45' 547L' 8C-S5#'3S89

    ALTER MODIFICAR

    'ste comando permite modificar la estructura de un objeto. Se pueden

    agregar:*uitar campos a una tabla modificar el tipo de un campo

    agregar:*uitar &ndices a una tabla modificar un trigger etc. 'jemplo (agregar

    columna a una tabla 4L5'3 547L' 84L-#6S8 4DD 'D4D 165 -6S1%6'D9

    D3P ; 'L1#1643 'ste comando elimina un objeto de la base de datos. Puede

    ser una tabla $ista &ndice trigger función procedimiento o cual*uier otro

    objeto *ue el motor de la base de datos soporte. Se puede combinar con la

    sentencia 4L5'3. 'jemplo D3P 547L' 86#73'

  • 8/17/2019 Mila Enviar a Edgar

    5/19

    TRUNCATE BORRAR

      'ste comando trunca todo el contenido de una tabla. La $entaja sobre el

    comando D3P es *ue si se *uiere borrar todo el contenido de la tabla esmuc0o m,s r,pido especialmente si la tabla es muy grande. La des$entaja es

    *ue 53-6C45' sólo sir$e cuando se *uiere eliminar absolutamente todos los

    registros ya *ue no se permite la cl,usula =>'3'. Si bien en un principio

    esta sentencia parecer&a ser D#L (Lenguaje de #anipulación de Datos es en

    realidad una DDL ya *ue internamente el comando 53-6C45' borra la tabla

    y la $uel$e a crear y no ejecuta ninguna transacción.

    'jemplo2

      53-6C45' 547L' 86#73'

  • 8/17/2019 Mila Enviar a Edgar

    6/19

    V83/+0 

       4ntes de ejecutar la aplicación de D7? debe utili+ar el mandato 716D

    para $incular el D73# a un pa*uete. Por ejemplo puede decidir poner 

    determinadas sentencias de SQL juntas en el mismo programa a fin de

    precompilarlas en el mismo D73# y a continuación $incularlas en un Bnico

    pa*uete. Cuando se ejecuta el programa D7? utili+a una indicación de fec0a y

    0ora para $erificar *ue el programa coincide con el plan o pa*uete correcto.

      -na colección es un grupo de pa*uetes asociados. La $inculación de

    pa*uetes en colecciones de pa*uetes le permite aadir pa*uetes a un plan de

    aplicación e)istente sin necesidad de $ol$er a $incular todo el plan. Si incluye

    un nombre de colección en la lista de pa*uetes al $incular un plan cual*uier 

    pa*uete *ue est/ en la colección estar, disponible para el plan. 1ncluso es

    posible *ue la colección est/ $ac&a la primera $e+ *ue $incula el plan. #,s

    adelante puede aadir pa*uetes a la colección y descartar o sustituir pa*uetes

    e)istentes sin $ol$er a $incular el plan.

    'l registro especial C-33'65 P4C4%' P45> especifica un $alor *ue

    identifica una lista de colecciones *ue D7? utili+a para resol$er las referencias

    a pa*uetes *ue se utili+an para ejecutar sentencias de SQL

    • Co; +8?-,28389.

    Cada modulo fuente es compilado o ensamblado para dar lugar a un

    modulo de carga. 4l lin!"editar los módulos de carga se enlatan en un Bnico

    modulo objeto.

    Para permitir *ue la aplicación intercambie información con elsubsistema D7? debe utili+ar un procedimiento de edición de enlaces para

    crear un módulo de carga ejecutable *ue satisfaga los re*uisitos del entorno

    (como C1CS 1#S 5S o proceso por lotes. 'l módulo de carga es una unidad

    de programa *ue se carga en el almacenamiento principal para la ejecución.

      E1,3/t0:

  • 8/17/2019 Mila Enviar a Edgar

    7/19

    -na $e+ completados los pasos anteriores puede ejecutar la aplicación

    de D7?. ')isten $arios m/todos disponibles para preparar una aplicación para

    ejecutarse. Puede 0acer lo siguiente2

    -tili+ar paneles de D7? 1nteracti$e (D7?1 *ue le gu&an paso a paso

    desde la preparación del programa a la ejecución del programa.

    Someter una aplicación en primer plano de 5S o por lotes en segundo

    plano de 5S.

    1niciar la lista de mandatos de preparación de programas (CL1S5 en

    primer plano de 5S o por lotes.

    -tili+ar el procesador de mandatos de DS6.

    -tili+ar procedimientos de ECL para incluirlos en conjuntos de datos (por 

    ejemplo SFSG.P3CL17 durante la instalación de D7?.

    5ambi/n puede precompilar y preparar un programa de aplicación

    utili+ando un procedimiento proporcionado por D7?. D7? dispone de un

    procedimiento e)clusi$o para cada lenguaje soportado.

    @,0;8,t0 DB! B82 M00, 

      La 0erramienta D7? 7ind #anager sir$e de ayuda a los programadores

    de aplicaciones2

    • Pre$er si un $&nculo de un D73# dar, como resultado una $&a de

    acceso modificada.

    • 'jecutar selecciones de $&a de acceso en un proceso por lotes de

    D73#.

    • 'liminar los pasos de $inculación innecesarios entre los

    programas de aplicaciones y la base de datos.

    • Comparar los D73# con subsistemas y módulos de carga.

     

    @,0;8,t0 DB! P0t C,3?, 

    D7? Pat0 C0ec!er ayuda a aumentar la estabilidad de los entornos D7?

    y a e$itar las interrupciones molestas y costosas. D7? Pat0 C0ec!er puede

    ayudarle a descubrir y corregir cambios de $&a de acceso inesperados antes de*ue se le informe de ellos.

  • 8/17/2019 Mila Enviar a Edgar

    8/19

      L,/01, 2, ;08

  • 8/17/2019 Mila Enviar a Edgar

    9/19

    ORDER BY P,4,t0 ,+ ,4/+t02o o2,02o  3D'3 7F marca modelo9

    'jemplo2

    De Consulta simplificada a tra$/s de un comod&n de Campos (H2

    'l uso del asterisco indica *ue *ueremos *ue la consulta de$uel$a todos los

    campos *ue e)isten en la tabla y los datos ser,n de$ueltos ordenados por

    marca y por modelo.

      S'L'C5 H @3# Coc0es 3D'3 7F marca modelo9

    C+0/4/+0 @ERE

    La cl,usula =>'3' es la instrucción *ue nos permite filtrar el resultado

    de una sentencia S'L'C5. >abitualmente no deseamos obtener toda la

    información e)istente en la tabla sino *ue *ueremos obtener sólo la

    información *ue nos resulte Btil en ese momento. La cl,usula =>'3' filtra los

    datos antes de ser de$ueltos por la consulta. Cuando en la Clausula =>'3'

    *ueremos incluir un tipo te)to debemos incluir el $alor entre comillas simples.

    'jemplos2

      'n nuestro ejemplo se desea consultar un coc0e en concreto para esto

    se agregó una cl,usula =>'3'. 'sta cl,usula especifica una o $arias

    condiciones *ue deben cumplirse para *ue la sentencia S'L'C5 de$uel$a los

    datos. 'n este caso la consulta de$ol$er, sólo los datos del coc0e con

    matr&cula para *ue la consulta de$uel$a sólo los datos del coc0e con matr&cula

    #@"?IJ"KD o bien la matr&cula @"IM"KL. Se puede utili+ar la clausula

    =>'3' solamente ó en combinación con tantas condiciones como *ueramos.

  • 8/17/2019 Mila Enviar a Edgar

    10/19

      S'L'C5 matricula marca modelo color numero

    num'3' matricula N 8#@"?IJ"KD8 3 matricula N 8@"IM"KL89

      -na Condición =>'3' puede ser negada a tra$/s del perador Lógico

    65. La Siguiente consulta de$ol$er, todos los datos de la tabla Coc0es

    menos el *ue tenga la #atr&cula #@"?IJ"KD.

      S'L'C5 matricula marca modelo color numero

    num'3' 65 matricula N 8#@"?IJ"KD89

      La Siguiente consulta utili+a la condicional D1S516C5 la cual nos

    de$ol$er, todos los $alores distintos formados por los Campos #arca y #odelo

    de la tabla coc0es.

      S'L'C5 D1S516C5 marca modelo @3# coc0es9

     

    C+0/4/+0 ORDER BY

      La cl,usula 3D'3 7F es la instrucción *ue nos permite especificar el

    orden en el *ue ser,n de$ueltos los datos. Podemos especificar la ordenación

    ascendente o descendente a tra$/s de las palabras cla$e 4SC y D'SC. La

    ordenación depende del tipo de datos *ue este definido en la columna de

    forma *ue un campo num/rico ser, ordenado como tal y un alfanum/rico seordenar, de la 4 a la K aun*ue su contenido sea num/rico. 'l $alor

    predeterminado es 4SC si no se especifica al 0acer la consulta.

    'jemplos2

    S'L'C5 matricula marca modelo color numero

    @3# coc0es

    3D'3 7F marca 4SC modelo D'SC9

  • 8/17/2019 Mila Enviar a Edgar

    11/19

    este ejemplo selecciona todos los campos matricula marca modelo color

    numero

    campos marca y modelo marca en forma ascendente y modelo en forma

    descendente.

    S'L'C5 matricula marca modelo color numero

    @3# coc0es

    3D'3 7F ?9

    'ste ejemplo selecciona todos los campos matricula marca modelo color

    numero

    campo marca ya *ue aparece en segundo lugar dentro de la lista de campos

    *ue componen la S'L'C5.

    16S'35 ; 16S'3543

    -na sentencia 16S'35 de SQL agrega uno o m,s registros a una (y sólo una

    tabla en una base de datos relacional.

    16S'35 165 8nombre

  • 8/17/2019 Mila Enviar a Edgar

    12/19

    'jemplo (asumiendo *ue 8matricula8 8marca8 8modelo8 86umV'>1C-L82

    16S'35 165 V'>1C-L

     V4L-'S (8G?IJ"RFK8 84udi8 84I8 ? 8789

    -PD45'

    -na sentencia -PD45' de SQL es utili+ada para modificar los $alores de un

    conjunto de registros e)istentes en una tabla.

    'jemplo

    -PD45' V'>1C-L S'5 ClaseVe0iculo N 8C8

     =>'3' #arca N 84udi89

    D'L'5'

     -na sentencia D'L'5' de SQL borra uno o m,s registros e)istentes en una

    tabla.

    @orma b,sica

     D'L'5' @3# tabla =>'3' columnaG N 8$alorG8

     'jemplo

     D'L'5' @3# V'>1C-L =>'3' #arca N 84udi8

      C+0487830389 2, +o4 DML:

      Se clasifican en dos grandes grupos de2

    #. L,/01,4 2, 3o4/+t0

  • 8/17/2019 Mila Enviar a Edgar

    13/19

    'n los lenguajes no procedimentales el usuario describe la información

    deseada sin un procedimiento espec&fico para obtener esa información.

      S)L Y LENGUA&E DE MANIPULACION DE VISTA

    SQL (por sus siglas en ingl/s Structured Query Language es un

    lenguaje declarati$o de acceso a bases de datos relacionales *ue permite

    especificar di$ersos tipos de operaciones en ellas. -na de sus caracter&sticas

    es el manejo del ,lgebra y el c,lculo relacional *ue permiten efectuar consultas

    con el fin de recuperar de forma sencilla información de bases de datos as&

    ')isten tres tipos de comandos SQL2

      Los DLL *D0t0 D,788t8o L0/0,6 *ue permiten crear y definir 

    nue$as bases de datos campos e &ndices.

      Los DML *D0t0 M08

  • 8/17/2019 Mila Enviar a Edgar

    14/19

      La opción 3'PL4C' lo *ue 0ace es reempla+ar la $ista en el caso de*ue esta ya e)ista. Las $istas se utili+an de forma an,loga a las tablaspermitiendo reali+ar consultas sobre las $istas tambi/n se pueden reali+ar 

    sentencias D#L sobre las $istas sin embargo las modificaciones borradas einserciones est,n restringidas a $istas *ue est/n definidas sobre una Bnicatabla.

    -- Vista para mostrar datos de departamentos y empleadosCREATE OR REPLACE VIE my

  • 8/17/2019 Mila Enviar a Edgar

    15/19

    TH;8o D,788389

    Constant  's un s&mbolo *ue representa un Bnico$alor de datos espec&fico. Para obtenerm,s información $ea Constantes(5ransact"SQL.

    scalar_function 's una unidad de sinta)is de 5ransact"SQL*ue proporciona un ser$icio espec&fico yde$uel$e un Bnico$alor.scalar_function puede ser una funciónescalar incorporada como las funcionesS-# %'5D45' o C4S5 o una funciónescalar definida por el usuario.

    O table_name. 's el nombre o alias de una tabla.

    Column 's el nombre de una columna. 'n unae)presión solo se admite el nombre de lacolumna.

    Variable 's el nombre de una $ariable o unpar,metro. Para obtener m,s información$ea D'CL43' Wlocal

  • 8/17/2019 Mila Enviar a Edgar

    16/19

      EXPRESIONES DE CONSULTAS EN S)L

      Se trata de una combinación de s&mbolos y operadores *ue el #otor de

    base de datos de SQL Ser$er e$alBa para obtener un Bnico $alor de datos. Las

    e)presiones simples pueden ser una sola constante $ariable columna ofunción escalar. Los operadores se pueden usar para combinar dos o m,s

    e)presiones simples y formar una e)presión compleja.

    1cono de $&nculo a temas Con$enciones de sinta)is de 5ransact"SQL

    Sinta)is2

     XConstant ; scalar

  • 8/17/2019 Mila Enviar a Edgar

    17/19

    Co;,t08o4

    Dos e)presiones pueden combinarse mediante un operador si ambas

    tienen tipos de datos admitidos por el operador y se cumple al menos una de

    estas condiciones2

    Las e)presiones tienen el mismo tipo de datos.

    'l tipo de datos de menor prioridad se puede con$ertir impl&citamente al

    tipo de datos de mayor prioridad.

    Si las e)presiones no cumplen estas condiciones se pueden usar las

    funciones C4S5 o C6V'35 para con$ertir e)pl&citamente el tipo de datos de

    menor prioridad al tipo de datos de mayor prioridad o a un tipo de datos

    intermedio *ue se puede con$ertir impl&citamente al tipo de datos de mayor 

    prioridad.

    Si no se admite la con$ersión impl&cita o e)pl&cita admitida las dos

    e)presiones no se pueden combinar.

    La intercalación de cual*uier e)presión *ue se e$alBa como una cadena

    de caracteres se establece segBn las reglas de prioridad de intercalación. Para

    obtener m,s información $ea Prioridad de intercalación (5ransact"SQL.

    'n un lenguaje de programación como C o #icrosoft Visual 7asic una

    e)presión siempre se e$alBa como un resultado Bnico. Las e)presiones de una

    lista de selección de 5ransact"SQL constituyen una $ariación de esta regla2 la

    e)presión se e$alBa indi$idualmente para cada fila del conjunto de resultados.

    -na Bnica e)presión puede tener un $alor distinto en cada fila del conjunto de

    resultados pero cada fila tiene un Bnico $alor para la e)presión. Por ejemplo

    en esta instrucción S'L'C5 tanto la referencia a Product1D como el t/rmino

    GA? de la lista seleccionada son e)presiones2

    -S' 4d$enture=or!s?ZG?9

    %

    S'L'C5 Product1D GA?

    @3# Production.Product9

    %

    La e)presión GA? se e$alBa como I en cada fila del conjunto de resultados.

     4un*ue la e)presión Product1D genera un $alor Bnico en cada fila del conjunto

    de resultados cada fila tiene solo un $alor para Product1D.

  • 8/17/2019 Mila Enviar a Edgar

    18/19

      G,o;,tK0 2, S)L:

    'l tipo de datos espacial plano geometry representa los datos en un

    sistema de coordenadas euclidiano (plano. 1mplementan este tipo como un

    tipo de datos en SQL Ser$er de Common Language 3untime (CL3.

    'l tipo geometry est, predefinido y est, disponible en cada base de datos.

    Puede crear columnas de tabla de tipo geometry y operar con los datos

    geometry de la misma manera *ue con los dem,s tipos CL3.

    'l tipo de datos geometry (plano admitido por SQL Ser$er cumple con las

    caracter&sticas simples de %eospatial Consortium (%C para la especificación

    SQL $ersión G.G.Z.

     

    CONCLUSION

      Se concluye *ue el Lenguaje de definición de datos DDL. 's unlenguaje de programación para definir estructuras de datos.

     Las principales funcionalidades de SQL como lenguaje de definición

    (DDL son la creación modificación y borrado de las tablas *ue componen labase de datos as& como de los &ndices $istas sinónimos permisos etc. *ue

    pudieran definirse sobre las mismas. 'ste documento introduce los comandospara el trabajo b,sico con tablas.

      Las e)presiones Se trata de una combinación de s&mbolos y operadores*ue el #otor de base de datos de SQL Ser$er e$alBa para obtener un Bnico$alor de datos

  • 8/17/2019 Mila Enviar a Edgar

    19/19

    Para finali+ar el precompilador busca errores de sinta)is y prepara cada

    instrucción SQL para compilación o ensamblaje dando como resultado un

    conjunto de instrucciones fuente (modulo fuente.