lenguaje sql (1) anny

Upload: migdalis

Post on 06-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Lenguaje SQL (1) Anny

    1/20

    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:

    *ING. EDGARDO MOLINAS *ANNY LEÓN

      !" ING.SISTEMA

     NIRGUA MAYO# $%&'

    1

  • 8/17/2019 Lenguaje SQL (1) Anny

    2/20

    INDICE

    INTRODUCCIÓN((((((((((((((((((((((((((CONTENIDO

    &. LENGUAJE:&.& 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 SQL:

    $.& Conceptos.............................................................................(((..$.$ %eometr&a de SQL..................................................................(((

    CONCLUSIÓN.................................................................................................

    INTRODUCCIÓN

    'no de los elementos ue distinguen a los seres )umanos del resto de

    los seres $i$os es la capacidad para comunicarse de manera sistemati*ada y

    2

    3

    4

    6

    6

    7

    8

    10

    13

    14

    18

    19

  • 8/17/2019 Lenguaje SQL (1) Anny

    3/20

    comprensible+ es decir+ utili*ando un lenguaje. ,l lenguaje es un complejo

    sistema de s&mbolos tanto fon-ticos como escritos ue permite comunicar 

    ideas+ pensamientos+ sentimientos y diferentes situaciones entre dos o mspersonas. ,l lenguaje se usa en diferentes reas y ejemplo de estos tenemos

    los lenguajes de programación ue son un conjunto de reglas+ notaciones+

    s&mbolos y/o caracteres ue permiten a un programador poder e0presar el

    procesamiento de datos y sus estructuras en la computadora. Cada lenguaje

    posee sus propias sinta0is. 1ambi-n se puede decir ue un programa es un

    conjunto de órdenes o instrucciones ue resuel$en un problema espec&fico

    basado en un Lenguaje de Programación.

    ,n la actualidad+ e0isten una serie de lenguajes de programación ue

    se utili*an en base de datos el cual son de gran importancia para definir cadauna de las estructuras de datos+ como son los lenguajes SQL ue tiene una

    base de datos relacional.,0iste una gran cantidad de temas relacionados con base de datos y

    los respecti$os lenguajes ue son de gran importancia para la ingenier&a de

    sistemas unos de estos son los contenidos son los lenguajes de definición e

    datos LDD+ Lenguajes de manipulación de datos+ entre otros. #ediante la

    e0ploración de este trabajo encontraras los temas mencionados

    anteriormente plasmados y e0tensamente in$estigado.  2ablar de un lenguaje de manipulación en base de datos es

    simplemente )ablar de un lenguaje proporcionado por el sistema de gestiónde base de datos ue permite a los usuarios de la misma lle$ar a cabo las

    tareas de definición de las estructuras ue almacenarn los datos as& como

    de los procedimientos o funciones ue permitan consultarlos. Cabe destacar ue SQL es un lenguaje declarati$o de acceso a bases de

    datos relacionales ue permite especificar di$ersos tipos de operaciones en

    ellas.

    LENGUAJE DE DEFINICION DE DATOS +DDL,

    'n lenguaje de definición de datos (Data Definition Language+ DDL por 

    sus siglas en ingl-s es un lenguaje proporcionado por el sistema de gestión

    de base de datos ue permite a los usuarios de la misma lle$ar a cabo las

    3

  • 8/17/2019 Lenguaje SQL (1) Anny

    4/20

    tareas de definición de las estructuras ue almacenarn los datos as& como

    de los procedimientos o funciones ue permitan consultarlos.

    'n Data Definition Language o Lenguaje de descripción de datos

    (DDL es un lenguaje de programación para definir estructuras de datos. ,l

    t-rmino DDL fue introducido por primera $e* en relación con el modelo de

    base de datos C3D4S5L+ donde el esuema de la base de datos )a sido

    escrito en un lenguaje de descripción de datos ue describe los registros+ los

    campos+ y 6conjuntos6 ue conforman el usuario modelo de datos. #s tarde

    fue usado para referirse a un subconjunto de SQL+ pero a)ora se utili*a en

    un sentido gen-rico para referirse a cualuier lenguaje formal para describir 

    datos o estructuras de información+ como los esuemas 7#L.

     4 diferencia de muc)os lenguajes de descripción de datos+ SQL utili*a

    una acción de $ersos imperati$o cuyo efecto es modificar el esuema de la

    base de datos+ a8adiendo+ cambiando o eliminando las definiciones de tablas

    y otros objetos. ,stas declaraciones se pueden me*clar libremente con otras

    sentencias SQL+ por lo ue el DDL no es realmente una lengua

    independiente. La declaración ms com9n es C:,41, 14;L,. ,l lenguaje

    de programación SQL+ el ms difundido entre los gestores de bases de

    datos+ admite las siguientes sentencias de definición< C:,41,+ D:3P y

     4L1,:+ cada una de las cuales se puede aplicar a las tablas+ $istas+

    procedimientos almacenados y triggers de la base de datos.

      Sentencia C:,41,

    Create " Sir$e para crear una nue$a base de datos+ tabla+ &ndice+ o

    procedimiento almacenado. 'na sentencia C:,41, en SQL crea un objeto

    dentro de un sistema de gestión de bases de datos relacionales (:D;#S.

    Los tipos de objetos ue se pueden crear dependen del :D;#S ue est-

    siendo utili*ado+ pero la mayor&a soportan la creación de tablas+ &ndices+

    usuarios+ sinónimos y bases de datos. 4lgunos sistemas (como PostgreSQL

    permiten C:,41,+ y otros comandos DDL+ en el interior de una transacción ypor lo tanto puede ser re$ertido. 3tras ue se incluyen dentro del DDL+ pero

    ue su e0istencia depende de la implementación del estndar SQL ue lle$e

    a cabo el gestor de base de datos son %:4=1 y :,V3>,+ los cuales sir$en

    para otorgar permisos o uitarlos+ ya sea a usuarios espec&ficos o a un rol

    creado dentro de la base de datos.

    4

  • 8/17/2019 Lenguaje SQL (1) Anny

    5/20

      Sentencia C:,41, 14;L,

    'n comando C:,41, muy com9n es el C:,41, 14;L,. ,l uso t&picoes<

      C:,41, ?1,#P3:4:5@ 14;L, ?nombre de la tabla@ ( ?definiciones de

    columna@ ?parmetros de la tabla@.

      Sentencia D:3P

    Sir$e para borrar en forma sencilla distintos objetos dentro del ?S%;D@ como

    por ejemplo base de datos+ tablas+ &ndices. Su sentencia es<

      D:3P objetoAaAeliminarB

      D:3P 14;L, my1ableB

      D:3P S,Q',=C, mySeuenceB

      D:3P =D,7 mynde0B

    Para eliminar una tabla de una base de datos tenemos la sentencia

    D:3P 14;L,. Con ella uitamos una o $arias definiciones de tabla y todos

    los datos+ &ndices+ desencadenadores+ restricciones y especificaciones depermisos ue tengan esas tablas. Las $istas o procedimientos almacenados

    ue )agan referencia a la tabla uitada se deben uitar e0pl&citamente con

    D:3P V, o D:3P P:3C,D':,. Su sinta0is es<

      D:3P 14;L, ?nb;aseDatos.?nb,[email protected],suema.@nb1abla? +...n @ ? B @

      Sentencia 4L1,:

    La sentencia 4L1,: 14;L, es usada para agregar+ borrar o modificar columnas en una tabla e0istente

      Sinta0is de SQL 4L1,: 14;L,

    Para agregar una columna a una tabla+ se debe usar la siguiente

    sinta0is<

    5

  • 8/17/2019 Lenguaje SQL (1) Anny

    6/20

      4L1,: 14;L, nombreAtabla

      4DD columnAname tipoAdatos

    Para eliminar una columna en una tabla+ se debe seguir la siguiente

    sinta0is (algunas bases de datos no permiten borrar columnas

      4L1,: 14;L, nombreAtabla

      D:3P C3L'#= nombreAcolumna

    PRE-COMBINACION Y EJECUCION DE UN MODULO SQL

    ,l precompilador busca errores de sinta0is+ y prepara cada instrucción

    SQL para compilación o ensamblaje+ dando como resultado un conjunto de

    instrucciones fuente (modulo fuente.

     4ntes de compilar o ensamblar un programa de lenguaje tradicional

    debe preparar las sentencias de SQL ue estn incorporadas en el

    programa. ,l precompilador de D;F prepara las sentencias de SQL para las

    aplicaciones C+ C3;3L+ Gortran+ PL/ y 4ssembler. Debido a ue la mayor&a

    de los compiladores no reconocen las sentencias de SQL+ debe utili*ar el

    precompilador de D;F antes de compilar el programa para e$itar errores decompilador. ,l precompilador e0plora el programa y de$uel$e código fuente

    modificado ue+ a continuación se puede compilar y al ue se puede aplicar 

    edición de enlaces.

    Como alternati$a+ puede utili*ar un coprocesador de lenguaje principal

    de D;F para C+ CHH+ C3;3L y PL/ cuando compile el programa. ,l

    coprocesador de D;F reali*a funciones de precompilador de D;F durante la

    compilación.

    La salida principal del precompilador es un módulo de solicitud de

    base de datos (D;:#. 'n D;:# es un conjunto de datos ue contiene

    sentencias de SQL e información de $ariables de lenguaje principal ue se

    obtiene del programa fuente durante la preparación del programa. La

    finalidad de un D;:# es comunicar las solicitudes de SQL a D;F durante el

    proceso de $inculación.

    6

  • 8/17/2019 Lenguaje SQL (1) Anny

    7/20

    V/0123 

     4ntes de ejecutar la aplicación de D;F+ debe utili*ar el mandato ;=D para$incular el D;:# a un pauete. Por ejemplo+ puede decidir poner 

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

    precompilarlas en el mismo D;:# y+ a continuación+ $incularlas en un 9nico

    pauete. Cuando se ejecuta el programa+ D;F utili*a una indicación de fec)a

    y )ora para $erificar ue el programa coincide con el plan o pauete correcto.

    'na colección es un grupo de pauetes asociados. La $inculación de

    pauetes en colecciones de pauetes le permite a8adir pauetes a un plan

    de aplicación e0istente sin necesidad de $ol$er a $incular todo el plan. Si

    incluye un nombre de colección en la lista de pauetes al $incular un plan+cualuier pauete ue est- en la colección estar disponible para el plan.

    ncluso es posible ue la colección est- $ac&a la primera $e* ue $incula el

    plan. #s adelante+ puede a8adir pauetes a la colección y descartar o

    sustituir pauetes e0istentes sin $ol$er a $incular el plan.

    ,l registro especial C'::,=1 P4C>4%, P412 especifica un $alor 

    ue identifica una lista de colecciones ue D;F utili*a para resol$er las

    referencias a pauetes ue se utili*an para ejecutar sentencias de SQL

    C"4512/6 + " 78249127, ; 1

  • 8/17/2019 Lenguaje SQL (1) Anny

    8/20

    'na $e* completados los pasos anteriores puede ejecutar la

    aplicación de D;F. ,0isten $arios m-todos disponibles para preparar una

    aplicación para ejecutarse. Puede )acer lo siguiente<

    'tili*ar paneles de D;F nteracti$e (D;F+ 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 1S3 o por lotes en

    segundo plano de 1S3.

    niciar la lista de mandatos de preparación de programas (CLS1 en

    primer plano de 1S3 o por lotes.

    'tili*ar el procesador de mandatos de DS=.

    'tili*ar procedimientos de ICL para incluirlos en conjuntos de datos

    (por ejemplo+ S5SJ.P:3CL; durante la instalación de D;F.

    1ambi-n puede precompilar y preparar un programa de aplicación

    utili*ando un procedimiento proporcionado por D;F. D;F dispone de un

    procedimiento e0clusi$o para cada lenguaje soportado.

    Gigura J. Visión general del proceso de preparación de un programa para

    aplicaciones ue contienen SQL incorporado. ,l coprocesador de D;F puede

    combinar los pasos de precompilación y compilación para unos lenguajesdeterminados. 

    nicio de la descripción de la figura. ,sta figura muestra ue el usuario

    precompila las sentencias de SQL y+ a continuación+ $incula el D;:# con un

    plan o pauete antes de ejecutar la aplicación de D;F. 4lternati$amente+ el

    coprocesador de D;F combina los pasos de precompilación y compilación y

    8

  • 8/17/2019 Lenguaje SQL (1) Anny

    9/20

    no crea fuente modificada para el programa de aplicación. Ginal de la

    descripción de la figura.

    Gin del cambio

    >733247!2 DB$ B= M22?73 

    La )erramienta D;F ;ind #anager sir$e de ayuda a los programadores de

    aplicaciones<

    Pre$er si un $&nculo de un D;:# dar como resultado una $&a de

    acceso modificada ,jecutar selecciones de $&a de acceso en un proceso por lotes de

    D;:# ,liminar los pasos de $inculación innecesarios entre los programas de

    aplicaciones y la base de datos Comparar los D;:# con subsistemas y módulos de carga

    >733247!2 DB$ P2!@ C@7/

  • 8/17/2019 Lenguaje SQL (1) Anny

    10/20

    La sinta0is bsica de select es la siguiente utili*ando el estndar de SQL :

    S717/! /"1042 3"4 !2912Donde se sustituye la palabra columna por el nombre del campo a

    consultar y la palabra tabla por el nombre de la tabla ue contiene el campo

    mencionado.

    I873!:

    La estructura bsica para la sentencia insert utili*ando el estndar de

    SQL es la siguiente<

    I873! !" 08023" +"4937# 25711="8# 7=2=# /233732, 21078+M23!# B28!=2 G"=7# $)# I?7732 7 TI,

    1omando como ejemplo si se tu$iera una tabla llamada usuarios con

    los campos de tipo cadena de caracteres (nombre+ apellidos+ edad+ carrera+

    donde se inserta los $alores ue se encuentran en despu-s de la palabra

    $alues+ los $alores se insertan en el orden correspondiente a como se )i*o la

    llamada de los campos+ los $alores $an separados por comas+ las comillas

    dobles indican ue se est insertando datos de tipo cadena de caracteres.

    D717!7:

    Para eliminar los registros de una tabla usamos el comando 6delete6<

    D717!7 3"4 08023"8

    La ejecución del comando indicado en la l&nea anterior borra 13D3S

    los registros de la tabla.

    Si ueremos eliminar uno o $arios registros debemos indicar cul o

    cules+ para ello utili*amos el comando 6delete6 junto con la clausula 6K)ere6

    con la cual establecemos la condición ue deben cumplir los registros a

    borrar. Por ejemplo+ ueremos eliminar auel registro cuyo nombre deusuario es #art&n<

    D717!7 3"4 08023"8 @737 "4937HM23!

    10

  • 8/17/2019 Lenguaje SQL (1) Anny

    11/20

    Si solicitamos el borrado de un registro ue no e0iste+ es decir+ ning9n

    registro cumple con la condición especificada+ no se borrarn registros+ pues

    no encontró registros con ese dato.

    U5=2!7:

    Para modificar uno o $arios datos de uno o $arios registros utili*amos

    6update6 (actuali*ar.

    Por ejemplo+ en nuestra tabla 6usuarios6+ ueremos cambiar los

    $alores de todas las cla$es+ por 6:eal#adrid6<

    U5=2!7 08023"8 87! /127HR721M2=3=

    'tili*amos 6update6 junto al nombre de la tabla y 6set6 junto con el campo a

    modificar y su nue$o $alor.

    ,l cambio afectar a todos los registros.

    Podemos modificar algunos registros+ para ello debemos establecer 

    condiciones de selección con 6K)ere6.

    EJEMPLO:

     Queremos cambiar el $alor correspondiente a la cla$e de nuestro

    usuario llamado #art&n+ ueremos como nue$a cla$e ;oca+ necesitamos

    una condición 6K)ere6 ue afecte solamente a este registro<

    U5=2!7 08023"8 87! /127HB"/2

     @737 "4937HM23!

    Si no encuentra registros ue cumplan con la condición del 6K)ere6+

    ning9n registro es afectado.

    Las condiciones no son obligatorias+ pero si omitimos la clusula

    6K)ere6+ la actuali*ación afectar a todos los registros.

    1ambi-n se puede actuali*ar $arios campos en una sola instrucción<

    U5=2!7 08023" 87! "4937HM23/71"D023!7# /127HM23/7

     @737 "4937HM23/71"

    11

  • 8/17/2019 Lenguaje SQL (1) Anny

    12/20

    Para ello colocamos 6update6+ el nombre de la tabla+ 6set6 junto al

    nombre del campo y el nue$o $alor y separado por coma+ el otro nombre del

    campo con su nue$o $alor .

    C128/2/6 =7 1"8 DML

    Se clasifican en dos grandes grupos de<

    J. L7?0278 =7 /"801!2 53"/7=47!2178:

    Lenguajes procedimentales. ,n este tipo de lenguaje el usuario da

    instrucciones al sistema para ue realice una serie de procedimientos u

    operaciones en la base de datos para calcular un resultado final.

    $. L7?0278 =7 /"801!2 " 53"/7=47!2178:

    ,n los lenguajes no procedimentales el usuario describe la

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

    información.

    SQL Y LENGUAJE 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 clculo relacional ue permiten efectuar 

    consultas con el fin de recuperar+ de forma sencilla+ información de bases de

    datos+ as& ,0isten tres tipos de comandos SQL<

    Los DLL +D2!2 D7!" L2?02?7, ue permiten crear y definir nue$as

    bases de datos+ campos e &ndices.

      Los DML +D2!2 M25012!" L2?02?7, ue permiten generar consultas

    para ordenar+ filtrar y e0traer datos de la base de datos.

    Los DCL +D2!2 C"!3"1 L2?02?7, ue se encargan de definir las permisos

    sobre los datos como )acer cambios en ellas.

    12

  • 8/17/2019 Lenguaje SQL (1) Anny

    13/20

      Las $istas son tablas $irtuales Mue contienenN el resultado de una

    consulta S,L,C1+ tienen la misma estructura ue una tabla cualuiera+ es

    decir+ estn organi*adas por filas y columnas. 'na de las principales $entajas

    de utili*ar $istas procede del )ec)o de ue la $ista no almacena los datos+

    sino ue )ace referencia a una o $arias tablas de origen mediante una

    consulta S,L,C1+ consulta ue se ejecuta cada $e* ue se )ace referencia a

    la $ista. De esta forma+ cualuier modificación ue se realice sobre los datos

    de las tablas de origen es inmediatamente $isible en la $ista+ cuando -sta

    $uel$a a ejecutarse. Su sinta0is es<

    CREATE [OR  REPLACE]  VIEW  Nombre_vista[(Lista de columnas)]

     AS SELECT[...]

    La opción :,PL4C,+ lo ue )ace es+ reempla*ar la $ista en el caso de ueesta ya e0ista. Las $istas se utili*an de forma anloga a las tablas+permitiendo reali*ar consultas sobre las $istas+ tambi-n se pueden reali*ar sentencias D#L sobre las $istas+ sin embargo+ las modificaciones+ borradas einserciones estn restringidas a $istas ue est-n definidas sobre una 9nicatabla.-- Vista para mostrar datos de departamentos y empleados

    CREATE OR  REPLACE

      VIEW 

     my_emp_view AS

    SELECT d.department_id, d.department_name,e.employee_id, e.first_name, e.last_nameFROM  employees eJOIN departments d ON d.manager_id = e.employee_id;

    V8!28 !732/!28. Son $istas ue se definen sin utili*ar el comando

    C:,41, V,+ sino directamente sobre el comando S,L,C1. Por ejemplo<

    SELECT codli, cNomli, !mporte  FROM  lientes C,(SELECT SUM  (antidad*"recio)  AS !mporte  FROM  #rticulos a, Lin"edidos l   WHERE a.cod#rt = l.cod#rt  GROUP BY n"edido) L",  "edidos "   WHERE c.codli = p.codli  AND p.n"edido = L".n"edido;

    ,n el caso anterior+ LP act9a como una $ista interacti$a.

    B"332=" =7 02 8!2.

    La orden para borrar una $ista es D:3P V,. Su sinta0is es<

    13

  • 8/17/2019 Lenguaje SQL (1) Anny

    14/20

    DROP  VIEW  Nombre_vista

    TK34" D7/6

    Constant  ,s un s&mbolo ue representa un 9nico $alor de datos

    espec&fico. Para obtener ms información+ $ea Constantes

    (1ransact"SQL.

    scalar_function ,s una unidad de sinta0is de 1ransact"SQL ue

    proporciona un ser$icio espec&fico y de$uel$e un 9nico

    $alor.scalar_function puede ser una función escalar

    incorporada+ como las funciones S'#+ %,1D41, o

    C4S1+ o una función escalar definida por el usuario.

    ? table_name.@ ,s el nombre o alias de una tabla.

    Column ,s el nombre de una columna. ,n una e0presión solo se

    admite el nombre de la columna.

    Variable ,s el nombre de una $ariable o un parmetro. Para

    obtener ms información+ $ea D,CL4:, OlocalA$ariable

    (1ransact"SQL.

    + expression , ,s cualuier e0presión $lida tal como se define en estetema. Los par-ntesis son operadores de agrupación ue

    garanti*an ue todos los operadores de la e0presión

    escritos entre par-ntesis se e$al9en antes de ue la

    14

    https://msdn.microsoft.com/es-es/library/ms179899(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179899(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188927(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188927(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188927(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188927(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188927(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179899(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179899(v=sql.120).aspx

  • 8/17/2019 Lenguaje SQL (1) Anny

    15/20

    e0presión resultante se combine con otra.

    +scalar_subquery  , ,s una subconsulta ue de$uel$e un $alor. Por ejemplo<

    S,L,C1 #47('nitPrice

    G:3# Products

    unary_operator   ,s un operador ue solo tiene un operando num-rico<

    • H indica ue es un n9mero positi$o.

    • " indica ue es un n9mero negati$o.

    • R indica el operador complementario.

    Los operadores unarios solo se pueden aplicar a las

    e0presiones ue se e$al9en como un tipo de datos

    num-rico.

    binary_operator   ,s un operador ue define la forma en ue deben

    combinarse dos e0presiones para producir un 9nico

    resultado.binary_operator  puede ser un operador

    aritm-tico+ el operador de asignación (+ un operador bit

    a bit+ un operador de comparación+ un operador lógico+ el

    operador de concatenación de cadena (H o un operador

    unario. Para obtener ms información acerca de los

    operadores+ $ea 3peradores (1ransact"SQL.

    ranking_windowed_function ,s cualuier función de categor&a de 1ransact"SQL. Para

    obtener ms información+ $ea Gunciones de categor&a

    15

    https://msdn.microsoft.com/es-es/library/ms174986(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms174986(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms174986(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspx

  • 8/17/2019 Lenguaje SQL (1) Anny

    16/20

    (1ransact"SQL.

    aggregate_windowed_functio

    n

    ,s cualuier función de agregado de 1ransact"SQL con la

    clusula 3V,:. Para obtener ms información+

    $ea 3V,: (clusula de 1ransact"SQL.

     EXPRESIONES DE CONSULTAS EN SQL:

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

    de base de datos de SQL Ser$er e$al9a para obtener un 9nico $alor de

    datos. Las e0presiones simples pueden ser una sola constante+ $ariable+

    columna o función escalar. Los operadores se pueden usar para combinar 

    dos o ms e0presiones simples y formar una e0presión compleja.

    cono de $&nculo a temas Con$enciones de sinta0is de 1ransact"SQL

    Sinta0is<

     Constant E scalarAfunction E ? tableAname. @ column E $ariable

    E ( e0pression E ( scalarAsubuery

    E unaryAoperator e0pression

    E ,0pression binaryAoperator e0pression

    E ran!ingAKindoKedAfunction E aggregateAKindoKedAfunction

     4rgumento<

    :esultados de la e0presión

    Para una e0presión sencilla creada con una constante+ $ariable+

    función escalar o nombre de columna+ el tipo de datos+ intercalación+

    16

    https://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189461(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189798(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms189461(v=sql.120).aspx

  • 8/17/2019 Lenguaje SQL (1) Anny

    17/20

    precisión+ escala y $alor de la e0presión es el tipo de datos+ intercalación+

    precisión+ escala y $alor del elemento de referencia.

    Si se combinan dos e0presiones mediante operadores de

    comparación o lógicos+ el tipo de datos resultante es booleano y el $alor es

    uno de los siguientes< 1:',+ G4LS, o '=>=3=. Para obtener ms

    información acerca de los tipos de datos booleanos+ $ea 3peradores de

    comparación (1ransact"SQL.

    Cuando dos e0presiones se combinan mediante operadores

    aritm-ticos+ bit a bit o de cadena+ el operador determina el tipo de datos

    resultante.

    Las e0presiones complejas formadas por $arios s&mbolos y

    operadores se e$al9an como un resultado formado por un solo $alor. ,l tipo

    de datos+ intercalación+ precisión y $alor de la e0presión resultante se

    determina al combinar las e0presiones componentes de dos en dos+ )asta

    ue se alcan*a un resultado final. La prioridad de los operadores de la

    e0presión define la secuencia en ue se combinan las e0presiones.

    C"47!23"8

    Dos e0presiones pueden combinarse mediante un operador si ambastienen tipos de datos admitidos por el operador y se cumple al menos una de

    estas condiciones<

    Las e0presiones 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 e0presiones no cumplen estas condiciones+ se pueden usar las

    funciones C4S1 o C3=V,:1 para con$ertir e0pl&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 e0pl&cita admitida+ las dos

    e0presiones no se pueden combinar.

    17

  • 8/17/2019 Lenguaje SQL (1) Anny

    18/20

    La intercalación de cualuier e0presión ue se e$al9a como una

    cadena de caracteres se establece seg9n las reglas de prioridad de

    intercalación. Para obtener ms información+ $ea Prioridad de intercalación

    (1ransact"SQL.

    ,n un lenguaje de programación como C o #icrosoft Visual ;asic+ una

    e0presión siempre se e$al9a como un resultado 9nico. Las e0presiones de

    una lista de selección de 1ransact"SQL constituyen una $ariación de esta

    regla< la e0presión se e$al9a indi$idualmente para cada fila del conjunto de

    resultados. 'na 9nica e0presión puede tener un $alor distinto en cada fila del

    conjunto de resultados+ pero cada fila tiene un 9nico $alor para la e0presión.

    Por ejemplo+ en esta instrucción S,L,C1+ tanto la referencia a ProductDcomo el t-rmino JHF de la lista seleccionada son e0presiones<

    'S, 4d$entureor!sFTJFB

    %3

    S,L,C1 ProductD+ JHF

    G:3# Production.ProductB

    %3

    La e0presión JHF se e$al9a como U en cada fila del conjunto de resultados.

     4unue la e0presión ProductD genera un $alor 9nico en cada fila del

    conjunto de resultados+ cada fila tiene solo un $alor para ProductD.

    G7"47!32 =7 SQL:

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

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

    tipo de datos en SQL Ser$er de Common Language :untime (CL:.

    ,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 dems tipos CL:.

    18

  • 8/17/2019 Lenguaje SQL (1) Anny

    19/20

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

    caracter&sticas simples de %eospatial Consortium (3%C para la

    especificación SQL $ersión J.J.T.

    CONCLUSIÓN

    Como resultado de la in$estigación presentada+ es posible concluir 

    ue 'n Data Definition Language o Lenguaje de descripción de datos (DDL

    es un lenguaje de programación para definir estructuras de datos. ,l t-rmino

    DDL fue introducido por primera $e* en relación con el modelo de base de

    datos C3D4S5L+ donde el esuema de la base de datos )a sido escrito en

    un lenguaje de descripción de datos ue describe los registros+ los campos+ y

    6conjuntos6 ue conforman el usuario modelo de datos. #s tarde fue usado

    para referirse a un subconjunto de SQL.

    ,l lenguaje de manipulación de datos ms popular )oy d&a es SQL+

    usado para recuperar y manipular datos en una base de datos relacional.

    ,l precompilador busca errores de sinta0is+ y prepara cada instrucción SQL

    para compilación o ensamblaje+ dando como resultado un conjunto de

    instrucciones fuente (modulo fuente.

    19

  • 8/17/2019 Lenguaje SQL (1) Anny

    20/20

     ,0isten muc)as e0presiones de consulta en un lenguaje SQL+ este

    lenguaje se trata de una combinación de s&mbolos y operadores ue el #otor 

    de base de datos de SQL Ser$er e$al9a para obtener un 9nico $alor dedatos.

    Para finali*ar se puede afirmar ue muc)o esfuer*o se )a puesto en

    el ambiente acad-mico+ para obtener metodolog&as ue asistan la creación y

    perfección de lenguajes para as& lograr una base de datos de mayor 

    confiabilidad.

    20