Upload
migdalis
View
221
Download
0
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.