Conceptos generales SQL
-
Upload
carlos-galleguillos-dubo -
Category
Documents
-
view
216 -
download
0
Transcript of Conceptos generales SQL
-
7/26/2019 Conceptos generales SQL
1/16
Conceptos generales, estructura bsica, predicados y operadores. Tipos de datos.
SQL
Introduccin
El lenguaje de consulta estructurado SQL (Standard Query Language) ) es un lenguajede base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet elcual nos permite crear tablas y obtener datos de ella de manera muy sencilla.
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones deagregado. Estos elementos se combinan en las instrucciones para crear, actualizar ymanipular las bases de datos.
!ara e"poner mas claramente los conceptos se realizaran ejemplo sobre relaciones #uese crearan a#u$ para entender mejor como funciona SQL.
%uando nos refiramos a relacinestamos &ablando ms concretamente de la tabladedatos en si, y sus atributos sern los camposde la tabla. %omo ejemplo la siguienterelaci'n (tabla) la llamaremos persona y sus atributos ( campos ) son nombre, apellido y d
!ES*+
- +*ME !ELL-*
/0123 J*SE L4E510312 !L* L6!E5
12207 *E8* S9+%:E5
;+ L-ES
0=/3? >E+ L6!E5
103/2 S+- >LL*%@
E"isten dos tipos de comandos SQLA
los -LL #ue permiten crear y definir nueBas bases de datos, campos e $ndices. los -ML #ue permiten generar consultas para ordenar, filtrar y e"traer datos de la
base de datos.
1
-
7/26/2019 Conceptos generales SQL
2/16
Comandos DLL
%E8E >tilizado para crear nueBas tablas, campos e $ndices
-*! Empleado para eliminar tablas e $ndices
L8E >tilizado para modificar las tablas agregando campos o cambiando ladefinici'n de los campos.
Comandos DML
SELE%8 >tilizado para consultar registros de la base de datos #ue satisfagan uncriterio determinado
+SE8 >tilizado para cargar lotes de datos en la base de datos en una Cnicaoperaci'n.
>!-8E >tilizado para modificar los Balores de los campos y registros especificados
-ELE8E >tilizado para eliminar registros de una tabla de una base de datos
Estructura bsica
Las clusulas son condiciones de modificaci'n utilizadas para definir los datos #uedesea seleccionar o manipular.
D*M >tilizada para especificar la tabla de la cual se Ban a seleccionar los registros
:EE >tilizada para especificar las condiciones #ue deben reunir los registros #ue seBan a seleccionar
F*>! G >tilizada para separar los registros seleccionados en grupos espec$ficos
:4+F >tilizada para e"presar la condici'n #ue debe satisfacer cada grupo
*-E G >tilizada para ordenar los registros seleccionados de acuerdo con un
orden espec$fico
La estructura bsica de una e"presi'n para consulta SQLconsta de tres elementosA
SELECT
FROM
WHERE
2
-
7/26/2019 Conceptos generales SQL
3/16
Consultas de Seleccin
Las consultas de selecci'n se utilizan para indicar al motor de datos #ue deBuelBainformaci'n de las bases de datos, esta informaci'n es deBuelta en forma de conjunto deregistros.
>na consulta bsica en SQLtiene la formaA
SELECTA1,A2,...,An
FROr1,r2,...,rn
!"EREP
-ondeA
H atributo ( %ampo de la tabla )
r H relaci'n ( 8abla )
! H condici'n
Ejemplo: Seleccionar todos los nombres de las personas que tengan el apellido LPEZ
de la tabla PES!"A
SELECTnombre
FRO persona
!"ERE apellido # $LPEZ%I
El resultado de una consulta es por supuesto otrarelaci'n (8abla). Si se omite la clusula WHERE, elpredicado ! es Berdadero. La lista
-
7/26/2019 Conceptos generales SQL
4/16
Predicados o!eradores"
Los operadores l'gicos en SQLsonA
#$DEs el KyK l'gico. EBalCa dos condiciones y deBuelBe un Balor de Berdad s'lo siambas son ciertas.
OREs el KoK l'gico. EBalCa dos condiciones y deBuelBe un Balor de Berdad sialguna de las dos es cierta.
$OT+egaci'n l'gica. -eBuelBe el Balor contrario de la e"presi'n.
La l'gica de estos operadores es igual #ue en cual#uier lenguaje de programaci'n ysirBen para unir predicados.
Las operaciones aritmticas en SQLsonA
% & Suma '
( & Resta '
) & Multi!licacin '
* & Di+isin '
Funciones de #,re,ado
Las funciones de agregado se usan dentro de una clusula SELE%8 en grupos deregistros para deBolBer un Cnico Balor #ue se aplica a un grupo de registros.
Funcin Descri!cin
4F>tilizada para calcular el promedio de los Balores de uncampo determinado
%*>+8>tilizada para deBolBer el nCmero de registros de laselecci'n
S>M >tilizada para deBolBer la suma de todos los Balores de uncampo determinado
M>tilizada para deBolBer el Balor ms alto de un campoespecificado
M+>tilizada para deBolBer el Balor ms bajo de un campoespecificado
4
-
7/26/2019 Conceptos generales SQL
5/16
5
-
7/26/2019 Conceptos generales SQL
6/16
O!eradores de Com!aracin
*perador >so
N Menor #ue
O Mayor #ue
NO -istinto de
NH Menor ' gual #ue
OH Mayor ' gual #ue
H gual #ue
E8EE+>tilizado para especificar un interBalo deBalores.
L@E >tilizado en la comparaci'n de un modelon
>tilizado para especificar registros de una basede datos
El operador de comparaci'n -ETWEE$, se utiliza para Balores comprendidos.
Ejemplo: Encontrar todos los nombres & 'd de las personas cu&os 'd sea ma&or que ()mil & menor a *) mil
SELECTnombre, 'd
FROpersona
!"ERE'd#ET!EE$())))and *))))
+*ME -
!L* 10312
*E8* 12207
S+- 103/2
6
-
7/26/2019 Conceptos generales SQL
7/16
Ordenar los re,istros"
dicionalmente se puede especificar el orden en #ue se desean recuperar los registros
de las tablas mediante la clusula *-E G Lista de %ampos. En donde Lista de camposrepresenta los campos a ordenar. EjemploA
SELE%8 +ombre, pellido, d D*M persona *-E G +ombreI
Esta consulta deBuelBe los campos +ombre, pellido y d ordenados por el campo+ombre.
El resultado ser$aA
J*SE L4E5 /0123
J>+ L-ES ;E+ L6!E5 0=/3?
S+- >LL*%@ 103/2
Consultas con Predicado
El predicado se incluye entre la clusula y el primer nombre del campo a recuperar, losposibles predicados sonA
!redicado -escripci'n
LL -eBuelBe todos los campos de la tabla
8*!-eBuelBe un determinado nCmero de registros de latabla
-S8+%8*mite los registros cuyos campos seleccionadoscoincidan totalmente
-S8+%8**mite los registros duplicados basndose en latotalidad del registro y no s'lo en los campos
seleccionados.
Si no se incluye ninguno de los predicados se asume LL. El Motor de base de datosselecciona todos los registros #ue cumplen las condiciones de la instrucci'n SQL.
%on el uso de este predicado obligamos al motor de la base de datos a analizar laestructura de la tabla para aBeriguar los campos #ue contiene, se recomienda por su rapidezindicar el listado de campos deseados. EjemploA
7
-
7/26/2019 Conceptos generales SQL
8/16
SELE%8 LL D*M personaI SELE%8 D*M personaI
8
-
7/26/2019 Conceptos generales SQL
9/16
TOP
-eBuelBe un cierto nCmero de registros #ue entran entre al principio o al final de unrango especificado por una clusula *-E G. Supongamos #ue #ueremos recuperar losnombres de las / primeras personas de nuestra tabla ejemplo.
SELE%8 8*! / +ombre, pellido D*M persona *-E G pellidoI
Si no se incluye la clusula *-E G, la consulta deBolBer un conjunto arbitrario de/ registros de la tabla persona .El predicado 8*! no elige entre Balores iguales.
Se puede utilizar la palabra reserBada !E%E+8 para deBolBer un cierto porcentaje deregistros #ue caen al principio o al final de un rango especificado por la clusula *-E
G. EjemploA SELE%8 8*! /7 !E%E+8 +ombre, pellido D*M persona
*-E G pellidoI
La clusula WHERE
La clusula :EE puede usarse para determinar #u registros de las tablasenumeradas en la clusula D*M aparecern en los resultados de la instrucci'n SELE%8.-epus de escribir esta clusula se deben especificar las condiciones. Si no se emplea estaclusula, la consulta deBolBer todas las filas de la tabla. :EE es opcional, pero cuando
aparece debe ir a continuaci'n de D*M.SELE%8 +ombre, pellido D*M persona :EE d O 12777I
*btendr$amos el siguiente resultadoA
*E8* S+%:E5 12207
J>+ L-ES ;
-
7/26/2019 Conceptos generales SQL
10/16
Consultas de #ccin
Las consultas de acci'n son a#uellas #ue no deBuelBen ningCn registro, son lasencargadas de acciones como aPadir y borrar y modificar registros.
DELETE
%rea una consulta de eliminaci'n #ue elimina los registros de una o ms de las tablaslistadas en la clusula D*M #ue satisfagan la clusula :EE. Esta consulta elimina los
registros completos, no es posible eliminar el contenido de algCn campo en concreto. Susinta"is esA
-ELE8E 8abla. D*M 8abla :EE criterio
La opci'n tabla")se utiliza cuando el ori,en est basado en +arias tablas, y sirBepara indicar en .u/ tabla +amos a borrar.
-ELE8E D*M persona :EE pellido H KSnc&ezKI
La opci'n) es opcional y es la #ue se asume!or de0ectoy se puede poner unicamente
cuando el ori,en es una sola tabla.
+ota importante. >na Bez borrados, los re,istros no se !ueden recu!erar.
!ara saber con seguridad #u registros se eliminarn, primero se puede ejecutar unaconsulta de selecci'n #ue utilice el mismo criterio y despus ejecutar la consulta deborrado. Es importante mantener copias de seguridad de los datos por si se eliminan losregistros e#uiBocados, podrn ser recuperados.
10
-
7/26/2019 Conceptos generales SQL
11/16
1$SERT 1$TO
La inserci'n de nueBos datos en una tabla se realiza a2adiendo 0ilas enteras a la tabla ,
la sentencia SQL #ue lo permite es la orden 1$SERT 1$TO.
Esta consulta puede ser de dos tipoA nsertar un Cnico registro ' nsertar en una tabla losregistros contenidos en otra tabla.
!ara insertar un Cnico egistroAEn este caso la sinta"is es la siguienteA
+SE8 +8* 8abla (campoES (BalorES (Luis, Snc&ez, 10
-
7/26/2019 Conceptos generales SQL
12/16
Ti!os de Datos
Los tipos de datos SQL se clasifican en n $ndice multicampo es a#uel #ue est inde"ado por el contenido deBarios campos. Esta clusula en opcional.
12
-
7/26/2019 Conceptos generales SQL
13/16
EjemplosA
%E8E 8LE persona (+ombre 8E8 (=1) , pellido 8E8 (17))I
+rea una nuea tabla llamada PES!"A con dos campos, uno llamado "ombre detipo te3to & longutid 2( & otro llamado apellidos con longitud ().
%E8E 8LE persona (d +8EFE %*+S8+8 ndice!rimario !MG,+ombre 8E8, pellido 8E8, Dec&aR+acimiento -8E8ME)I
+rea una tabla llamada PES!"A con un campo e3to de longitud predeterminada()0 llamado "ombre & otro igual llamado Apellido, crea otro campo llamado4ec5a6"acimiento de tipo 4ec5a78ora & el campo 'd de tipo entero el que establece comoclae principal.
- +*ME !ELL-* DE%:R+%
/0123 J*SE L4E5
-
7/26/2019 Conceptos generales SQL
14/16
14
-
7/26/2019 Conceptos generales SQL
15/16
Modi0icar el Dise2o de una Tabla"
Modifica el disePo de una tabla ya e"istente, se pueden modificar los campos o los$ndices e"istentes. Su sinta"is esA
L8E 8LE tabla T-- T%*L>M+ tipo de campoU(tamaPo)V U%*+S8+8$ndiceV %*+S8+8 $ndice multicampoW X
-*! T%*L>M+ campo %*+S8+8 nombre del $ndiceW W
En dondeA
tablaEs el nombre de la tabla #ue se desea modificar.
campoEs el nombre del campo #ue se Ba a aPadir o eliminar.
tipo Es el tipo de campo #ue se Ba a aPadir.tama(oEl el tamaPo del campo #ue se Ba a aPadir (s'lo para campos de te"to).
)ndiceEs el nombre del $ndice del campo (cuando se crean campos) o el nombre del$ndice de la tabla #ue se desea eliminar.
)ndice multicampoEs el nombre del $ndice del campo multicampo (cuando se creancampos) o el nombre del $ndice de la tabla #ue se desea eliminar.
*++ COL$ Se utiliza para aPadir un nueBo campo a la tabla, indicando el nombre,
el tipo de campo y opcionalmente el tamaPo (para campos de tipo te"to).*++ Se utliza para agregar un $ndice de multicampos o de un Cnico campo.
+RO- COL$Se utliza para borrar un campo. Se especifica Cnicamente el nombredel campo.
+RO-Se utiliza para eliminar un $ndice. Se especifica Cnicamente el nombre del $ndicea continuaci'n de la palabra reserBada %*+S8+8.
EjemploA
grega un campo Salario de tipo Moneda a la tabla !ersona.
L8E 8LE persona -- %*L>M+ Salario %>E+%GI
Elimina el campo Salario de la tablapersona.L8E 8LE persona -*! %*L>M+ SalarioI
15
-
7/26/2019 Conceptos generales SQL
16/16
DROP T#-LE
La sentencia DROP T#-LEsirBe para eliminar una tabla. +o se puede eliminar una
tabla si est abierta, tampoco la podemos eliminar si el borrado infringe las reglas deintegridad referencial (si interBiene como tabla padre en una relaci'n y tiene registrosrelacionados).La sinta4ises la siguienteA
-*! 8LE tabla