Sei sulla pagina 1di 128

Lenguajes de Base de Datos Relacionales

Base de Datos I

Ing. Rosa Ma. Castilla E. 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).

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Objetivos del SQL

Idealmente, un lenguaje de bases de datos debe


permitir al usuario:

Crear la base de datos y las estructuras de


relacin(tablas)
Realizar tareas bsicas de gestin de datos, como
la insercin, modificacin y borrado de los datos de
las relaciones
Realizar consultas tanto simples como complejas
Su sintaxis y estructura deben ser relativamente
fciles de aprender
Portable
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Componentes

Componentes principales del SQL:


Lenguaje de Definicin de Datos (DDL, Data
Definition Language) para definir la estructura de la
base de datos y controlar el acceso a los datos
Lenguaje de Manipulacin de Datos (DML, Data
Manipulation Language) para extraer y actualizar
los datos, consultas, inserciones, actualizaciones y
eliminanciones.

No es completo computacionalmente porque no tiene


estructuras de control es un lenguaje orientado a
transformacin de datos
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Caractersticas

Se trata de un lenguaje no procedimental: lo que se


especifica es qu informacin queremos, en lugar de
especificar cmo obtenerla SQL no requiere que se
especifique el mtodo de acceso a los datos
Al igual que la mayora de los lenguajes modernos, SQL es
de formato prcticamente libre, lo que quiere decir que
las diversas partes de una instruccin no tienen por qu
ser escritas en ubicaciones concretas de la pantalla

La estructura de los comandos est compuesta por


palabras inglesas normales, tal como, CREATE TABLE,
INSERT, SELECT,

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Orgenes y Evolucin

Los orgenes del SQL estn ligados a los de las


bases de datos relacionales. En 1970 E. F. Codd
propone el modelo relacional y asociado a ste un
sublenguaje de acceso a los datos basado en el
clculo de predicados. Basndose en estas ideas,
los laboratorios de IBM definen el lenguaje SEQUEL
(Structured English QUEry Language) que ms tarde
sera ampliamente implementado por el sistema de
gestin de bases de datos experimental System R,
desarrollado en 1977 tambin por IBM. Sin embargo,
fue Oracle quien lo introdujo por primera vez en 1979
en un programa comercial.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Orgenes y Evolucin

El SEQUEL terminara siendo el predecesor de SQL,


siendo ste una versin evolucionada del primero. El
SQL pasa a ser el lenguaje por excelencia de los
diversos sistemas de gestin de bases de datos
relacionales surgidos en los aos siguientes y es por
fin estandarizado en 1986 por el ANSI, dando lugar a
la primera versin estndar de este lenguaje, el
"SQL-86" o "SQL1". Al ao siguiente este estndar
es tambin adoptado por la ISO.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Orgenes y Evolucin

Sin embargo, este primer estndar no cubre todas


las necesidades de los desarrolladores e incluye
funcionalidades de definicin de almacenamiento
que se consideraron suprimir. As que en 1992 se
lanza un nuevo estndar ampliado y revisado del
SQL llamado "SQL-92" o "SQL2".
En la actualidad el SQL es el estndar de facto de la
inmensa mayora de los SGBD comerciales. Y,
aunque la diversidad de aadidos particulares que
incluyen las distintas implementaciones comerciales
del lenguaje es amplia, el soporte al estndar SQL92 es general y muy amplio.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Orgenes y Evolucin
El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo:

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Importancia de SQL

SQL el primer, y hasta ahora nico, lenguaje


estndar de base de datos que ha tenido una amplia
aceptacin. Casi todos los fabricantes de bases de
datos principales proporcionan productos de base de
datos basados en SQL o con una interfaz SQL, y la
mayora estn representados en al menos una de las
organizaciones de normalizacin.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Terminologa

El estndar SQL de ISO no utiliza los trminos


formales de relaciones, atributos y tuplas, sino que
emplea los trminos de tablas, columnas y filas.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Escritura de comandos SQL

Una instruccin SQL est compuesta por palabras


reservadas y palabras definidas por el usuario
Las palabras reservadas son una parte fija del
lenguaje SQL y tienen un significado tambin fijo;
Deben escribirse exactamente como se indica y no
pueden dividirse en varias lneas
Las palabras definidas por el usuario son
compuestas por este (de acuerdo a ciertas reglas
sintcticas) y representan los nombres de diversos
objetos de la base de datos, como tablas, columnas,
vistas, ndices,
Muchos dialectos SQL requieren un terminador de
instruccin (normalmente ;)
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Escritura de comandos SQL

La mayora de los componentes de una instruccin


SQL no distingue entre maysculas y minsculas,
lo que quiere decir que se pueden escribir cualquier
a de las letras en cualquiera de las formas.
Aunque SQL es de formato libre, las instrucciones o
conjuntos de instrucciones SQL sern ms legibles si
se utilizan las tcnicas de sangrado y de alineacin.
Por ejemplo:
Cada clusula de una instruccin debe comenzar en
una nueva lnea;
El principio de cada clusula debe estar alineado
con el comienzo de las clusulas restantes;
Si una clusula tiene varias partes, cada una de
ellas debe aparecer en una lnea distinta y debe
estar alineada con respecto al comienzo de la
clusula.
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Escritura de comandos SQL

Se usarn letras en maysculas para representar las


palabras reservadas, las cuales deben escribirse
exactamente como se indica
Se usarn letras en minsculas para representar las
palabras definidas por el usuario
Una barra vertical (|) indica eleccin entre alternativas .
Por ejemplo, a|b|c

Las llaves ({a}) indican un elemento obligatorio


Los corchetes ([a]) indican un elemento opcional
Los puntos suspensivos () se emplean para indicar
repeticin opcional
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Identificadores SQL

Los identificadores SQL se utilizan para identificar


objetos en la base de datos (nombres de tablas,
nombres de vistas, nombres de columnas, )
Los caracteres permitidos son: AZ, az, 09 y
No puede tener ms de 128 caracteres de longitud
Debe comenzar por una letra
No pueden contener espacios

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Datos de Caracteres
CHARACTER [VARYING] [longitud]
CHARACTER CHAR;
CHARACTER VARYING VARCHAR

numSucursal CHAR(4)
direccion VARCHAR2(30)

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Datos de Bit
BIT [VARYING] [longitud]

cadena BIT(4)

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Datos Numricos Exactos


NUMERIC [precisin [,escala]]
DECIMAL [precisin [,escala]]
INTEGER
SMALLINT
INTEGER INT; DECIMAL DEC

habitac SMALLINT
salario DECIMAL (7,2)

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Datos Numricos Aproximados


FLOAT [precisin]
REAL
DOUBLE PRECISION

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Datos de Fecha y Hora


DATE
TIME [precisinTemporal] [WITH TIME ZONE]
TIMESTAMP [precisinTemporal] [WITH TIME ZONE]

visitas DATE

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

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

Tipos de Datos SQL de ISO

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

Tipos de Datos SQL de ISO

Operadores Escalares
SESSION_USER: Devuelve una cadena de caracteres que
representa el identificador de autorizacin de la sesin SQL

SYSTEM_USER: Devuelve una cadena de caracteres que


representa el identificador de autorizacin que ha invocado el
mdulo actual
LOWER: Convierte las letras maysculas en minsculas
UPPER: Convierte las letras minsculas en maysculas
TRIM: Elimina los caracteres iniciales (LEADING), finales
(TRAILING) o tanto iniciales como finales (BOTH) de una
cadena

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Operadores Escalares
POSITION: Devuelve la posicin de una cadena dentro
de otra cadena

SUBSTRING: Devuelve una subcadena seleccionada de


una cadena
CASE: Devuelve un valor entre una serie de valores
especificados, basndose en alguna condicin

CURRENT_DATE: Devuelve la fecha actual en la zona


horaria local al usuario
CURRENT_TIME: Devuelve la hora actual en la zona
horaria predeterminada de la sesin actual
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

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).

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Caractersticas de Integridad

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Caractersticas de mejora de la Integridad

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

categoria VARCHAR(10) NOT NULL

Ing. Rosa Ma. Castilla E. Base de Datos I

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))

CREATE DOMAIN TipoSexo AS CHAR


DEFAULT M
CHECK (VALUE IN (M, F))
sexo TipoSexo NOT NULL
Ing. Rosa Ma. Castilla E. Base de Datos I

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

CREATE TABLE 'TABLA_NOMBRE' (


'CAMPO_1' INT PRIMARY KEY ,
'CAMPO_2' STRING )
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Caractersticas de Integridad

Integridad Referencial
FOREIGN KEY
ON DELETE; ON UPDATE CASCADE, SET NULL,
SET DEFAULT, NO ACTION

FOREIGN KEY (numSucursal) REFERENCES Sucursal


FOREIGN KEY (numPersonal) REFERENCES Personal
ON DELETE SET NULL

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Caractersticas de Integridad

Restricciones Generales
CREATE ASSERTION NombreAsercin
CHECK (condicinBsqueda)

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Definicin de Datos

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

El lenguaje de definicin de datos (DDL, data


Definition Lenguage) de SQL permite crear y
destruir objetos de la base de datos tales como
esquemas, dominios, tablas, vistas e ndices.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una base de datos


El proceso de creacin de una base de datos difiere
significativamente de unos productos a otros. En los
sistemas multiusuarios, la autoridad para crear una
base de datos est usualmente reservada para el
DBA. En los sistemas monousuarios, puede que se
establezca una base de datos predeterminada a la
hora de instalar y configurar el sistema, pudiendo el
usuario crear otras cuando lo necesite.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Creacin de tabla

Pasos para la creacin de


una tabla

Sintaxis

1.

Identificar el tipo de datos del


atributo/campo

2.

Identificar las columnas que


puden o no pueden tener
valores nulos

3.

Identificar las columnas que


pueden ser llaves
candidatas(unicas/unique)

4.

Identificar la llave primaria y


llave foranea

5.

Determinar el valor por


default

6.

Identificar las restricciones en


cada columna(dominio

7.

Crear tabla y asociar indices

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla


CREATE TABLE NombreTabla
{(NombreColumna tipoDatos [NOT NUL] [UNIQUE
[DEFAULT opcinPredeterminada]
[CHECK (condicinBsqueda)] [,]}
[PRIMARY KEY (listaDeColumnas),]
{[UNIQUE (listaDeColumnas)][,]}
{[FOREIGN KEY (listaColumnasClaveExterna)
REFERENCES NombreTablaPadre
[(listaColumnasClaveCandidatas)]
[ON UPDATE acccinReferencial]
[ON DELETE acccinReferencial]][,]}
{[CHECK (condicinBisqueda)][,]}
CONSTRAINT NombreRestriccin PPRIMARY
KEY|FOREIGN KEY|CHECK|UNIQUE ComplementoRestriccin)
[,]})
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Creacin de una Tabla

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Modificacin de una Tabla


ALTER TABLE NombreTabla
[ADD[COLUMN] nombreColumna tipoDato
[NOT NULL][UNIQUE]
[DEFAULT opcinPredeterminada]
[CHECK (condicinBsqueda)]]
[DROP[COLUMN] nombreColumna
[RESTRIC|CASCADE]]
[ADD[CONSTRAINT[nombreRestriccin]]
definicinRest]
[DROP[CONSTRAINT] nombreRes
[RESTRIC|CASCADE]]
[ALTER[COLUMN] SET DEFAULT
opcinPredeterminada]
[ALTER[COLUMN] DROP DEFAULT]
Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Eliminar una Tabla


DROP TABLE NombreTabla [RESTRICT|CASCADE]

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

ndices
CREATE [UNIQUE] INDEX Nombrendice
ON nombreTabla NombreColumna[ASC|DESC][,])

DROP INDEX Nombrendice

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Vistas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Vistas
CREATE VIEW nombreVista [(nuevoNombreColumna [,])]
AS subseleccin [WITH [CASCADE|LOCAL]
CHECK OPTION]

DROP VIEW NombreVista [RESTRIC|CASCADE]

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Definicin de Datos

Vistas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Actualizacin de la Base de Datos

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizacin de la Base de Datos

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);

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizacin de la Base de Datos

Modificacin de Datos
UPDATE NombreTabla
SET NombreColumna1 = valorDatos1 [,]
[WHERE condicinBsqueda]

UPDATE Personal
SET salario = salario * 1.03

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizacin de la Base de Datos

Borrado de Datos
DELETE FROM NombreTabla
[WHERE condicinBsqueda]

DELETE FROM Vistas


WHERE numPropiedad = PG4

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Control de Acceso

Ing. Rosa Ma. Castilla E. Base de Datos I

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

Los usuarios pueden transferir sus privilegios, en todo o en


parte, a otros usuarios a su discrecin

Cada objeto que se crea en SQL tiene un propietario

Ing. Rosa Ma. Castilla E. Base de Datos I

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

SELECT: el privilegio para extraer datos de una tabla


INSERT: el privilegio de insertar nuevas filas en una tabla
UPDATE: el privilegio de modificar filas de datos en una tabla
DELETE: el privilegio de borrar filas de datos en una tabla
REFERENCES: el privilegio de hacer referencia a columnas de
una tabla especificada dentro de las restricciones de
integridad
USAGE: el privilegio de usar dominios,

Ing. Rosa Ma. Castilla E. Base de Datos I

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)

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Control de Acceso

Concesin de Privilegios
GRANT {ListaPrivilegios|ALL PRIVILEGES}
ON NombreObjeto
TO {ListaIdentificadoresAutoriuzacin|PUBLIC}
[WITH GRANT OPTION]

GRANT ALL PRIVILEGES ON Personal


TO ManagerGeneral WITH GRANT OPTION

Ing. Rosa Ma. Castilla E. Base de Datos I

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

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Tipos de Datos SQL de ISO

Manipulacin de Datos

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Manipulacin de Datos

El lenguaje de manipulacin de datos (DML, data


Manipulation Lenguage) es el conjunto de
sentencias que est orientada a la consulta, y
manejo de datos de los objetos creados. El DML es
un subconjunto muy pequeo dentro de SQL, pero
es el ms importante, ya que su conocimiento y
manejo con soltura es imprescindible.

Ing. Rosa Ma. Castilla E. Base de Datos I

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

Ing. Rosa Ma. Castilla E. Base de Datos I

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.

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Expresin General

Ing. Rosa Ma. Castilla E. Base de Datos I

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)

Pertenencia a un Conjunto: Comprobar si el valor de una


expresin coincide con uno de los valores de un cierto conjunto
Correspondencia de Patrones: Comprobar si una cadena de
caracteres se ajusta a un patrn especfico

Nulo: Comprobar si una columna tiene un valor nulo


Ing. Rosa Ma. Castilla E. Base de Datos I

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

Ing. Rosa Ma. Castilla E. Base de Datos I

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)

Subconsulta de tabla: devuelve mltiples columnas y filas


(normalmente para predicados de tipo IN)

Ing. Rosa Ma. Castilla E. Base de Datos I

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

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Base de datos de ejemplo

Gestin de una biblioteca. Diagrama de la BD

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Base de datos de ejemplo

Gestin de una
biblioteca.
Contenido de la BD

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas Bsicas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Expresiones Condicionales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Expresiones Condicionales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Expresiones Condicionales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Funciones Totales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Consultas con varias tablas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Funciones Totales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Funciones Totales

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Agrupacin de Consultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Subconsultas

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Operaciones de Conjuntos

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Consultas

Operaciones de Conjuntos

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizaciones

Inserciones

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizaciones

Inserciones

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizaciones

Modificaciones

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Actualizaciones

Eliminaciones

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

SQL inmerso

Ing. Rosa Ma. Castilla E. Base de Datos I

SQL

Potrebbero piacerti anche