manual de practicas sql
TRANSCRIPT
-
7/25/2019 Manual de Practicas SQL
1/26
FACULTAD DE INGENIERIA MECNICA Y ELECTRICALICENCIATURA EN INGENIERIA EN SISTEMAS
COMPUTACIONALES
Manual de Practicas
SQL
Materia:
Base de Datos
Semestre:04
Maestra:
M. en C. Martha Elizabeth Evangelista Salazar
Agosto 20132da. Edicin
-
7/25/2019 Manual de Practicas SQL
2/26
UNIVERSIDAD DE COLIMA
RectorM. en C. Jos Eduardo Hernndez Nava
Secretario GeneralMtro. Christian Jorge Torres Ortiz Zermeo
Coordinador General de DocenciaDra. Martha Alicia Ochoa Echeverra
Director General de Educacin SuperiorDr. Carlos Eduardo Monroy Galindo
FACULTAD DE INGENIERA MECNICA Y ELCTRICA
Director del PlantelM. en C. Jos Luis lvarez Flores
Coordinador AcadmicoM. en I. Salvador Barragn Gonzlez
Titular de la materiaM. en C. Martha Elizabeth Evangelista Salazar
Ing. Brenda Cerrato Abdal / Encargado del Centro de Cmputo
-
7/25/2019 Manual de Practicas SQL
3/26
Presentacin
La gestin de las bases de datos ha evolucionado desde una aplicacininformtica especializada hasta convertirse en parte esencial de los entornosinformticos modernos. Por lo tanto, los conocimientos acerca de los sistemas debases de datos se han convertido en una parte imprescindible de la informacin eninformtica.
Propsito del manual.
El alumno conocer los fundamentos de la teora de base de datos para aplicarlosen el diseo, desarrollo, implementacin y administracin en el uso de losmanejadores de bases de datos.
Requerimientos:
Computadora porttil o de escritorio Windows 97 o superior ACCESS 2007 o superior
-
7/25/2019 Manual de Practicas SQL
4/26
CONTENIDO TEMTICO
Directorio .................................................................................................. 1Presentacin ............................................................................................. 2
Propsito del manual............................................................................... 3Requerimientos ....................................................................................... 3
1.- LENGUAJE DE CONSULTA COMERCIAL (SQL)................................... 51.1.- Tipos bsicos de dominios ............................................................. 61.2.- Estructura bsica .......................................................................... 6
2.- FUNCIONAMIENTO DEL SQL.............................................................. 72.1.- La clusula SELECT ....................................................................... 72.2.- La clusula WHERE ....................................................................... 82.3.- La clusula FROM ......................................................................... 92.4.- Operacin renombramiento .......................................................... 112.5- Operaciones con cadena de caracteres .......................................... 122.6.- Orden en la presentacin de las tuplas. ......................................... 12
3.- OPERACIONES SOBRE CONJUNTOS................................................. 133.1.- La operacin unin ...................................................................... 133.2.- La operacin interseccin ............................................................. 143.3.- La operacin excepto ................................................................... 14
4.- SUBCONSULTAS ANIDADAS .............................................................. 15
5.- FUNCIONES DE AGREGACIN .......................................................... 18
6.- MODIFICACIN DE LA BASE DE DATOS......................................... 196.1.- Estructura de la sentencia CREATE TABLE. .................................... 196.2.- Estructura de la sentencia INSERT ................................................ 206.3.- Estructura de la Sentencia CREATE INDEX .................................... 206.4.- Estructura de la sentencia UPDATE ............................................... 216.5.- Estructura de la sentencia DROP TABLE ........................................ 216.6.- Estructura de la sentencia DROP INDEX ........................................ 226.7.- Estructura de la sentencia DELETE ............................................... 22
7.- VISTAS. .............................................................................................. 227.1 Estructura de la sentencia CREATE VIEW. ....................................... 247.2 Estructura de la sentencia DROP VIEW............................................ 25
BIBLIOGRAFA ......................................................................................... 26
-
7/25/2019 Manual de Practicas SQL
5/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 5
1.- LENGUAJES DE CONSULTA COMERCIALES (SQL)
Un lenguaje de consulta comercial proporciona una interfaz ms amigable alusuario. Un ejemplo de este tipo de lenguaje es el SQL, (Structured QueryLanguaje, Lenguaje de Consulta Estructurado).
Las partes ms importantes del SQL son:
LDD: Lenguaje de definicin de datos (que nos permite crear lasestructuras)
LMD: Lenguaje de manipulacin de datos (que nos permite tener acceso alas estructuras para suprimir, modificar e insertar)
1.1- TIPOS BSICOS DE DOMINIOS:
char(n).- Una cadena de caracteres de longitud fija, con una longitud nespecificada por el usuario. Tambin se puede utilizar la palabra completacharacter.
varchar(n).- Una cadena de caracteres de longitud variable con unalongitud mxima n especificada por el usuario. La forma completa,character varyinges equivalente.
int.- Para especificar nmeros enteros. La palabra integeres equivalente. numeric(p,d).- Un nmero de coma fijo, cuya precisin la especifca el
usuario. El nmero est formado porp
dgitos,d
pertenece a la partedecimal. Ejemplo: numeric(3,1) permite el nmero 33.9, ms no 0.96,3.98, 444.5, etc.
Smallint.- Enteros cortos .
1.2.- ESTRUCTURA BSICA:
La estructura bsica de una expresin en SQL contiene 3 partes: Select, From yWhere.
La clusula Select se usa para listar los atributos que se desean en el
resultado de una consulta. From, Lista las relaciones que se van a examinar en la evaluacin de laexpresin.
Where, es la definicin de las condiciones a las que puede estar sujeta unaconsulta.
-
7/25/2019 Manual de Practicas SQL
6/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 6
La consulta tpica de SQL tiene la siguiente forma:
SelectA1,A2,A3...AnFrom r1,r2,r3...rmWhere Condicin(es)
Donde:A1,A2,A3...An: Representan a cada atributo(s) o campos de las
tablas de la base de datos relacional.R1,r2,r3....rm: Representan a la(s) tabla(s) involucradas en la consulta.Condicin: Es el enunciado que rige el resultado de la consulta.
Si se omite la clusula Where,la condicin es considerada como verdadera, lalista de atributos (A1,A2..An) puede sustituirse por un asterisco (*), paraseleccionar todos los atributos de todas las tablas que aparecen en la clusulaFrom.
2.- FUNCIONAMIENTO DEL SQL.
El SQL forma el producto cartesiano de las tablas involucradas en la clusulaFrom, cumpliendo con la condicin establecida en la orden Where y despusproyecta el resultado con la orden Select.
Para la realizacin de los siguientes ejercicios es necesario contar con lassiguientes tablas de la entidad bancaria:
Tabla cl ienteNombre_cliente Calle_cliente Ciudad_cliente
Abril Preciado ValsanAmo Embajadores ArganzuelaBadorrey Delicias ValsanFernndez Jazmn LenGmez Carretas CercedasGonzlez Arenal La granjaLpez Mayor PeguerinosPrez Carretas Cerceda
Rodrguez Yeseras CdizRuprez Ramblas LenSantos Mayor PeguerinosValdivieso Goya Vigo
Tabla cuenta
-
7/25/2019 Manual de Practicas SQL
7/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 7
Numero_cuenta Nombre_sucursal saldoC-101 Centro 500C-102 Navacerrada 400C-201 Galapagar 900C-215 Becerril 700
C-217 Galapagar 750C-222 Moralzarzal 700C-305 Collado Mediano 350
Tabla impo si torNombre_cliente Nmero_ cuenta
Abril C-305Gmez C-215Gonzlez C-101Gonzlez C-201
Lpez C-102Ruprez C-222Santos C-217
Tabla su cursalNombre_sucursal Ciudad_sucursal activosBecerril Aluche 400Centro Arganzuela 9000Collado Mediano Aluche 8000Galapagar Arganzuela 7100Moralzarzal La granja 2100Navacerrada Aluche 1700Navas de la Asuncin Alcal de Henares 300Segovia Cerceda 3700
Tab la p rstamo
Nmero_ prstamo Nombre_sucursal importeP-11 Collado mediano 900P-14 Centro 1,500P-15 Navacerrada 1,500P-16 Navacerrada 1,300
P-17 Centro 1,000P-23 Moralzarzal 2,000P-93 Becerril 500
-
7/25/2019 Manual de Practicas SQL
8/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 8
Tabla prestatar ioNombre_cliente Nmero_ prstamoGmez P-11Sotoca P-14Lpez P-15
Fernndez P-16Santos P-17Gmez P-23Prez P-93
2.1.- La clusula SELECT- El resultado de la clusula select es, por supuesto,una relacin (se mostrar todos los atributos que se encuentren en esa clusula).
Ejemplo: Obtener el nombre de todas las sucursales de la relacin prstamo.
select nombre_sucursalfrom prstamo
El resultado es una relacin consistente en un nico atributo con el encabezadonombre_sucursal.
nombre_sucursalCollado_medianoCentroNavacerradaNavacerrada
CentroMoralzarzalBecerril
En el caso en los que se desea forzar la eliminacin de los valores duplicados, seinserta la palabra clave distinct despus de select.
select distinct nombre_sucursalfrom prstamo
nombre_sucursalCollado_medianoCentroNavacerradaMoralzarzalBecerril
-
7/25/2019 Manual de Practicas SQL
9/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 9
Se permite utilizar la clusula allpara especificar de manera explcita que no seeliminen los duplicados.
select all nombre_sucursalfrom prstamo
El smbolo asterisco (*) se puede utilizar para denotar todos los atributos.Ejemplo: Mostrar el contenido de la tabla prstamo.
select numero_prestamo,nombre_sucursal, importefrom prstamo
select *from prstamo
La clusula select puede contener tambin expresiones aritmticas quecontengan los operadores +,-,*,/ y operen sobre constantes o atributos de lastuplas. Por ejemplo, la consulta.
select numero_prestamo,nombre_sucursal, importe*10from prstamo
devolver una relacin que es igual a la de prstamo, salvo que el atributoimporte estar multiplicado por 10.
SQL tambin proporciona tipos de datos especiales, tales como varias formas deltipo date (fecha) y permite que varias funciones aritmticas operen sobre esostipos.
2.2.- La clusula WHERE- A continuacin se muestra el uso de la clausulawhere: Ejemplo.
Obtener todos los prstamos de la sucursal Navacerrada con importe superior a1200.00
select numero_prestamofrom prstamowherenombre_sucursal=Navacerrda andimporte>1200.00
-
7/25/2019 Manual de Practicas SQL
10/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 10
SQL utiliza las conectivas lgicas and, or y not (en lugar de los smbolosmatemticos ,,) en la clausula where. Tambin se pueden utilizar losoperadores de comparacin =, y = . Tambin incluye el operador de
comparacin between (se encuentra entre un rango de comparacin). De formaanloga, se puede utilizar el operador de comparacin not between.
Ejerc ic ios:
1.- Obtener el nmero de prstamo de los prstamos con importe entre 900.00 y1,500.00.
select numero_prstamofrom prstamowhereimporte >=900.00 and importe
-
7/25/2019 Manual de Practicas SQL
11/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 11
from prestatario,prstamowhere prestatario.numero_prestamo = prstamo.numero_prestamo and
nombre_sucursal=Navacerrada.
2.4.- Operacin renombramientoSQL proporciona un mecanismo para renombrar tanto relaciones como atributos.Utiliza la clusula ASde la siguiente forma:
nombre-antiguo ASnombre_nuevo
para el caso de atributos
select nombre_cliente, prestatario.numero_prstamo ASid_prestamo, importefrom prestatario,prstamo
where prestatario.numero_prestamo = prstamo.numero_prestamopara el caso de relaciones
select nombre_cliente, T.numero_prstamo, S.importefrom prestatario AS T,prstamo AS Swhere T.numero_prestamo = S.numero_prestamo
2.5- Operaciones con cadena de caracteres
SQL especifica la cadena de caracteres encerrndolas entre comillas simples,Navacerrada.
La operacin ms utilizada sobre la comparacin de cadenas de caracteres es eloperador like. Para la descripcin de los patrones se utilizan dos caracteresespeciales:
Tanto por ciento (%).- El carcter % coincide con cualquier subcadena decaracteres.
El subrayado (_).- El _ coincide con cualquier carcter
Los caracteres en minsculas difieren de los caracteres en maysculas yviceversa
Nava% coincide con cualquier cadena de caracteres que empiece conNava.
-
7/25/2019 Manual de Practicas SQL
12/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 12
%cer% conincide con cualquier cadena que contenga cer comosubcadena. Ejemplo Navacerrada, Becerril, Cceres, etc.
_ _ _ coincide con cualquier cadena que contenga tres caracteres. _ _ _% coincide con cualquier cadena que contenga al menos tres
caracteres.
Ejemplo: Determinar el nombre de todos los clientes cuya direccin contenga lasubcadena de caracteres Mayor
select nombre_clientefrom clientewherecalle_cliente like%Mayor%
SQL permite buscar discordancias en lugar de concordancias utilizando eloperador de comparacin not like.
2.6.- Orden en la presentacin de las tuplas.
SQL permite cierto control sobre el orden en el cual se presentan las tuplas de unarelacin. La clusula order by hace que las tuplas se presenten en un ordenespecificado. (De manera predeterminada la orden order by coloca los elementosen orden ascendente).
Ejemplo: Obtener una relacin en orden alfabtico de todos los clientes que tienenun prstamo en la sucursal Navacerrada
select distinct nombre_clientefrom prestatario,prstamowhere prestatario.numero_prestamo = prstamo.numero_prestamo and
nombre_sucursal=Navacerrada. order by nombre_cliente
Para especificar el tipo de ordenacin se puede especificar descpara ordenar demanera descendente ascpara ordenar ascendentemente.
Colocar toda la relacin prstamo en orden descendente segn su importe, seordena de manera ascendente segn su prstamo.
select *from prstamoorder by importe desc, numero_prestamo asc
Lo orden order by solo se utilizar cuando sea estrictamente necesario (porqueordenar un gran nmero de tuplas puede resultar costoso).
-
7/25/2019 Manual de Practicas SQL
13/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 13
3.- OPERACIONES SOBRE CONJUNTOS.
Las operaciones de SQL union, intersect y except corresponden con las
operaciones del algebra relacional
,
y -. Las relaciones que participen en lasoperaciones han de ser compatibles, esto es, deben tener el mismo conjunto deatributos.
3.1.- La operacin unin.- La operacin unin elimina los valores duplicadosautomticamente
Ejercicio:Encontrar los clientes del banco que t ienen u nprstamo, unacuenta olas doscosas en el banco.
(select nombre_cliente
from impositor)union(select nombre_clientefrom prestatario)
Si desea conserver todos los duplicados hay que escribir unin all en lugar deunin.
(select nombre_clientefrom impositor)unin all(select nombre_clientefrom prestatario)
3.2.- La operacin interseccin.- La operacin interseccin (intersect) eliminalos valores duplicados automticamente
Ejerc ic io: Encontrar los clientes del banco que tienen tanto u nprstamo comounacuenta en el banco
(select nombre_clientefrom impositor)intersect(select nombre_clientefrom prestatario)
Si desea conserver todos los duplicados hay que escribir intersect allen lugar deintersect.
(select nombre_clientefrom impositor)intersect all
-
7/25/2019 Manual de Practicas SQL
14/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 14
(select nombre_clientefrom prestatario)
3.3.- La operacin excepto.- La operacin excepto (except) elimina los valoresduplicados automticamente
Ejerc ic io: Encontrar los clientes del banco que tienen una cuenta pero no unprestamo en el banco
(select nombre_clientefrom impositor)except(select nombre_clientefrom prestatario)
Si desea conserver todos los duplicados hay que escribir except allen lugar de
except.(select nombre_clientefrom impositor)except all(select nombre_clientefrom prestatario)
-
7/25/2019 Manual de Practicas SQL
15/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 15
4.- SUBCONSULTAS ANIDADAS
Existen dos formas para realizar consultas: Join de Querys y Subquerys. Cuandoen la sentencia From colocamos los nombres de las tablas separados por comasse dice que efectuamos una consulta de la forma Join de Querys, en este caso
se requiere anteponer el nombre de la tabla y un punto al nombre del atributo. Enel Join de Querys el resultado que se produce con las tablas que intervienen en laconsulta es la concatenacin de las tablas, en donde los valores de una columnade la primera tabla coinciden con los valores de una segunda tabla, la tabla deresultado tiene una fila por cada valor coincidente que resulte de las dos tablasoriginales.
Para ejemplificar esto, consideremos 2 tablas: Tabla1 y Tabla2, entonces:
C1 C2 C3 CA CB
A AAA 10 35 R
B BBB 45 10 SC CCC 55 65 T
D DDD 20 20 U
E EEE 20 90 V
F FFF 90 90 W
G GGG 15 75 X
H HHH 90 90 Y
35 Z
Resultado de la operacin Join:
C1 C2 C3 CA CB
A AAA 10 10 S
D DDD 20 20 U
E EEE 20 20 U
F FFF 90 90 V
F FFF 90 90 W
F FFF 90 90 YH HHH 90 90 V
H HHH 90 90 W
H HHH 90 90 Y
-
7/25/2019 Manual de Practicas SQL
16/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 16
Como podemos observar, la comparacin se efectu por las columnas C3 y CA,que son donde se encontraron valores iguales, el resultado muestra una tupla porcada coincidencia encontrada.
Cuando las consultas se anidan se conoce como Subquerys o subconsultas.
Este tipo de consulta obtiene resultados parciales reduciendo el espacio requeridopara realizar una consulta.
Nota:Todas las consultas que se resuelven con subquerys pueden resolverse conJoin de Querys, pero no todas las consultas hechas con Join de Querys puedenresolverse utilizando Subquerys.
Para ejemplificar lo anterior consideremos siguiente
Ejerc ic io: Tenemos la siguientes tablas de un a escuela
ALUMNO - cursa - MATERIA, que tienen los siguientes atributos:
NControl NControl ClaveNombreA Clave NombreMEspecialidad Calif CreditosDireccin
Representando en tablas a los atributos quedaran de la siguiente forma:
Tabla alumno:
NControlNombreAEspecialidadDireccin
Tabla cursa:
NControlClave Calif
Tabla materia:
ClaveNombreMCreditos
-
7/25/2019 Manual de Practicas SQL
17/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 17
Ejerc ic ios:
Obtener los nombres de los alumnos cuyas materias que cursan tienencrditos igual a ocho.
SELECT NombreAFROM AlumnoWHERE NControl IN(SELECT Ncontrol
FROM CursaWHERE Clave IN (SELECT Clave
FROM MateriaWHERE Creditos=8));
Obtener el nombre de la materia que cursa el alumno con nmero decontrol 97310211 con crditos igual a ocho.
SELECT NombreMFROM MateriaWHERE creditos=8 and clave IN(SELECT clave
FROM cursaWHERE NControl=97310211;
Obtener el nmero de control del alumno que tenga alguna calificacin iguala 100
SELECT DISTINCT NControlFROM CursaWHERE Calif=100;
Obtener el nombre de las materias que cursa el alumno Salvador Chvez.
SELECT NombreMFROM MateriaWHERE Clave IN(SELECT DISTINCT (Clave)
FROM CursaWHERE NControl IN(SELECT NControl)
FROM AlumnoWHERE NombreA=SalvadorChvez));
-
7/25/2019 Manual de Practicas SQL
18/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 18
5.- FUNCIONES DE AGREGACIN
Existen funciones que permiten la agilizacin de consultas similares a una hojade clculo, ya que trabajan en base a renglones y columnas.
COUNT (): Cuenta el nmero de tuplas en la columna establecidaMIN ( ):Localiza el valor mnimo de la columna establecidaMAX ( ):Localiza el valor mximo de la columna establecida.AVG ( ):Obtiene el promedio de valores de la columna establecidaSUM ( ):Obtiene el valor total que implican los valores obtenidos en la columnaestablecida.
Ejerc ic ios:
Obtener el nmero de alumnos que existen en la carrera de Ingeniera enSistemas Computacionales.
SELECT Count(*)FROM AlumnoWHERE especialidad=ISC;
Obtener la mximo calificacin que ha obtenido J.M. Cadena.
SELECT Max(Calif)FROM CursaWHERE NControl IN (SELECT NControl
FROM AlumnoWHERE NombreA= J.M. Cadena );
Obtener el promedio de calificaciones de Salvador Chvez.
SELECT Avg(Calif)FROM CursaWHERE NCotrol IN (SELECT NControl
FROM AlumnoWHERE NombreA=Salvador Chvez);
Obtener la suma total de las calificaciones obtenidas por Daniel Coln.
SELECT Sum(Calif)FROM CursaWHERE NControl IN (SELECT NControl
FROM AlumnoWHERE NombreA=Daniel Coln);
-
7/25/2019 Manual de Practicas SQL
19/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 19
Hasta aqu hemos visto el manejo sencillo de realizar consultas con SQL, hayque destacar que en la realizacin de consultas anidadas se tiene que ponercuidando a la prioridad de los operadores, teniendo cuidado tambin al momentode agrupar los parntesis que involucran las condiciones con los operadores.
6.- MODIFICACIN DE LA BASE DE DATOS
Como se mencion al inicio de este apartado del SQL, est cuenta con mdulosDDL, para la definicin de datos que nos permite crear o modificar la estructura delas tablas.
Las instrucciones para realizar estas operaciones son:
CREATE TABLE: Nos permite crear una tabla de datos vaca.INSERT:Permite almacenar registros en una tabla creada.UPDATE:Permite modificar datos de registros almacenados en la tabla.DELETE:Borra un registro entero o grupo de registros de una tabla.CREATE INDEX:Crea un ndice que nos puede auxiliar para las consultas.DROP TABLE:Permite borrar una tabla.DROP INDEX:Borra el ndice indicado.
Para ejemplificar las instrucciones anteriores consideremos el ejemplo
ALUMNO - cursa - MATERIA, que tienen los siguientes atributos:NControl NControl ClaveNombreA Clave NombreMEspecialidad Calif CreditosDireccin
6.1.- Estructura de la sentencia CREATE TABLE.
CREATE TABLE(Atributo 1: tipo de dato longitud ,Atributo 2: tipo de dato longitud ,Atributo 3: tipo de dato longitud ,::
Atributo n: tipo de dato longitud ,
-
7/25/2019 Manual de Practicas SQL
20/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 20
PRIMARY KEY(Opcional) ) ;
Los campos pueden definirse como NOT NULL de manera opcional excepto enla llave primaria para lo cual es obligatorio. Adems al definir la llave primaria segenera automticamente un ndice con respecto al campo llave; para definir lallave la denotamos dentro de los parntesis de PRIMARY KEY.
Ejerc ic io:
Crear la tabla alumno con los atributos antes descritos, tomando como llave elnmero de control.
CREATE TABLEAlumno( NControl char(8) NOT NULL,NombreA char(20),Especialidad char(3),Direccin char(30),
PRIMARY KEY(NControl) );
Tabla Alumno:
NControlNombreAEspecialidadDireccin
Puede existir ms de una llave primaria, esto es si se requiere, se crearntantos ndices como llaves primarias se establezcan.
Pueden existir tantos campos Not Null (No nulos) como se requieran; En siestructurar la creacin de una tabla es siempre parecida al ejemplo anterior.
6.2 Estructura de la sentencia INSERT
INSERTINTO Nombre de la tabla a la que se le va a insertar el registroVALUES (Conjunto de valores del registro);
Ejerc ic io: Insertar en la tabla Alumno, antes creada los datos del alumno Danielcoln, con numero de control 95310518 de la especialidad de Ingeniera civil, condomicilio Abasolo Norte #45.
INSERTINTO AlumnoVALUES("95310518","Daniel Coln","IC","Abasolo Norte #45") ;
-
7/25/2019 Manual de Practicas SQL
21/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 21
Ntese que la insercin de los datos se realiza conforme la estructura que seimplanto en la tabla, es decir en el orden en que se creo dicha tabla. En caso dequerer omitir un dato que no sean no nulos solamente se ponen las comillasindicando el vaco de la cadena.
6.3.- Estructura de la Sentencia CREATE INDEX
CREATE INDEX Nombre que se le asignara al ndice.ONNombre de la taba a la cual se le creara el ndice (Campo(s) por el cual se
creara el ndice);
Ejerc ic io: Crear un ndice de la tabla Alumno por el campo Especialidad.
CREATE INDEXIndice1ON Alumno(Especialidad);
Este ndice contendr a todos los alumnos ordenados por el campo especialidad.
CREATE INDEX UNIQUEINDEX Indice2ON Alumno (Especialidad);
En la creacin de este ndice utilizamos la sentencia UNIQUE, es un indicadorpara permitir que se cree un ndice nico por especialidad, esta sentencia siemprese coloca antes de CREATE INDEX. En este ejemplo se creara un ndice quecontenga un alumno por especialidad existente.
6.4.- Estructura de la sentencia UPDATE
UPDATENombre de la tabla en donde se modificaran los datos.SETValoresWHERE(Condicin);
Ejerc ic io: Modificar el nmero de control del registro de Daniel Coln de laTabla alumno por el nmero 96310518.
UPDATE AlumnoSET NControl 96310518
WHERE NombreA=Daniel Coln;
6.5.- Estructura de la sentencia DROP TABLE
DROP TABLENombre de la tabla a borrar;
Ejerc ic io: Borrar la tabla Alumno creada anteriormente.
-
7/25/2019 Manual de Practicas SQL
22/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 22
DROP TABLE Alumno;
6.6.- Estructura de la sentencia DROP INDEXDROP INDEX Nombre del ndice a borrar;
Ejerc ic io: Borrar el ndice Indice1 creado anteriormente.
DROP INDEX Indice1;
6.7.- Estructura de la sentencia DELETE
DELETEFROM Nombre de la tablaWHERE Condicin;
Ejercicio:- Borrar el registro cuyo nmero de control es 95310386.
DELETEFROM AlumnoWHERE Control=95310386;
- Borrar todos los registros de la tabla alumno.DELETEFROM Alumno;
En el primer ejemplo, se borrara todo el registro (todos los datos), del alumno connmero de control = 95310386.
En el segundo ejemplo se borraran todos los registros de la tabla alumno, pero sinborrar la estructura de la tabla, ya que la orden Delete solo borra registros, lasentencia Drop Tablees la que borra toda la estructura de la tabla junto con losregistros de la misma.
7.- VISTAS.
Una vista se define en SQL usando la orden CREATE VIEW. Para definir unavista debemos dar a la vista un nombre y declarar la consulta que calcula la vista.Una vez que establecemos una vista, podemos ejecutar una sentencia SELECTque referencie a esa vista. El sistema asociar la vista SQL con una tabla base yextraer y visualizar, entonces, los datos de la tabla base.
Esto significa que una vista no contiene datos duplicados de una tabla base. Notiene absolutamente ningn dato, puesto que no es una tabla real, todo el proceso
-
7/25/2019 Manual de Practicas SQL
23/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 23
se realiza con los datos almacenados en la tabla base. Es decir se percibe comouna 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.
7.1 Estructura de la sentencia CREATE VIEW.
CREATE VIEW Nombre de la vista AS (Expresin de consulta);
Para nuestros ejemplos consideremos de nuevo la tabla llamada CURSO, quecontiene los siguientes campos:
Tabla 7.1.- Tabla Curso
Nombre delcampo
Descripcin
NumC Nmero del curso, nico para identificar cadacurso
NombreC Nombre del curso, tambin es nico
DescC Descripcin del curso
Creditos Crditos, nmero de estos que gana alestudiante al cursarlo
Costo Costo del curso.
Depto Departamento acadmico que ofrece el curso.
Contenido de la tabla Curso
Que contiene los siguientes datos:
NumC NombreC DescC Creditos Costo Depto
A01 Liderazgo Para pblicoGeneral
10 100.00 Admn.
S01 Introduccin a la inteligencia artificial Para ISC y LI 10 90.00 Sistemas.
C01 Construccin de torres Para IC yArquitectura
8 0.00 Ciencias
-
7/25/2019 Manual de Practicas SQL
24/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 24
B01 Situacin actual y perspectivas de laalimentacin y la nutricin
Para IB 8 80.00 Bioqumica
E01 Historia presente y futuro de laenerga solar
IE e II 10 100.00 Electromecnica.
S02 Tecnologa OLAP Para ISC y LI 8 100.00 Sistemas
C02 Tecnologa del concreto y de lasEstructuras
Para IC 10 100.00 Ciencias
B02 Metabolismo de lpidos en elcamarn
Para IB 10 0.00 Bioqumica
E02 Los sistemas elctricos de potencia Para IE 10 100.00 Electromecnica
S03 Estructura de datos Para ISC y LI 8 0.00 Sistemas
A01 Diseo bioclimtico ParaArquitectura
10 0.00 Arquitectura
C03 Matemticas discretas General 8 0.00 Ciencias
S04 Circuitos digitales Para ISC 10 0.00 Sistemas
S05 Arquitectura de Computadoras Para ISC 10 50.00 Sistemas
I01 Base de Datos Relacionales Para ISC y LI 10 150.00 Informtica
Ejerc ic io:
* Crear una vista (tabla virtual), denominada CursosS, que contenga las filas solo
correspondientes a cursos ofrecidos por el departamento Sistemas. La vistadeber contener todas las columnas de la tabla CURSO, con la excepcin de lacolumna Depto, la secuencia, de izquierda a derecha de las columnas, deber ser:NombreC, NumC, Creditos, Costo Y DescC.
CREATE VIEW CursosS ASSELECT NombreC,NumC,Creditos,Costo,DescCFROMCURSOWHEREDescC=Sistemas;
Observemos que despus del nombre de la vista ponemos la sentencia AS,esto para definir la estructura de la vista, la estructura en si de la vista estaformada por la consulta anteriormente vista utilizando la orden SELECT.
* Crear una vista denominada CursosCaros, correspondientes a las filas de latabla CURSO, en donde la tarifa exceda de $150, las columnas de la vistadebern tener los nombres ClaveCurso, NombreCurso y CostoCaro.
-
7/25/2019 Manual de Practicas SQL
25/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 25
CREATE VIEWCursosSCaros(ClaveCurso,NombreCurso,CostoCaro) AsSELECT NumC,NombreC, CostoFROM CursoWHERE Costo > 150;
Observamos que despus del nombre de la vista CursosCaros ponemos losnombres que se nos pidieron tuvieran los campos de la vista(ClaveCurso,...),despus se realiza la consulta correspondiente para generar el resultado deseado.
Visualizar las vistas
Creamos una tabla virtual que contiene los datos de las consultas que deseamos,ahora nos falta visualizar estos datos, para ello utilizamos la sentencia SELECT yrealizamos la consulta:
SELECT *FROM CursosCaros;
De esta consulta podemos observar que mostramos todos los campos que la vistacontiene, aunque podemos visualizar solo alguno de ellos, tambin observamosque sustituimos el nombre de la vista por el de la tabla junto a la sentencia FROM,esto es por que una vista es una tabla virtual, pero guarda los datos comocualquier tabla normal.
7.2 Estructura de la sentencia DROP VIEW.
Eliminar una vista
Como si fuera una tabla normal, las vistas tambin pueden borrarse, para elloutilizamos la sentencia DROP VIEW.
Estructura de la sentencia DROP VIEW.
DROP VIEWNombre de la vista a borrar;
Ejercicio:Borrar la vista CursosCaros creada anteriormente.
DROP VIEWCursosCaros;
-
7/25/2019 Manual de Practicas SQL
26/26
Manual de prcticas: SQL
Martha Elizabeth Evangelista Salazar 26
BIBLIOGRAFIA:
Bibliografa bsica para el desarrollo de la Unidad:
Silbertschatz, A., Korth, Sudarshan S. (2002) Fundamentos de bases dedatos. Mxico. Mc Graw Hill, (Cuarta edicin).
Piatini Mario, Castaon Adoracin de Miguel. (1999). Fundamentos ymodelos de bases de datos. (Segunda edicin). Mxico. Alfaomega ra-ma.
R. Rebeca. (2000). Diseo de bases de datos relacionales con Access ySQL server. Mc. Graw Hill.
Bibliografa complementaria para el desarrollo de la Unidad:
Tutorial de SQL. (2012). SQL bsico. Fecha de consulta: Abril de 2013.Linkhttp://sql.11sql.com/
Cazares, Claudio. Tutorial de SQL. Fecha de consulta: Agosto 2013. Link:http://www.unalmed.edu.co/~mstabare/Sql.pdf
http://sql.11sql.com/http://sql.11sql.com/http://sql.11sql.com/http://www.unalmed.edu.co/~mstabare/Sql.pdfhttp://www.unalmed.edu.co/~mstabare/Sql.pdfhttp://www.unalmed.edu.co/~mstabare/Sql.pdfhttp://sql.11sql.com/