Professional Documents
Culture Documents
Manual de Practicas
SQL
Materia:
Base de Datos
Semestre: 04
Maestra:
M. en C. Martha Elizabeth Evangelista Salazar
Agosto 2013
2da. Edicin
UNIVERSIDAD DE COLIMA
Rector
M. en C. Jos Eduardo Hernndez Nava
Secretario General
Mtro. Christian Jorge Torres Ortiz Zermeo
Coordinador General de Docencia
Dra. Martha Alicia Ochoa Echeverra
Director General de Educacin Superior
Dr. Carlos Eduardo Monroy Galindo
Coordinador Acadmico
M. en I. Salvador Barragn Gonzlez
Titular de la materia
M. en C. Martha Elizabeth Evangelista Salazar
Ing. Brenda Cerrato Abdal / Encargado del Centro de Cmputo
Presentacin
Requerimientos:
CONTENIDO TEMTICO
Directorio .................................................................................................. 1
Presentacin ............................................................................................. 2
Propsito del manual ............................................................................... 3
Requerimientos ....................................................................................... 3
1.- LENGUAJE DE CONSULTA COMERCIAL (SQL) ................................... 5
1.1.- Tipos bsicos de dominios ............................................................. 6
1.2.- Estructura bsica .......................................................................... 6
2.- FUNCIONAMIENTO DEL SQL. ............................................................. 7
2.1.- La clusula SELECT ....................................................................... 7
2.2.- La clusula WHERE ....................................................................... 8
2.3.- La clusula FROM ......................................................................... 9
2.4.- Operacin renombramiento ..........................................................11
2.5- Operaciones con cadena de caracteres ..........................................12
2.6.- Orden en la presentacin de las tuplas. .........................................12
3.- OPERACIONES SOBRE CONJUNTOS. ................................................13
3.1.- La operacin unin ......................................................................13
3.2.- La operacin interseccin .............................................................14
3.3.- La operacin excepto ...................................................................14
4.- SUBCONSULTAS ANIDADAS ..............................................................15
5.- FUNCIONES DE AGREGACIN ..........................................................18
6.- MODIFICACIN DE LA BASE DE DATOS .........................................19
6.1.- Estructura de la sentencia CREATE TABLE. ....................................19
6.2.- Estructura de la sentencia INSERT ................................................20
6.3.- Estructura de la Sentencia CREATE INDEX ....................................20
6.4.- Estructura de la sentencia UPDATE ...............................................21
6.5.- Estructura de la sentencia DROP TABLE ........................................21
6.6.- Estructura de la sentencia DROP INDEX ........................................22
6.7.- Estructura de la sentencia DELETE ...............................................22
7.- VISTAS. ..............................................................................................22
7.1 Estructura de la sentencia CREATE VIEW. .......................................24
7.2 Estructura de la sentencia DROP VIEW............................................25
BIBLIOGRAFA .........................................................................................26
las
Calle_cliente
Preciado
Embajadores
Delicias
Jazmn
Carretas
Arenal
Mayor
Carretas
Yeseras
Ramblas
Mayor
Goya
Ciudad_cliente
Valsan
Arganzuela
Valsan
Len
Cercedas
La granja
Peguerinos
Cerceda
Cdiz
Len
Peguerinos
Vigo
Tabla cuenta
Martha Elizabeth Evangelista Salazar
Numero_cuenta
C-101
C-102
C-201
C-215
C-217
C-222
C-305
Nombre_sucursal
Centro
Navacerrada
Galapagar
Becerril
Galapagar
Moralzarzal
Collado Mediano
Tabla impositor
Nombre_cliente
Abril
Gmez
Gonzlez
Gonzlez
Lpez
Ruprez
Santos
saldo
500
400
900
700
750
700
350
Nmero_ cuenta
C-305
C-215
C-101
C-201
C-102
C-222
C-217
Tabla sucursal
Nombre_sucursal
Becerril
Centro
Collado Mediano
Galapagar
Moralzarzal
Navacerrada
Navas de la Asuncin
Segovia
Ciudad_sucursal
Aluche
Arganzuela
Aluche
Arganzuela
La granja
Aluche
Alcal de Henares
Cerceda
activos
400
9000
8000
7100
2100
1700
300
3700
Tabla prstamo
Nmero_ prstamo
P-11
P-14
P-15
P-16
P-17
P-23
P-93
Nombre_sucursal
Collado mediano
Centro
Navacerrada
Navacerrada
Centro
Moralzarzal
Becerril
importe
900
1,500
1,500
1,300
1,000
2,000
500
Tabla prestatario
Nombre_cliente
Gmez
Sotoca
Lpez
Fernndez
Santos
Gmez
Prez
Nmero_ prstamo
P-11
P-14
P-15
P-16
P-17
P-23
P-93
select *
from prstamo
SQL utiliza las conectivas lgicas and, or y not (en lugar de los smbolos
matemticos ,,) en la clausula where. Tambin se pueden utilizar los
operadores de comparacin <,<=,>,>=,<> y = . Tambin incluye el operador de
comparacin between (se encuentra entre un rango de comparacin). De forma
anloga, se puede utilizar el operador de comparacin not between.
Ejercicios:
1.- Obtener el nmero de prstamo de los prstamos con importe entre 900.00 y
1,500.00.
select numero_prstamo
from prstamo
where importe >=900.00 and importe <=1,500.00
select numero_prstamo
from prstamo
where importe between 900.00 and 1,500.00
2.- Obtener el nombre de la sucursal cuyos activos no estn entre 7,000.00 y
9,000.00.
3.- Obtener el nmero de cuenta de la sucursal Galapagar con saldo superior a
800.00.
10
prstamo.numero_prestamo
and
11
prstamo.numero_prestamo
and
12
13
(select nombre_cliente
from prestatario)
3.3.- La operacin excepto.- La operacin excepto (except) elimina los valores
duplicados automticamente
Ejercicio: Encontrar los clientes del banco que tienen una cuenta pero no un
prestamo en el banco
(select nombre_cliente
from impositor)
except
(select nombre_cliente
from prestatario)
Si desea conserver todos los duplicados hay que escribir except all en lugar de
except.
(select nombre_cliente
from impositor)
except all
(select nombre_cliente
from prestatario)
14
C2
C3
CA
CB
AAA
10
35
BBB
45
10
CCC
55
65
DDD
20
20
EEE
20
90
FFF
90
90
GGG
15
75
HHH
90
90
35
C2
C3
CA
CB
AAA
10
10
DDD
20
20
EEE
20
20
FFF
90
90
FFF
90
90
FFF
90
90
HHH
90
90
HHH
90
90
HHH
90
90
15
cursa
NControl
NControl
NombreA
Clave
Especialidad Calif
Direccin
Clave
NombreM
Creditos
Tabla cursa:
NControl Clave Calif
Tabla materia:
Clave NombreM Creditos
16
Ejercicios:
Obtener los nombres de los alumnos cuyas materias que cursan tienen
crditos igual a ocho.
SELECT NombreA
FROM Alumno
WHERE NControl IN (SELECT Ncontrol
FROM Cursa
WHERE Clave IN (SELECT Clave
FROM Materia
WHERE Creditos=8));
Obtener el nmero de control del alumno que tenga alguna calificacin igual
a 100
SELECT DISTINCT NControl
FROM Cursa
WHERE Calif=100;
SELECT NombreM
FROM Materia
WHERE Clave IN(SELECT DISTINCT (Clave)
FROM Cursa
WHERE NControl IN (SELECT NControl)
FROM Alumno
WHERE NombreA=Salvador
Chvez));
17
18
Hasta aqu hemos visto el manejo sencillo de realizar consultas con SQL, hay
que destacar que en la realizacin de consultas anidadas se tiene que poner
cuidando a la prioridad de los operadores, teniendo cuidado tambin al momento
de agrupar los parntesis que involucran las condiciones con los operadores.
19
Los campos pueden definirse como NOT NULL de manera opcional excepto en
la llave primaria para lo cual es obligatorio. Adems al definir la llave primaria se
genera automticamente un ndice con respecto al campo llave; para definir la
llave la denotamos dentro de los parntesis de PRIMARY KEY.
Ejercicio:
Crear la tabla alumno con los atributos antes descritos, tomando como llave el
nmero de control.
CREATE TABLE Alumno
( NControl char(8) NOT NULL,
NombreA char(20),
Especialidad char(3),
Direccin char(30),
PRIMARY KEY (NControl) );
Tabla Alumno:
NControl NombreA Especialidad Direccin
Ejercicio: Insertar en la tabla Alumno, antes creada los datos del alumno Daniel
coln, con numero de control 95310518 de la especialidad de Ingeniera civil, con
domicilio Abasolo Norte #45.
INSERT
INTO Alumno
VALUES("95310518","Daniel Coln","IC","Abasolo Norte #45") ;
Martha Elizabeth Evangelista Salazar
20
Ejercicio:
Modificar el nmero de control del registro de Daniel Coln de la
Tabla alumno por el nmero 96310518.
UPDATE Alumno
SET NControl 96310518
WHERE NombreA=Daniel Coln;
6.5.- Estructura de la sentencia DROP TABLE
DROP TABLE Nombre de la tabla a borrar;
Ejercicio:
21
22
se realiza con los datos almacenados en la tabla base. Es decir se percibe como
una tabla virtual.
Las rdenes que se utilizan para la manipulacin de vistas son:
CREATE VIEW: Crea una tabla virtual.
DROP VIEW: Elimina una vista creada anteriormente.
Descripcin
NumC
NombreC
DescC
Creditos
Costo
Depto
NombreC
DescC
Creditos
Costo
Depto
A01
Liderazgo
Para pblico
General
10
100.00
Admn.
S01
Para ISC y LI
10
90.00
Sistemas.
C01
Construccin de torres
Para
IC
y
Arquitectura
0.00
Ciencias
23
B01
80.00
Bioqumica
E01
10
100.00
Electromecnica.
S02
Tecnologa OLAP
100.00
Sistemas
C02
10
100.00
Ciencias
B02
Metabolismo
camarn
10
0.00
Bioqumica
E02
Para IE
10
100.00
Electromecnica
S03
Estructura de datos
Para ISC y LI
0.00
Sistemas
A01
Diseo bioclimtico
Para
Arquitectura
10
0.00
Arquitectura
C03
Matemticas discretas
General
0.00
Ciencias
S04
Circuitos digitales
Para ISC
10
0.00
Sistemas
S05
Arquitectura de Computadoras
Para ISC
10
50.00
Sistemas
I01
Para ISC y LI
10
150.00
Informtica
de
Para ISC y LI
lpidos
en
el Para IB
Ejercicio:
* Crear una vista (tabla virtual), denominada CursosS, que contenga las filas solo
correspondientes a cursos ofrecidos por el departamento Sistemas. La vista
deber contener todas las columnas de la tabla CURSO, con la excepcin de la
columna Depto, la secuencia, de izquierda a derecha de las columnas, deber ser:
NombreC, NumC, Creditos, Costo Y DescC.
25
BIBLIOGRAFIA:
26