lenguaje sql (1) anny
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