Click here to load reader
Upload
jorge-mengelle
View
1.313
Download
1
Embed Size (px)
Citation preview
Universidad veracruzana
Facultad de administración
E.E: Base de Datos
Alumnos: Rincón Ochoa Leydi Diana
Mengelle Castro Jorge
Conceptos base del lenguaje SQL
Modos de utilización
Las órdenes SQL se escriben en una línea
de comandos, o se crean mediante un
diseño visual que las traduce a una
sentencia SQL y son inmediatamente
ejecutadas por el sistema.
Modos de uso de SQL
Son rutinas -funciones o
procedimientos- SQL, que contienen
órdenes de tipo CALL y una cláusula
de nombre de lenguaje que define un
lenguaje distinto de SQL.
1.-Procedimientos invocados externamente
externamente-
2.-Rutinas invocadas por SQL
yfunciones construidas Pueden ser dependientes de un tipo de datos
definido por el usuario (UDT), si se crea
durante la ejecución de la definición del UOI.
Una rutina invocada por SQL:
*nombre de la rutina
*nombre del lenguaje
3.-Incrustado o embebido
Las órdenes SQL se escriben como
parte del código de otro lenguaje
anfitrión, por ejemplo: ADA, C, COBOL, Fortran, Pascal o PUl,
delimitando las sentencias SQL mediante
separadores especiales,
4.-Módulos SQL-C1iente
OProcedimientosalmacenados
Es un objeto SQL, de modo que las
órdenes SQL se compilan aparte del
códigoanfitrión y se enlazan todos los
programas objeto (SQL y anfitrión),
creándose un ejecutable.Estos módulos
se asocian a una unidad de
compilación en tiempo de ejecución,
5.-Dinámico
La ejecución dinámica de órdenes SQL se
realiza dedos modos distintos: 1.- Las órdenes pueden ser preparadas para su
ejecución y más tarde ejecutadas una o más
veces. Pudiéndose eliminar, mediante deallocate
o release, la orden preparada cuando no se
necesite ejecutar más.
2.- ejecutar las órdenes directamente, sin
prepararlas.
6.-Procedimientos
invocados
Externamente. Son rutinas -funciones o procedimientos- SQL,
que contienen órdenes de tipo CALL y una
cláusula de nombre de lenguaje que define un
lenguaje distinto de SQL.
7.-Rutinas invocadas por
SQL
yfunciones construidas pueden ser dependientes de un tipo de datos
definido por el usuario (UDT), si se crea
durante la ejecución de la definición del UOI En
determinadas circunstancias los predicados, las
especificaciones de tipo SET u otros elementos
SQL pueden ser dependientes de rutinas
invocadas por SQL.
Elementos de las órdenes SQL
Palabras predefinidas
Son las palabras propias del lenguaje SQL:
SELECT. FRüM, WI-JERE, LlKE,
CREATE.
Operadores
Son un subconjunto de caracteres
que separan elementos de una
sentencia SQL: espacio, coma,
punto y coma, dos puntos, igual,
paréntesis, apóstrofos, etc.
Delimitadores
Constantes Nombres de objetos
(tablas, columnas )
Son los identificadores asignados por los
programadores o usuarios a tablas, campos,
variables, procedimientos, etc.la mayor parte
de los nombresse definen mediante una orden
CREATE.
Son secuencias de caracteres cuyo valor
no varía siendo independientes de los
datos. Son de tipo: numéricas, carácter,
temporal, GUIDI (se emplean como
modificadores globales), monetarias/ e
índices.
Sirven para obtener nuevos datos a partir
de los ya existentes. Se pueden realizar
operaciones con números-aritméticas,
cadenas de caracteres, fechas, campos
booleanos, binarios, etc.
Datos y nulos
Un valor nulo (NULL) es un valor no
asignable en especial a un determinado
tipo de datos, cuyo significado es: no se ha
definido un valor previo para este dato,
el valor de este dato es desconocido. Los
valores nulos se diferencian de ceros o
espacios en blanco.
Expresiones y predicados
Una expresión es una combinación de
operadores y operados.
Los predicados, expresiones contenidas en
órdenesSQL, permiten expresar condiciones en
diferentes órdenes,obteniéndose un valor
booleano.
Tipos de predicados
Comparación:
están formados por tres elementos:
una expresión o valor a comparar, un operador de comparación y un valor con el que se compara.
BETWEEN: Especifican si un valor está comprendido en
unrango.están formados poruna expresión a comparar,
opcionalmente la cláusulaNOT, la palabra BETWEEN, las
cláusulas opcionalesASYMMETRIC o SYMMETRlC
IN:Especifican si un valor está comprendido en una listade
valores declarada
LlKE: Especifican si un campo cumple un determinado
patrónosecuencia de caracteres Con los que se compara.
NULL: especifican una prueba para un valor nulo (NULL).
Cuantificados
Es un tipo especial de comparación en el que en
lugar de obtenerse un valor único como resultado
de la comparación, se obtiene un conjunto de
valores pertenecientes a un campo.
Ejemplo de cuantificadores:
ALL: Cuando el resultado de la sub consulta es una
tabla vacía, el valor del predicado cuantificado es
verdadero.
SOME/ANY: Cuando el resultado de la sub
consulta es una tabla vacía, el valor del predicado
cuantificado es falso.
EXISTS
Especifican una prueba para un conjunto de
valores.
Los predicados EXISTS están formados por la
expresión EX1ST y una sub consulta a una
tabla.
UN/QUE
Especifican una prueba para comprobar la
ausencia
detilas duplicadas. Los predicados UNlQUE
están for- mados por la expresión UNIQUE y una
subconsulta a una tabla.
MATCH
Especifican una prueba para lilas coincidentes.
Los
predicados MATCH están formados por la
expresión de
comparación, la cláusula MATCH y una
subconsulta a una tabla.
OVERLAPS
Especifica si se producen solapes entre dos
periodos
de tiempo.
DlSTlNCT
Especifica si dos valores de fila son distintos. Los
predicados D1STINCT están formados por una
expresión a comparar, el texto IS DISTINCT
FROM y unasegunda expresión de comparación.
TYPE
Sirve parasaber si una expresión de
tila está o no contenida enuna lista de
tipos de datos definida por el usuario.
Si el resultado de evaluar la expresión
de fila es nulo, el resultado del
predicado TYPE es desconocido.
Predicados compuestos:
And, Or, Not
Se evalúa cada parte del predicado
compuesto y se siguen las reglas de la
lógica proposicional,vistas en el apartado
de operaciones con tipos de datos booleanos, obteniéndose un
resultado verdadero, falso o desconocido.
Funciones
Funciones de valor
numérico.
EJEMPLO:
POSnlON(expresión de cadena de
caracteres INexpresión de cadena
de caracteres). • POS1TlON(expresión SLOS IN
expresiónSLOS). • CHAR LENGTH(expresión de
cadena de caracteres), que es
sinónimo deCHARACTER
LENGTH(expresión de cadenade
caracteres).
Funciones de cadena
1.-Funciones de tipo carácter • SUBSTRTNG(expresión carácter FROM posición
inicio [FOR longitud]). • UPPER(expresión carácter).
• LOWER(expresión carácter).
2.-Funciones de tipo BLOB • SUBSTRING(expresión BLOB FROM posición
inicio [FOR longitud]). • TRIM([LEADING/TRAIUNG/BOTH] expresión
BLOB FROM expresión BLOB).
• OYERLAY(expresión BLOB PLACING
expresión
BLOB PROM inicio [FOR LONGITUD]).
3.-Funciones de tipo bit • SUBSTRING(expresión bit FROM posición
inicio [FOR longitud]).
Funciones fecha/hora e
intervalo
Son funciones que devuelven un valor de tipo fecha/hora o
intervalo respectivamente.
EJEMPLO:
*CURRENT DATE. Devuelve la fecha actual. *LOCALTIME(precisión temporal). Devuelve la hora
local.
Conversión de
tipos de datos
AST(expresión en tipo de dato inicial, tipo de
dato al que convertir la expresión). También se
emplea la función CONYERT.
unciones de análisis de
datos
Las funciones de análisis de datos devuelven un
Resultado derivado de realizar una operación sobre
cierto número de filas. Estas funciones se emplean
únicamentecomo parte de una consulta (SELECT).
Funciones de
agrupación
. de datos
Las funciones de agrupación de
datos pueden calificarse con
OlSTLNCT o ALL. En el caso de
emplearDlSTINCT, no se emplean
las filas redundantes para devolver
el resultado de la función empleada.
Funciones de sistema
Son funciones implementadas por los fabricantes
Para facilitar tareas a los administradores y
programadores de las bases de datos, son muy
variables de unosfabricantes a otros en cuanto a
funcionalidad y sintaxis.
Objetos de bases de datos
Otros objetos de bases de datos son todos aquellos
que se pueden crear en una base de datos empleando la
orden CREATE de SQL, los que son definidos por los
usuarios y aquellos que permiten la administración del sistema.
Palabras Reservadas
Palabras no
reservadas EJEMPLO:
• ABS, ADA, ALWAYS, ASENSITIYE,
ASSIGNMENT,
ASYMMETRIC, ATOMIC, AYG • BIT_LENGTH, BJTVAR
Palabras reservadas Ejemplo: • ABSOLUTE, ACTION, ADD, ADMIN,
AFTER,
AGGREGATE, ALIAS, ALL, ALLOCATE, ALTER, ANO, ANY, ARE, ARRAY, AS, ASC,
ASSERTlON, AT, AUTHORlZATlON
Las palabras clave empleadas en SQL son de dos
tipos: reservadas y no reservadas.
Laspalabras reservadas se alistan para evitar su utilización por los usuarios, ya que pueden llegar a ser empleadas en nuevas versiones de SQL.
predefinidos
TIPOS DE DATOS
Se define tipo de datos como un conjunto de
valores.
Los parámetros SQL, columnas, campos, atributos
y variables Son elementos de una base de datos
cuyos
valores pertenecen a un tipo de datos.
Predefinidos
cadena
Caracteres binarias
CHARACTER
CHARACTER VARYING
CHARACTER LARGE OSJECT {CLOBSI
BINARY LARGE OSJECT (BLOeS)
Numéricos
Exactos Aproximados
NUMERIC
DECIMAL
NTEGER
$MAllINT
FLOAT
REAL Doublé
Construidos
ARRAYo Colección
REF
ROW
Definidos por el
usuario
A partir de tipos de datos
predefinidos
implementadas por el fabricante Creados en una aplicación
SUBCONJUNTO ANSI-
SQL
DQL DML DDL DCL TPL CCL
Es el Data QueryLanguage
o Lenguaje de Consulta de
Datos. La orden que se
emplea es SELECT.
Aunque la sintaxis de esta orden es
muy compleja, es el centro
de la
gestión de consulta de
datos, de modo que se
mostrarán las formas más usuales de
empleo de SELECT sin
definirla.
Es el Data
ManipulationLanguageO
Lenguaje de
Manipulación de Datos,
entre sus órdenes destacan: INSERT, DELETE,
UPDATE.
Es el Data
DefinitionLanguage o
Lenguaje de Definición
de Datos. Entre las órdenes
de este lenguaje des- tacan las siguientes:
CREATE, DROP, CHECK,
CONSTRAINT.
Es el Data Control
LanguageO Lenguaje de
Control
de Datos. Las órdenes
usadas son: GRANT y REYOKE. 11111 • La orden GRANT define
privilegios y autorizaciones
tanto para usuarios como
roles. Su sintaxis es: GRANT <privilegios-
j'<autorizaciones>.
Es el
TransactionProcessingLang
uage (Lenguaje de
Proceso de Transacciones)
o gestor de transacciones.
Se emplea como lenguaje de
control del DML.
Es el
TransactiónProcessingLang
uage (Lenguaje de
Proceso de Transacciones)
o gestor de transacciones.
Se emplea como lenguaje de
control del DML.
.Es el Cursor-Control
LauguageO Lenguaje de
Control
de Cursores. Destacan las
siguientes órdenes: DECLARE, CURSOR,
FETCH lNTO, UPDATE,
que
han sido definidas en el
DML.