Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Base de Datos I
SQL
SQL
SQL
El lenguaje de consulta estructurado o SQL (por
sus siglas en ingls structured query language) es un
lenguaje declarativo de acceso a base de datos
relacionales que permite especificar diversos tipos de
operaciones en stas. Una de sus caractersticas es
el manejo del lgebra y el clculo relacional
permitiendo efectuar consultas con el fin de
recuperar -de una forma sencilla- informacin de
inters de una base de datos, as como tambin
hacer cambios sobre ella. Es un lenguaje de cuarta
generacin (4GL).
SQL
SQL
Componentes
SQL
Caractersticas
SQL
Orgenes y Evolucin
SQL
Orgenes y Evolucin
SQL
Orgenes y Evolucin
SQL
Orgenes y Evolucin
El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo:
SQL
Importancia de SQL
SQL
Terminologa
SQL
SQL
SQL
SQL
Identificadores SQL
SQL
SQL
Datos de Caracteres
CHARACTER [VARYING] [longitud]
CHARACTER CHAR;
CHARACTER VARYING VARCHAR
numSucursal CHAR(4)
direccion VARCHAR2(30)
SQL
Datos de Bit
BIT [VARYING] [longitud]
cadena BIT(4)
SQL
habitac SMALLINT
salario DECIMAL (7,2)
SQL
SQL
visitas DATE
SQL
Datos de Intervalo
INTERVAL {{campoInicio TO campoFIN}
campoFechahoranico}
campoInicio = YEAR|MONTH|DAY|HOUR|MINUTE
[(precisinCampoInicialIntervalo)]
campoFin = YEAR|MONTH|DAY|HOUR|MINUTE
[(precisinFraccionesSegundo)]
campoFechahoranico = campoInicio|SECOND
[(precisinCampoInicialIntervalo[,
precisinFraccionesSegundo])]
INTERVAL YEAR(2) TO MONTH
Ing. Rosa Ma. Castilla E. Base de Datos I
SQL
Operadores Escalares
+, -, *, /: Operadores aritmticos obvios
BIT_LENGTH: Longitud de una cadena en bits
OCTET_LENGTH: Longitud de una cadena en octetos
CHAR_LENGTH: longitud de una cadena en caracteres
CAST: Convierte el valor de una expresin de un tipo de
datos en un valor correspondiente a otro tipo de datos
||: Concatena dos cadenas de caracteres o de bits
CURRENT_USER (USER): Devuelve una cadena de
caracteres que representa el identificador actual de
autorizacin (nombre de usuario)
Ing. Rosa Ma. Castilla E. Base de Datos I
SQL
Operadores Escalares
SESSION_USER: Devuelve una cadena de caracteres que
representa el identificador de autorizacin de la sesin SQL
SQL
Operadores Escalares
POSITION: Devuelve la posicin de una cadena dentro
de otra cadena
SQL
Operadores Escalares
CURRENT_TIMESTAMP: Devuelve le fecha y la hora
actual en la zona horaria predeterminada de la sesin
actual
EXTRACT: Devuelve el valor de un campo especificado
de un valor de fecha y hora o de intervalo. Ejemplo
EXTRACT(YEAR FORM sysdate).
SQL
Caractersticas de Integridad
SQL
Datos Requeridos
Algunas columnas deben tener un valor nico; no esta
permitido que dichas columnas contengan valores nulos.
Los nulos son diferentes de los espacios en blanco o
delos valores numricos iguales a cero.
Especificador de columna NOT NULL
SQL
Caractersticas de Integridad
Restricciones de Dominio
CHECK (condicinBsqueda)
CREATE DOMAIN NombreDominio [AS] tipoDatos
[DEFAULT opcinPredeterminada]
[CHECK (condicinBsqueda)]
DROP DOMAIN NombreDominio [RESTRICT|CASCADE]
sexo CHAR NOT NULL CHECK (sexo IN (M, F))
SQL
Caractersticas de Integridad
Integridad de Entidades
La clave principal de una tabla debe contener un valor
nico y no nulo en cada fila.
PRIMARY KEY
UNIQUE
SQL
Caractersticas de Integridad
Integridad Referencial
FOREIGN KEY
ON DELETE; ON UPDATE CASCADE, SET NULL,
SET DEFAULT, NO ACTION
SQL
Caractersticas de Integridad
Restricciones Generales
CREATE ASSERTION NombreAsercin
CHECK (condicinBsqueda)
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Creacin de tabla
Sintaxis
1.
2.
3.
4.
5.
6.
7.
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
SQL
Definicin de Datos
ndices
CREATE [UNIQUE] INDEX Nombrendice
ON nombreTabla NombreColumna[ASC|DESC][,])
SQL
Definicin de Datos
Vistas
SQL
Definicin de Datos
Vistas
CREATE VIEW nombreVista [(nuevoNombreColumna [,])]
AS subseleccin [WITH [CASCADE|LOCAL]
CHECK OPTION]
SQL
Definicin de Datos
Vistas
SQL
SQL
Adicin de Datos
INSERT INTO NombreTabla [(ListaColumnas)]
VALUES (ListaValoresDatos)
SELECT
INSERT INTO Personal
VALUES (SG16,Alba,Blanco,Ayudante,F,
TO_DATE (1957-05-25,YYYY/MM/DD),8300,B003);
SQL
Modificacin de Datos
UPDATE NombreTabla
SET NombreColumna1 = valorDatos1 [,]
[WHERE condicinBsqueda]
UPDATE Personal
SET salario = salario * 1.03
SQL
Borrado de Datos
DELETE FROM NombreTabla
[WHERE condicinBsqueda]
SQL
Control de Acceso
SQL
Control de Acceso
Propiedad
Se otorga (por parte del administrador) a cada usuario los
derechos de acceso (o privilegios) apropiados sobre
los objetos de la base de datos
SQL
Control de Acceso
Privilegios
Los privilegios son las acciones que se permite al usuario llevar a
cabo sobre una determinada tabla base o vista
SQL
Control de Acceso
Propietario
Cuando un usuario crea una tabla (CREATE TABLE),
automticamente se convierte en el propietario de la tabla
y se le conceden privilegios completos sobre la misma
Cuando un usuario crea una vista (CREATE VIEW), se
convierte automticamente en el propietario de la vista,
pero no recibe necesariamente privilegios completos
sobre la misma (depende de los privilegios que tenga
sobre las tablas usadas en la consulta de definicin)
SQL
Control de Acceso
Concesin de Privilegios
GRANT {ListaPrivilegios|ALL PRIVILEGES}
ON NombreObjeto
TO {ListaIdentificadoresAutoriuzacin|PUBLIC}
[WITH GRANT OPTION]
SQL
Control de Acceso
Revocacin de Privilegios
REVOKE [GRANT OPTION FOR]
{ListaPrivilegios|ALL PRIVILEGES}
ON NombreObjeto
FROM {ListaIdentificadoresAutoriuzacin|PUBLIC}
[RESTRICT|CASCADE]
REVOKE SELECT ON Sucursal FROM PUBLIC
SQL
Manipulacin de Datos
SQL
Manipulacin de Datos
SQL
Manipulacin de Datos
Consultas Simples
El propsito de la instruccin SELECT
consiste en extraer y visualizar datos de una
o ms tablas de la base de datos. Se trata
de un comando extremadamente potente,
capaz de realizar el equivalente de las
operaciones de Seleccin, Proyeccin y
Combinacin del lgebra relacional en una
nica instruccin. El SELECT es el comando
SQL ms frecuentemente utilizado
SQL
Manipulacin de Datos
Consultas Simples
SELECT [DISTINCT|ALL {*|
[expresinColumna [AS nuevoNombre]] [,]}]
FROM NombreTabla [alias][,]
[WHERE condicin]
[GROUP BY listaColumnas][HAVING condicin]
[ORDER BY listaColumnas]
Las dos nicas clusulas obligatorias son las dos primeras:
SELECT y FROM; las restantes son opcionales.
SQL
Consultas
Expresin General
SQL
Manipulacin de Datos
Predicados WHERE
Las cinco condiciones bsicas de bsqueda son:
Comparacin: Comparar el valor de una expresin con el valor
de otra
ejemplo x=10
Rango: Comprobar si el valor de una expresin cae dentro de un
rango especificado de valores (ao between 1990 and 2009)
SQL
Manipulacin de Datos
Funciones de Agregacin
El estndar define cinco funciones de agregacin:
COUNT: devuelve el nmero de valores en una columna
especificada
SUM: devuelve la suma de los valores contenidos en una
columna especificada
AVG: devuelve la media de los valores contenidos en una
columna especificada
MIN: devuelve el valor ms pequeo contenido en una
columna especificada
MAX: devuelve el valor mximo contenido en una columna
especificada
SQL
Manipulacin de Datos
Subconsultas
Los resultados de una instruccin SELECT (interna) pueden
utilizarse en las clusulas WHERE y HAVING de una
instruccin SELECT (externa)
Subconsulta escalar: Devuelve una nica columna y una nica
fila
Subconsulta de fila: devuelve mltiples columnas (normalmente
para construir predicados)
SQL
Manipulacin de Datos
Combinacin de Tablas
Para realizar una combinacin, basta con incluir ms de un
nombre de tabla en la clusula FROM, utilizando
una coma como separador y, normalmente,
incluyendo una clusula WHERE para especificar la
columna o columnas con las que hay que realizar la
combinacin
Formas alternativas:
JOIN ON, JOIN USING, NATURAL JOIN
SQL
SQL
Gestin de una
biblioteca.
Contenido de la BD
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Consultas Bsicas
SQL
Consultas
Expresiones Condicionales
SQL
Consultas
Expresiones Condicionales
SQL
Consultas
Expresiones Condicionales
SQL
Consultas
Funciones Totales
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
SQL
Consultas
Funciones Totales
SQL
Consultas
Funciones Totales
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Agrupacin de Consultas
SQL
Consultas
Subconsultas
SQL
Consultas
Subconsultas
SQL
Consultas
Subconsultas
SQL
Consultas
Subconsultas
SQL
Consultas
Subconsultas
SQL
Consultas
Subconsultas
SQL
Consultas
Operaciones de Conjuntos
SQL
Consultas
Operaciones de Conjuntos
SQL
Actualizaciones
Inserciones
SQL
Actualizaciones
Inserciones
SQL
Actualizaciones
Modificaciones
SQL
Actualizaciones
Eliminaciones
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL
SQL inmerso
SQL