Vous êtes sur la page 1sur 29

III UNIDAD

LENGUAJE DE CONSULTAS ESTRUCTURADO.


El SQL (Structured query language), lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de
investigacin de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en un estndar de
lenguaje de bases de datos, y la mayora de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores
personales, hasta grandes ordenadores.
A partir de este estndar otros sistemas han desarrollado otras variantes de SQL, cambios que no suponen ninguna
complicacin para alguien que conozca un SQL, como el que se ve en este curso con: Access2010 y SQL Server 2008.
SQL nos permite realizar consultas a la base de datos, sin embargo SQL adems realiza funciones de definicin, control y
gestin de la base de datos.
Las sentencias SQL se clasifican segn su finalidad dando origen a tres lenguajes o mejor dicho sublenguajes:
1. DDL (Data Description Language), lenguaje de definicin de datos, incluye rdenes para definir, modificar o
borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que ms varia de un
sistema a otro).
Incluye al grupo de sentencias del SQL que soportan la definicin y declaracin de los objetos de la base de datos.
Objetos tales como: la base de datos misma(DATABASE), las tablas(TABLE), las Vistas (VIEW), los ndices (INDEX),
los procedimientos almacenados (PROCEDURE), los disparadores (TRIGGER),Reglas (RULE), Dominios (Domain) y
Valores por defecto(DEFAULT).
CREATE, ALTER y DROP
2. DCL (Data Control Language), lenguaje de control de datos, contiene elementos tiles para trabajar en un
entorno multiusuario, en el que es importante la proteccin de los datos, la seguridad de las tablas y el
establecimiento de restricciones en el acceso, as como elementos para coordinar la comparticin de datos por
parte de usuarios concurrentes, asegurando que no interfieren unos con otros.
Grupo de sentencias del SQL para controlar las funciones de administracin que realiza el DBMS, tales como la
atomicidad y seguridad.
COMMIT TRANSACTION, ROLLBACK TRANSACTION, GRANT REVOKE.
3. DML (Data Manipulation Language), lenguaje de manipulacin de datos, nos permite recuperar los datos
almacenados en la base de datos y tambin incluye rdenes para permitir al usuario actualizar la base de datos
aadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.
Grupo de sentencias del SQL para manipular los datos que estn almacenados en las bases de datos, a nivel de
filas (tuplas) y/o columnas (atributos). Ya sea que se requiera que los datos sean modificados, eliminados,
consultados o que se agregaren nuevas filas a las tablas de las base de datos.
INSERT, UPDATE, DELETE y SELECT.
Caractersticas del lenguaje
Una sentencia SQL es como una frase (escrita en ingls) que expresa: Lo que queremos obtener y de donde obtenerlo.
Todas las sentencias empiezan con un verbo (palabra reservada que indica la accin a realizar), seguido del resto de
clusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para
que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintctico como el que se
muestra a continuacin.
Las palabras en maysculas son palabras reservadas se tienen que poner tal cual y no se pueden utilizar para otro fin, por
ejemplo, en el diagrama de la figura tenemos las palabras reservadas SELECT, ALL, DISTINCT, FROM, WHERE.
Las palabras en minsculas son variables que el usuario deber sustituir por un dato concreto. En el diagrama tenemos
ncolumna, expresion-tabla y condicion-de-busqueda.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 63





PROCEDIMIENTO PARA IMPLEMENTACIN DE UNA BD.

PASO DESCRIPCIN
1
Definir en el disco duro, el rea fsica que contendr las tablas de la base de datos.
Sentencia SQL --> CREATE DATABASE.
2 Crear las diferentes tablas de la base de datos. Sentencia SQL --> CREATE TABLE
3
Insertar las filas de las diferentes tablas, sin violar la integridad de datos. Sentencia SQL -->
INSERT INTO.
4
Actualizar los datos que cambien con el tiempo en las diferentes tablas. Sentencia SQL -->
UPDATE.
5 Eliminar las filas que ya no se requieran en las diferentes tablas. Sentencia SQL --> DELETE
6
Realizar las consultas deseadas a las tablas de la base de datos a travs de la poderosa
sentencia de consultas del SQL, llamada SELECT.
7
Dar nombre a las consultas elaboradas en el paso No.6 cuando se requiera ocultar el diseo
y columnas de las tablas a travs de la creacin de vistas lgicas. Sentencia SQL ---->
CREATE VIEW.


ACT 9. ACTIVIDAD EN PLATAFORMA: 3 FORO EN LINEA: GENERALIDADES DEL LENGUAJE DE CONSULTA
ESTRUCTURADA EN LAS BASES DE DATOS.
Los alumnos, recuperan conocimientos previos sobre la programacin, analizan los cuestionamientos siguientes y
expresan respuestas personales sobre:
GENERALIDADES DEL LENGUAJE ESTRUCTURADO EN LAS BASES DE DATOS:
1. Que es SQL?
2. Que utilidad tiene SQL?
3. Describe 3 rdenes bsicas de SQL.
4. Cuales son los 3 lenguajes en que se apoya SQL?
5. Menciona 3 herramientas de software que reconocen el uso del SQL?
Los comentarios vertidos deben ser breves, claros y concretos, adems los alumnos pueden corregir conceptos imprecisos
manifestados por otros compaeros, as mismo deber evitarse confrontaciones personales y no utilizar lenguaje obsceno
ni ofensivo, manteniendo en todo momento una actitud de cordialidad respeto.
Nota: favor de no poner texto con fondo de color, por ser ilegible, adems los foros no incluyen conclusiones, ya que en
algunos casos, se ha observado que algunos foristas expresan sus intervenciones con estas caractersticas no deseadas.

PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 64

INTRODUCCIN A SQL

INTRODUCCIN
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base
de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del mtodo
OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo
Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a travs para manipular
bases de datos remotas cliente - servidor.

COMPONENTES DE SQL
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

COMANDOS
Existen dos tipos de comandos SQL:
Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

COMANDOS DLL
Comando Descripcin
CREATE Utilizado para crear nuevas tablas, campos e ndices.
DROP Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la definicin de los
campos.

COMANDOS DML
Comando Descripcin
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.
INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
UPDATE Utilizado para modificar los valores de los campos y registros especificados.
DELETE Utilizado para eliminar registros de una tabla de una base de datos.

CLUSULAS
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular
Clusula Descripcin
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros.
WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar.
GROUP BY Utilizada para separar los registros seleccionados en grupos especficos.
HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo.
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico.




PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 65

OPERADORES LGICOS
Operador Uso
AND Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas.
OR Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdar si alguna de las dos es cierta.
NOT Negacin lgica. Devuelve el valor contrario de la expresin.

OPERADORES DE COMPARACIN
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor Igual que
>= Mayor Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparacin de un modelo
In Utilizado para especificar registros de una base de datos


FUNCIONES DE AGREGADO
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor
que se aplica a un grupo de registro
Funcin Descripcin
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el nmero de registros de la seleccin
SUM Utilizada para devolver la suma de todos los valores de un campo determinado
MAX Utilizada para devolver el valor ms alto de un campo especificado
MIN Utilizada para devolver el valor ms bajo de un campo especificado


SENTENCIAS BSICAS:
SENTENCIA CREATE
Dentro del Lenguaje de Definicin (DL) del SQL, la sentencia CREATE permiten la definicin o creacin de muchos objetos
de la base de datos tales como: tablas (esquemas), ndices, vistas, dominios, ligaduras de integridad y procedimientos.
CREATE DATABASE
Cuando comenzamos a crear nuestra base de datos en el servidor, el primer paso del montaje es crear la base de datos.
Hasta que no creamos la base de datos no podemos comenzar a crear las tablas y dems elementos. La creacin de la
base de datos se har una nica vez. Normalmente el proceso de creacin se hace desde el entorno visual del sistema
gestor pero no existe ningn inconveniente en hacerlo utilizando comandos SQL. Si lo hacemos desde SQL el comando de
creacin es CREATE DATABASE, y su sintaxis:
CREATE DATABASE nombre_base_datos
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 66

La sintaxis de CREATE DATABASE admite muchos ms parmetros aunque normalmente no se utilizan.
En los sistemas gestores a la hora de crear nuestra base de datos debemos de estar situados en la base de datos del
sistema, en la mayora de los sistemas llamada master. Esto es as porque en ella se introducir la informacin de las
propiedades de nuestra base de datos, la que terminamos de crear.

CONNECT DATABASE
Una vez, cada vez que queramos trabajar con ella tendremos que establecer la conexin entre nuestro cliente de
SQL y el servidor de SQL. Este proceso, al igual que el proceso de creacin, se suele realizar desde el interfaz grfico.
Normalmente el sistema gestor nos ofrece un men desplegable con todas las bases de datos existentes donde
seleccionamos la base de datos con la que vamos a trabajar. El comando SQL equivalente a este proceso es CONNECT, y
su sintaxis:
CONNECT DATABASE nombre_base_datos
Con el comando CONNECT s vamos a encontrar diferencias importantes dependiendo del sistema gestor con el que
trabajemos. Por ese motivo normalmente se realiza desde el interface grfico.
Para borrar una base de datos, tan sencillo como:
DROP DATABASE nombre_base_datos
CREATE TABLE
Para la creacin de los esquemas o lo que es lo mismo las tablas que contendrn los datos de la base de datos, debemos
utilizar la sentencia CREATE TABLE.
La sentencia CREATE TABLE, define el nombre de la tabla, las columnas con su tipo de datos, las ligaduras de intengridad
que vigilan el valor que se guarde como dato en las columnas o atributos sean llaves o no, su sintaxis es:
CREATE TABLE nombre_tabla
(
columna1 tipo_dato,
columna2 tipo_dato,
... ...,
columna tipo_dato,
CONSTRAINT cp_nombre_tabla PRIMARY KEY (columna1,...,columnan),
[CONSTRAINT cal_nombre_tabla UNIQUE (columna1,...,columanan),
[CONSTRAINT caj_nombre_tabla FOREIGN KEY (columna1,...,columnan) REFERENCES tabla]
)
Las posibilidades de CREATE TABLE son muchas ms de las mencionadas en la lista anterior pero realmente no son
utilizadas.
Por defecto, cuando creamos una tabla todos los campos de la tabla admitirn valores nulos. En principio es lo adecuado.
Solamente encontraremos problemas con los campos que sean claves primarias o alternativas, puesto que por definicin
estos campos siempre tiene que tener valor, nunca pueden estar vacos. Por ello, en estas columnas estaremos obligados
a aadirles la opcin NOT NULL, que obliga a que esos campos no admitan valores nulos. Esa opcin tambin tendremos
que utilizarla en los campos que sean claves ajenas y estemos obligados a que todos los registros de nuestra tabla estn
relacionados a travs de esa clave ajena. La forma de utilizacin es muy sencilla:
columna1 tipo_dato NOT NULL, Ahora vamos a conocer los tipos de datos que podemos aplicar a los campos. SQL nos
ofrece gran variedad de tipos de datos, aunque como ocurre siempre, nos acostumbramos a utilizar unos pocos y si en
alguna ocasin necesitamos plasmar alguna situacin un poco ms especial recurrimos a la ayuda de SQL para ver ms
detalladamente otros tipos de datos o nos creamos los nuestros propios.
Integer enteros comprendidos entre -231 (-2.147.483.648) y 231 - 1 (2.147.483.647).
Smallint enteros comprendidos entre 215 (-32.768) y 215 - 1 (32.767).
Tinyint enteros comprendidos 0 y 255.
Real flotantes comprendidos entre -3,40E + 38 y 3,40E + 38.
Datetime fechas.
Char caracteres fijos hasta 8.000.
Varchar caracteres variables hasta 8.000.
Text caracteres variables hasta 231 - 1 (1.147.483.647).
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 67

La diferencia entre caracteres fijos (Char) y caracteres variables (Varchar) estriba en que si nosotros hacemos con Char
una reserva de memoria de 50 posiciones y al introducir datos solamente utilizamos 20, el resto ser memoria
desperdiciada, mientras que si hemos realizado la reserva utilizando Varchar, caracteres variables, si al final solamente
utilizamos 20, el resto de memoria ser liberada. Lo ms adecuado es utilizar siempre para caracteres Varchar, utilizando
Char solamente en aquellos casos en que sepamos de antemano que siempre se va a consumir todo el espacio
reservado, como podran ser campos como los nmeros de telfono, cdigos de texto de tamao fijo, etc.
Si en algn momento necesitamos tener un campo entero que sea autonumrico, es decir, que el sistema gestor vaya
controlando su valor e incrementndolo o decrementndolo de forma automtica, sin que nosotros tengamos que
preocuparnos por ello, tenemos que utilizar la opcin IDENTITY. Esta opcin necesitar dos parmetros, la inicializacin,
el valor por el que tiene que comenzar, y el incremento, en el que indicamos el valor de incremento, tanto si es positivo
como negativo. Su sintaxis:
columna1 integer identity (1,1),
Segn el ejemplo anterior, el campo columna1, ser un autoincrementable que comenzar en el valor 1 e ir
incrementando de uno en uno.
Y como no hay mejor forma de aprender que trabajando un poco, vamos a ver como seran los comandos SQL para la
creacin de nuestras tablas de ejemplo.
Create table Clientes
(
DNI char(9) not null,
Nombre varchar(50),
Direccion varchar(60),
Ciudad varchar(30),
CP char(5),
Telefonochar(9),
constraint cp_Clientes primary key (DNI)
)
Fijmonos en la creacin de tabla que acabamos de realizar, y destaquemos algunos detalles. El DNI es la clave primaria,
as queda definido en la ltima lnea de la instruccin de creacin de la tabla, adems, a esta clase, se le ha dado el
nombre de cp_Clientes, como ya se haba recomendado en el apartado de Convenciones de diseo. Si la clave primaria
de nuestra tabla Clientes es el DNI, por definicin este campo nunca podr contener valores nulos, por lo que vamos a
tener que indicrselo, indicacin que hacemos, tal como se aprecia en el listado, aadindole al campo la opcin NOT
NULL.
create table Facturas
(
Numero integer identity (1,1) not null,
Fecha datetime,
Total real,
DNI char(9),
constraint cp_Facturas primary key (Numero),
constraint caj_Facturas foreign key (DNI) references Clientes
)
En la creacin de la tabla Facturas nos encontramos con el comando IDENTITY, que indica que el nmero de factura se ir
generando automticamente comenzando por el nmero de factura 1 y creciendo de uno en uno. Tambin nos
encontramos la definicin de una clave ajena, el campo DNI ser una clave ajena qe relacione una factura con un cliente.
create table Articulos
(
Codigo integer not null,
Nombre varchar(40),
PrecioCompra real,
IVA real,
constraint cp_Articulos primary key (Codigo)
)
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 68

create table LineasFactura
(
Numero integer identity(1,1) not null,
Factura integer not null,
Cantidadinteger,
Articulointeger not null,
Precio real,
Total real,
constraint cp_LineasFactura primary key (Numero),
constraint caj_LineasFactura1 foreing key(Factura) references Facturas,
constraint caj_LineasFactura2 foreing key(Articulo) references Articulos
)
Aqu nos encontramos con la existencia de dos claves ajenas, como podemos ver sus nombres son el mismo solamente
que numerados para que no haya error. Adems a los campos de estas dos claves ajenas se les ha asignado la
caracterstica de no poder tomar valores nulos. Por lo tanto, siempre que exista una lnea de factura sta va a tener que
pertenecer a una factura y ser de la venta de un artculo, no pueden existir lneas de factura que no cumplan estas
condiciones.
En realidad el comando CONSTRAINT no es de obligado cumplimiento, podramos definir claves, tanto ajenas como
primarias sin la necesidad de utilizar CONSTRAINT pero no podramos darles un nombre a dichas claves. En siguientes
apartados veremos que inconveniente se nos plantea si tomamos la determinacin de no dar nombre a nuestras claves.

INSERCCIN, MODIFICACIN Y BORRADO DE DATOS (INSERT,UPDATE,DELETE)
Una vez creadas las tablas podemos comenzar a trabajar con los datos, insertando, modificando y borrando datos. A
continuacin la sintaxis de cada uno de los procesos respectivamente:

INSERT INTO tabla [(columna1,...,columnan)] VALUES (valor1,...,valorn)
UPDATE tabla SET columna1=valor1,...,columnan=valorn WHERE condicion
DELETE FROM tabla WHERE condicion

Bueno, esta sintaxis parece ms sencilla que la vista en el apartado anterior. El comando INSERT no tiene ningn secreto,
es muy sencilla su forma. Donde podemos encontrar algn problema es con la actualizacin y el borrado, problema en el
sentido de entender y a posteriori determinar correctamente la condicin de la clusula WHERE. Las filas de la tabla que
cumplan la condicin de la clusula where ser las filas que sufran la actualizacin o el borrado dependiendo del
comando utilizado. Vamos a unos ejemplos.
Insert into Clientes (DNI,Nombre,Direccion,Ciudad,CP,Telefono) values (21547789,Agapito Lafuente Corral,c./La
plaza nueva,Alicante,03005,987785655)
Insert into Clientes (12456445,Maria del mar Sanchez Juan,c./La marina,Madrid,25455,887452114)
En la segunda insercin se me ha olvidado poner los nombres de los campos de la tabla, pero no es incorrecto. Si cuando
realizamos una insercin sta afecta a todos los campos de la tabla no es necesario que indiquemos los nombre de los
mismos, solamente es necesario cuando vayamos a realizar inserciones en las que algunos campos del nuevo registro no
vayamos a rellenarlos, es este caso esos campos en blanco quedarn definidos con el valor NULL. Aqu hay que hacer una
pequea llamada de atencin. Podemos perfectamente hacer inserciones que solamente afectan a un subconjunto de los
campos de un registro y el resto dejarlo en blanco, pero tenemos que tener la precaucin de nunca dejar en blanco
ningn campo que hayamos definido como NOT NULL, nos dara un error y no realizara la insercin.

/* Actualiza la direccin y el CP del cliente con DNI 21547789 */
Update Clientes set Direccion=Plaza Mayor, CP=66789 where DNI=21547789
/*Borra el cliente con DNI 12456445 */
Delete from Clientes where DNI=12456445
/* Borra todos los clientes de los que no tengamos nombre */
Delete from Clientes where Nombre is NULL

PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 69

Como podemos apreciar en los ejemplo de los borrados y actualizaciones, utilizar estos procedimientos no tiene, al igual
que las inserciones, una gran complicacin. El pequeo problema, en los dos primeros, estriba en la clusula WHERE. Los
ejemplos mostrados nos ensean como utilizar WHERE en sus posibilidades ms sencillas, obviamente, podramos
generar condiciones de borrado y actualizacin algo ms complejas.
Dejo para el artculo del prximo nmero de la revista Sntesis el abordar casusticas ms complejas de la clusula, donde
conoceremos con detalle toda su potencia. No obstante voy a citar, junto con algn ejemplo ms, algunos de los
operadores que podemos utilizar en ella:
AND Es el y lgico.
OR Es el o lgico.
NOT Es el negador lgico.
<, >, <=, >=, =, <> Son los comparadores.
BETWEEN Especifica un intervalo de valores.
LIKE Compara con un modelo. Ver tabla apartado Creacin de reglas para datos.
IN Compara con una lista de datos.
/* Borra todas las facturas emitidas antes del 1/1/2000 */
Delete from Facturas where fecha < 1/1/2000
/* Actualiza el valor del descuento al 25% a todos los clientes cuya ltima compra est
entre 200000 y 300000 pesetas */
Update Cliente set descuento=25 where total_ultima_compra between 200000 and 300000
/* Borra todos los articulos cuyo cdigo comienza por 210 */
Delete from Articulos where codigo like 210%

MODIFICAR Y BORRAR UNA TABLA (ALTER TABLE, DROP TABLE)
Si necesitamos borrar una tabla, situacin que se da en raras ocasiones, el comando es:
DROP TABLE nombre_tabla
Con todo el trabajo que lleva crear una tabla y lo fcil que es borrarla. Hay que llevar cierta precaucin si la tabla se
encuentra relacionada con otras tablas.
Y ahora, para el borrado de la tabla, vamos a continuar con nuestra lnea normal, ALTER TABLE.
ALTER TABLE, sirve para realizar modificaciones de definicin sobre las tablas ya generadas, modificaciones aadiendo o
eliminando campos o claves. Su sintaxis:
ALTER TABLE tabla {ADD {COLUMN tipo de campo[(tamao)]
[CONSTRAINT indice]
CONSTRAINT indice multicampo} |
DROP {COLUMN campo CONSTRAINT nombre del indice} }
Unos ejemplos:
/* Agrega un campo Comentario a la tabla Clientes */
Alter table Clientes add column Comentario varchar(255)
/* Elimina el campo IVA de la tabla Articulos */
Alter table Articulos drop column IVA
/* Aade un campo CIF a la tabla Articulos y despus lo convierte en clave ajena para relacionar cada artculo con el
proveedor que lo suministra. El CIF es el identificador de un proveedor */
Alter table Articulos add column CIF char(9)
Alter table Articulos add constraint caj_Articulos foreing key (CIF) references Proveedores
/* Aunque no tenga sentido, borraremos la clave ajena de la tabla LineasFactura a la tabla Factura */
Alter table LineasFactura drop constraint caj_LineasFactura1

En el apartado donde hemos explicado como se crean las tablas se ha comentado que cuando se genera una clave, bien
sea ajena, primaria o alternativa, el comando CONSTRAINT no es obligatorio incluirlo aunque si recomendable, ahora
podemos darnos cuenta del por qu. Si no utilizamos CONSTRAINT no podremos poner un nombre a la nueva clave
generada, si la clave no dispone de nombre despus no podremos tratarla con otros comandos como son los vistos en
este apartado. No cuesta nada, al generar las claves, otorgarles un nombre, y podemos evitar problemas ms adelante.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 70

CONSULTAS DE SELECCIN
Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos, esta
informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este
conjunto de registros es modificable.

CONSULTAS BSICAS
La sintaxis bsica de una consulta de seleccin es la siguiente:
SELECT Campos FROM Tabla;

En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo:
SELECT Nombre, Telefono FROM Clientes;
Esta consulta devuelve un recordset con el campo nombre y telfono de la tabla clientes.

ORDENAR LOS REGISTROS
Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clasula
ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar.

Ejemplo:
SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Nombre;
Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes ordenados por el campo Nombre.

Se pueden ordenar los registros por mas de un campo, como por ejemplo:
SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal, Nombre;
Incluso se puede especificar el orden de los registros: ascendente mediante la clasula ( ASC -se toma este valor por
defecto) descendente ( DESC )
SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal DESC , Nombre ASC ;

CONSULTAS DE PREDICADO
El predicado se incluye entre la clasula y el primer nombre del campo a recuperar, los posibles predicados son:
Predicado Descripcin
ALL Devuelve todos los campos de la tabla.
TOP Devuelve un determinado nmero de registros de la tabla.
DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente.
DISTINCTROW Omite los registros duplicados basandose en la totalidad del registro y no slo en los campos seleccionados.

ALL
Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona todos los registros que
cumplen las condiciones de la instruccin SQL. No se conveniente abusar de este predicado ya que obligamos al motor de
la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene, es mucho ms rpido indicar
el listado de campos deseados. SELECT ALL FROM Empleados;
SELECT * FROM Empleados;
TOP
Devuelve un cierto nmero de registros que entran entre al principio o al final de un rango especificado por una clusula
ORDER BY. Supongamos que queremos recuperar los nombres de los 25 primeros estudiantes del curso 1994:

SELECT TOP 25 Nombre, Apellido FROM Estudiantes ORDER BY Nota DESC ;

Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de 25 registros de la tabla Estudiantes
.El predicado TOP no elige entre valores iguales. En el ejemplo anterior, si la nota media nmero 25 y la 26 son iguales, la
consulta devolver 26 registros. Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 71

registros que caen al principio o al final de un rango especificado por la clusula ORDER BY. Supongamos que en lugar de
los 25 primeros estudiantes deseamos el 10 por ciento del curso:
SELECT TOP 10 PERCENT Nombre, Apellido FROM Estudiantes ORDER BY Nota DESC ;
El valor que va a continuacin de TOP debe ser un Integer sin signo.TOP no afecta a la posible actualizacin de la
consulta.
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada campo
listado en la instruccin SELECT se incluyan en la consulta deben ser nicos.
Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el mismo apellido. Si dos registros contienen
Lpez en el campo Apellido, la siguiente instruccin SQL devuelve un nico registro:
SELECT DISTINCT Apellido FROM Empleados;

Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la clusula SELECT
posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT no es actualizable y no refleja los
cambios subsiguientes realizados por otros usuarios.
DISTINCTROW
Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior que slo se fijaba en el contenido de
los campos seleccionados, ste lo hace en el contenido del registro completo Independientemente de los campos
indicados en la clusula SELECT.
SELECT DISTINCTROW Apellido FROM Empleados;

Si la tabla empleados contiene dos registros: Antonio Lpez y Marta Lpez el ejemplo del predicado DISTINCT devuleve
un nico registro con el valor Lpez en el campo Apellido ya que busca no duplicados en dicho campo. Este ltimo
ejemplo devuelve dos registros con el valor Lpez en el apellido ya que se buscan no duplicados en el registro completo.

ALIAS
En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto,
otras veces por simple capricho o por otras circunstancias. Para resolver todas ellas tenemos la palabra reservada AS que
se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior
podemos hacer que la columna devuelta por la consulta, en lugar de llamarse apellido (igual que el campo devuelto) se
llame Empleado. En este caso procederamos de la siguiente forma:
SELECT DISTINCTROW Apellido AS Empleado FROM Empleados;

RECUPERAR INFORMACIN DE UNA BASE DE DATOS EXTERNA
Para concluir este captulo se debe hacer referencia a la recuperacin de registros de bases de datos externa. Es
ocasiones es necesario la recuperacin de informacin que se encuentra contenida en una tabla que no se encuentra en
la base de datos que ejecutar la consulta o que en ese momento no se encuentra abierta, esta situacin la podemos
salvar con la palabra reservada IN de la siguiente forma:

SELECT DISTINCTROW Apellido AS Empleado FROM Empleados IN c:\databases\gestion.mdb';
En donde c:\databases\gestion.mdb es la base de datos que contiene la tabla Empleados.



PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 72

SENTENCIAS DE CONSULTA SQL EN MS-ACCESS

PRCTICA N22: SQL CREACIN DE TABLAS EN MS ACCESS
BGGNL222.AADB
1. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, Crea en el SGBD en tu ruta una BD en blanco con
nombre: BGGNL222.AADB.
2. CREAR TABLA EN SQL: Cierra el archivo de tabla1 generado y aplica de la cinta de opciones de Access: Crear+Diseo
de consulta, cierra la caja de dilogo mostrar tabla y cambia a vista SQL, en el rea de trabajo escribe el siguiente
conunto de rdenes o cdigo:





3. Despus de capturarlo correctamente aplique de la cinta de opciones la ficha: Herramientas de consulta: Ejecutar ! ,
guarde consulta1 como Consulta1NL y djela abierta para efectos de comparacin, as mismo verifique en el panel de
navegacin su tabla recin creada exista.
4. AADIR REGISTRO: Elija Crear+Diseo de consulta, en el cuadro mostrar tabla: agregue la tabla empleados y cierre
esa ventana, cambie a vista SQL, escribe en la ventana de edicin de la consulta SQL el siguiente cdigo:

5. Aplique en la ficha: Herramientas de consulta: Ejecutar ! y verifique que la tabla EMPLEADOSNL presente un registro
de contenido, ingresado mediante SQL (Lenguaje estructurado de consultas), guarde esta consulta como
Consulta2NL.
6. Repitiendo la orden INSERT INTO agregue un total de 5 registros a la tabla en cuestin, de tal manera que el
contenido sea el siguiente:







7. ELIMINAR REGISTRO: Elija Crear+Diseo de consulta, en el cuadro mostrar tabla: agregue la tabla empleados y cierre
ventana dilogo, cambie a vista SQL, escribe en la ventana de edicin de la consulta SQL el siguiente cdigo:


8. Ejecute su consulta, observe que se eliminarn los registros 4 y 5 que cumplen la condicin Sueldo<12000 y gurdela
con el nombre Consulta3NL.











PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 73

PRCTICA N23: CONSULTAS SQL EN BD EN MS ACCESS
BGGNL223.AADB
9. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, recupera de esta, el archivo de BD:
BD222.AADB y cpialo a la carpeta local de trabajo local previamente abierta.
10. Abre en el SGBD la BD local: BGGNL222 .AADB, verifica que en el panel de navegacin de Access despliegue la Tabla:
TEmplea2.


11. Aplique men Crear+Diseo de consulta, seleccione la tabla TEmplea2, en la barra de estado cambie al vista SQL.
12. CONSULTA1NL: Aparece la ficha Consulta1 con las instrucciones de lenguaje de consulta estructurado (SQL):
SELECT FROM TEmplea2; modifquela por: SELECT NSS, nombre, puesto, sueldo FROM TEmplea2;


13. Pulse de la Ficha Herramientas de consulta la cinta opciones: Ejecutar, analice y realice observaciones de los
resultados obtenidos, guarde esta consulta con el nombre Consulta1NL.
14. CONSULTA2NL: Cree otra nueva consulta, con la tabla: TEmplea2, cambie al modo vista SQL y edite la consulta por la
siguiente instruccin: SELECT * FROM TEmplea2;
15. Aplique Ejecutar, analice y realice observaciones de los resultados obtenidos, guarde esta consulta con el nombre
Consulta2NL.
16. CONSULTA3NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente
instruccin:
SELECT * FROM TEmplea2 WHERE nombre="carlos C.";
17. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre
Consulta3NL.
18. CONSULTA4NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente
instruccin:
SELECT DISTINCT NSS FROM TEmplea2;
19. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre
Consulta4NL.
20. CONSULTA5NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente
instruccin:
SELECT * FROM TEmplea2 WHERE puesto ='supervisor' AND sueldo>3000;
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 74

21. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre
Consulta5NL.
22. Registre sus observaciones en la siguiente tabla:
CONSULTA INFORMACIN DESPLEGADA
1.
2.
3.
4.
5.
23. Por ltimo, guarde la Base de Datos BGGNL223.AADB que incluye relaciones, consulta formularios e informes y suba
al servidor de red para efectos de evaluacin.


ACT 10. ACTIVIDAD EN PLATAFORMA: INVESTIGACIN Y EXPOSICIN: CONCEPTOS, CARACTERSTICAS Y APLICACIONES
DEL SQL.
Los alumnos integrados en equipos de 5, realizan el diseo y exposicin de una presentacin electrnica en Power Point
con nombre: (BGGNL_XX.PPT), de uno de los temas abajo especificados y previamente asigandos por el Facilitador,
debiendo contener: Portada con datos del tema y alumnos participantes por nmero de lista, Desarrollo (tpicos
detallados en la relacin) y Conclusiones de equipo, la diapositiva de desarrollo deber contener los siguientes elementos
relacionados a continuacin:
CONCEPTOS, CARACTERSTICAS Y APLICACIONES DEL SQL
1. SQL Server.
2. SQL Server Management Studio.
3. SQLDbx.
4. MySQL.
5. DDL (Data Description Language).
6. DCL (Data Control Language).
7. DML (Data Manipulation Language).
8. Transact-SQL.
9. Funciones: Count, Min, Max, Sum, Avg, Grpup by, Insert into, Update,
Delete, Truncate.
10. Ejemplo de aplicacin de SQL.
Que deber subir cada representante de equipo a plataforma, la ltima diapositiva, incluir conclusiones de equipo, subir
documento electrnico a plataforma acadmica, aplicando especificaciones previamente descritas para efectos de
evaluacin.

PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 75

PRCTICA N24: TABLAS Y ADICIN DE REGISTROS CON SQL EN MS-ACCESS
BGGNL224.AADB
1. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, e inicia el SGBD la BD MS Access, crea la Base de
datos en blanco con el nombre BGGNL224.AADB.
2. CREACION DE TABLAS: Si tienes alguna tabla u objeto abierto cirralos, selecciona Men Crear + Diseo de consultas,
te desplegar la caja de dilogo: Mostrar tabla, cirrala, posicionado en la ventana de Consulta, aplica vista modo
SQL, debers completar la siguiente orden correctamente:




3. Una vez escrito el conjunto de instrucciones, pulsa de la cinta de opciones: Ejecutar !, observa en el panel de
navegacin que a partir de SQL (Lenguaje de consultas estructurado) y desde la ventana consulta has creado la tabla:
LIBROSNL, cierra y guarda consulta1 y renmbrala como Consulta1NL.
4. IMPORTAR TABLAS: Recupera de Recursos acadmicos del servidor: \PROGRAMACION\MOD01\SUB02\PRAC, el
archivo de BD: BD224.XLSX, las tablas LIBROS(5) y LIBROS(10).
5. INGRESAR UN REGISTRO: aplica Crear+Diseo de consulta, te despliega el cuadro mostrar tabla, agrega LIBROSNL y
cierra el cuadro de dilogo, cambia a vista SQL, escribe el siguiente conjunto de rdenes:

6. Verifica que se ha aadido un registro a tu tabla LIBROSNL, guarda la consulta2 con el nombre Consulta2NL.
7. AADIR REGISTROS DESDE OTRAS TABLAS: aplica Crear+Diseo de consulta, en el cuadro mostrar tabla, agrega
LIBROS(5), cirralo, cambia a vista SQL, y escribe las siguientes rdenes:

8. Te indicar que se han aadido 5 nuevas filas a tu tabla LIBROSNL, verifica la adicin de 5 registros ms a LIBROSNL,
guarda tu consulta3 con el nombre Consulta3NL y repite la operacin para agregar los registros de la tabla
LIBROS(10), guarda tu consulta4 como Consulta4NL y verifica tengas 16 registros ordenados en tu tabla LIBROSNL.
9. Cierra todos tus archivos, consultas y tablas, guardndolos respectivamente, por ltimo, guarde la Base de Datos
BGGNL224.AADB y suba al servidor de red para efectos de evaluacin.















PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 76



Una sentencia vlida se construye siguiendo la lnea a travs del diagrama hasta el punto que marca el final. Las lneas se
siguen de izquierda a derecha y de arriba abajo. Cuando se quiere alterar el orden normal se indica con una flecha.

Cmo se interpretara el diagrama sintctico de la figura?

Hay que empezar por la palabra SELECT, despus puedes poner ALL o bien DISTINCT o nada, a continuacin un nombre
de columna, o varios separados por comas, a continuacin la palabra FROM y una expresin-tabla, y por ltimo de forma
opcional puedes incluir la clusula WHERE con una condicin-de-bsqueda.

Por ejemplo:
SELECT * col1,col2,col3 FROM mitabla
SELECT col1,col2,col3 FROM mitabla
SELECT DISTINCT col1 FROM mitabla
SELECT col1,col2 FROM mitabla WHERE col2 = 0

Todas estas sentencias se podran escribir y no daran lugar a errores sintcticos.

Cuando una palabra opcional est subrayada, esto indica que ese es el valor por defecto (el valor que se asume si no se
pone nada). En el ejemplo anterior las dos primeras sentencias son equivalentes (en el diagrama ALL aparece subrayada).





PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 77

PRCTICA N25: INSTALACIN Y ENTORNO DEL SQL SERVER
BGGNL225.DOC




1. El Facilitador, realiza una instalacin del Software MS SQL Server 2008 y explica paso a paso el procedimiento de
instalacin y configuracin.
2. Crea un archivo nuevo de Word con el nombre GBBNL225.DOC, que incluya datos del alumno como se especific con
anteioridad:
1. Nombre de la escuela.
2. Nombre del alumno, nl, gpo, especialidad.
3. Nombre y nmero de la prctica.
4. Nombre del facilitador.
3. Los alumnos elaboran un reporte que detalle, explica e incluya imgenes de pantalla del procedimiento expuesto por
el facilitador, para ello deber contener los siguientes conceptos:

1. Conceptos de MS SQL Server.
2. Caractersticas de SQL Server.
3. Diferencias entre las ediciones: Enterprise, Standard, Workgroup, Developer y Express.
4. Requerimientos de Hardware.
5. Requerimientos de Software.
6. Pantallas de la instalacin.
7. Opciones de configuracin.
8. Otras versiones comerciales de SQL.




4. Al final, guarde tu archivo BGGNL225.DOC y suba al servidor de red para efectos de evaluacin.




PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 78

PRCTICA N26: CLIENTES SQL SERVER: MANAGEMENT STUDIO y SQLDBX
BGGNL226.DOC


1. El Facilitador, realiza explicacn sobre el manejo de los Softwares clientes de SQL: Microsoft SQL Server 2008
management Studio y SQLDBX, explica el manejo de este par de aplicaciones, funcionaldad, ventajas y desventajas.
2. Crea un archivo nuevo de Word con el nombre GBBNL226.DOC, que incluya datos del alumno como se especific
anteiormente.
3. El reporte debe contener los siguientes conceptos:
1. Descripcin de Microsoft SQL Server Management Studio.
2. Caractersticas del Management Studio.
3. Utilida y funcionamiento.
4. Requerimientos de Hardware y Software.
5. Pantallas de la instalacin.
6. Descripcin de SQLDBX.
7. Caractersticas de SqlDbx.
8. Soporte DBMS.
9. Utilidad y funcionamiento.
10. Requerimientos de Hardware y Software.
11. Pantallas de la aplicacin.







4. Al final, guarde tu archivo BGGNL226.DOC y suba al servidor de red para efectos de evaluacin.




PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 79

CUESTIONARIO DE COMPLEMENTO (Actividad individual):
1. Describa caractersticas y diferencias de los SGBD MS Access y SQL Server.
2. Describa caractersticas y diferencias de los SGBD SQL Server y MySQL.
3. Diferencias entre los tipos de datos Char y VChar






ACT 11. ACTIVIDAD EN PLATAFORMA: ACTIVIDAD DE EMAPREJAMIENTO CONCEPTOS AVANZADOS DE SQL.
Los alumnos resuelven individualmente la actividad de relacionar columnas o emaprejamiento correctamente y
propuesta en la liga:
http://cursos.cbtis4.edu.mx/file.php/93/interactivos/Ac11_S02Un03.htm/
En un tiempo no mayor de 15 min. correctamente, al finalizar debe pulsar una sola vez el botn Comprobar para
generar el resultado con las respuestas correctas, para no ser penalizado, as mismo una vez resuelta la actividad
con el resultado visible, no cerrar la pantalla con el resultado, ya que debes capturar la pantalla con la
calificacin legible, cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla), misma que es el
registro o evidencia de resolucin del mismo.
Para ello, debe elaborar individualmente un documento de Word con el nombre (BGGNLXX.DOC), en el que debes
pegar la imagen previamente capturada del Emarejamiento, as mismo liste y definacon mayor amplitud cada uno de
los trminos correctos de la actividad, por ltimo, no olvide anotar conclusiones personales al final de su documento
a subir en plataforma acadmica.





ACT 12. ACTIVIDAD EN PLATAFORMA: CUESTIONARIO EN LINEA: SQL Y LAS BASES DE DATOS.
El siguiente cuestionario consta de 20 preguntas de opcin mltiple, emparejamiento, falso y verdadero y respuesta
breve (solo las palabras necesarias y lgicas de cada respuesta), se sugiere contestar en MAYSCULAS, su resolucin
deber realizarse en solo un intento y con un tiempo lmite de duracin de 30 min.
Debes contestar cada pregunta y al final pulsar el botn: Enviar todo y terminar de la parte baja de la pgina para que
genere la calificacin de todas tus respuestas del cuestionario.
Suerte !











PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 80

PRCTICA N27: CREAR BASE DE DATOS Y TABLAS EN MS SQL SERVER
BGGNL227.SQL
1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso
como usuario del motor de BD asignada por los administradores del SQL Server.
2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\.
3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que el Facilitador te informe oportunamente, una vez
conectado deberas crear tu base de datos de la prctica en este caso BGGNL227, se generar como archivo del tipo
MDF, en ella debes agregar una nueva consulta con el mismo nombre BGGNL227.SQL en esta debes escribir el script o
texto que debers ejecutar por parcialidades para comprobar el funcionamiento correcto de la etapa, en primer caso
debes escribir el siguiente conjunto de instrucciones:















4. CREAR LA BASE DE DATOS: Una vez capturadas las instrucciones selecciona la lnea: CREATE DATABASE y pulsa el
botn de Ejecutar, con ello generars la BD, si tu cdigo es correcto, se desplegar un mensaje indicando esto, en
caso contrario te notifica el tipo de error presente, mismo que debes corregir, al estar libre de errores tu cdigo,
actualiza el panel de navegacin y verificars que la BD ha sido creada.
5. ACTIVAR LA BASE DE DATOS: Ahora selecciona la lnea con la instruccin: USE la ejecutas del mismo modo que la
instruccin anterior, esto es para poner tu BD en uso o activarla.
6. CREAR LA TABLA: Selecciona el bloque de texto iniciando con la lnea CREATE TABLE y terminando con el parntesis
de cierre ) , ejecuta este bloque de texto, si esto es correcto y libre de errores, el panel de mensajes te indicar que se
cre la tabla, pulsa actualizar en el rbol en los objetos Tabla.
7. INGRESAR REGISTROS A LA TABLA: Ahora debes escribir el texto del bloque de abajo que inicia con la instruccin
INSERT INTO TGGNL227 y concluye al final de la lnea 110, al final de la captura debes Ejecutar este bloque, si es
correcta te indicar que se aadieron 11 nuevos registros a tu tabla, en caso contrario tienes que buscar, identificar y
corregir el error presente.
8. VISUALIZAR EL CONTENIDO: como en los casos anteriores, ahora debes teclear: SELECT * FROM TGGNL227, despus
ejectuas la instruccin y te desplegar en filas y columnas tus registros de la tabla generada en SQL Server.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 81

9. Si todo lo realizado hasta ahora es correcto debers ver tu informacin como el cuadro que se incluye abajo:


10. Guarda tu archivo script o consulta BGGNL227.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al
servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL,
por ltimo, cierra correctamente el SGBD.



PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 82

PRCTICA N28: IMPORTAR TABLAS DE EXCEL Y CREAR CONSULTAS EN MS SQL SERVER
BGGNL228.SQL
1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso
como usuario del motor de BD asignada por los administradores del SQL Server.
2. Recupera de la ruta de Recursos acadmicos del servidor: PROGRAMACION\MOD01\SUB02\PRAC, el archivo de Excel
con nombre: BD228.XLSX y cpialo a la carpeta de trabajo local: D:\ALUMNOS\GPOx\MODULO1\BGGNL\.
3. CREAR BASE DE DATOS SQL: Debes conectarte al motor de BD SQL Server, crea una nueva consulta con nombre
BGGNL228.SQL para crear tu BD, una vez abierta, debes escribir la orden : CREATE DATABASE BGGNL228, luego
selecciona la orden de la ventana de tu consulta y pulsa la opcin: EJECUTAR, despus, en el panel de mensajes te
desplegar: Comandos completados correctamente, ahora en el panel de explorador de objetos, selecciona Bases de
datos, men contextual + Actualizar, con esto ya debes observar el objeto de BD BGGNL228 creado, guarda la
consulta pero no la cierres.
4. IMPORTAR TABLA DESDE EXCEL: Selecciona tu BD recin creada, Pulsa botn derecho del mouse para men
contextual, elige: Tareas + Importar datos, con esto iniciars el asistente para importacin y exportacin de SQL
Server, sigue los siguientes pasos:
1. Paso 1 : Origen de los datos, aqu debes especificar es archivo de Excel.
2. Paso 2 : Defines la ubicacin, especifica la carpeta de trabajo local, adems selecciona la versin de Excel ms
prxima a la que utilizas, por ello aplica MS Excel 2007 y selecciona la casilla de verificacin: La 1 fila contiene
nombres de columna.
3. Paso 3: Destino SQL Server Native Client 10.0, Nombre del servidor, el que estas utilizando, la Base de datos la
misma que despliega en este casdo BGGNL228.
4. Paso 4: Especificar copia de tabla o consulta, elegimos la primera opcin: Copiar datos de una o varias tablas o
vistas, aparece la hoja del libro de Excel, en este caso RECHUM, siguiente, finalizar y cerramos el asistente.
5. Abre el esquema de tu BD BGGNL228 y tambin las Tablas de sistema de la misma, observa que ya se incluye
RECHUM, aplica men contextual, editar las primeras 200 filas, para visualizar los registros importados.
6. En caso que en el rbol de objetos no se despliegue la tabla, elige la Tabla de sistema de BGGNL228,, actualiza en
men contextual.
7. El contenido desplegado tal como se muestra en la tabla parcial de abajo:


















PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 83

5. Despus de ver y analizar la tabla importada cierra la ventana de consulta donde despleg los registros de la tabla.
6. CONSULTAS: Regresa a la ventana consulta BGGNL228.SQL y escribe las siguientes instrucciones:
1. Asegura que tengas en uso la BD para ello teclea: USE BGGNL228.
2. En la ventana de consulta escribe las siguientes lneas una por una y ejectalas tambin una por una en el mimo
orden:
1. COMENTARIOS (ESPECIFICADOS estos no se ejecutan).
2. SELECT * FROM RECHUM$.
3. SELECT * FROM RECHUM$ ORDER BY APADRE.
4. SELECT * FROM RECHUM$ ORDER BY CIUDAD.
5. SELECT * FROM RECHUM$ ORDER BY CATEGO.
6. SELECT * FROM RECHUM$ ORDER BY SUELDO.
7. SELECT NOMBRES, APADRE, AMADRE FROM RECHUM$ ORDER BY APADRE.
7. Aplicando las consultas que se indican arriba, adems de las que tu propongas, resuelve los cuestionamiento
planteados en la tabla anexa:

N CUESTIONAMIENTOS RESPUESTAS
1. N Ciuadades en que se distribuye el personal:
2. N Categoras del personal:
3. Puestos:
4. Total de empleados:
5. Sueldo menor:
6. Sueldo mayor:
7. Que sucedi con la ltima consulta del bloque?
8. Cuantos registros tienen Apellido materno MARTINEZ
9. En que ao ingresaron menos empleados?
10. En que ao ingresaron ms empleados?
11. Que Ciudad tiene ms personal.
12. Que Ciudad tiene menos personal.

8. Guarda tu archivo script o consulta BGGNL228.SQL con las instrucciones que se te citaron y las propuestas por ti, en la
ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la
BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.











PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 84

PRCTICA N29: CONSULTAS CON FILTRO EN MS SQL SERVER
BGGNL229.SQL
1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), con una cuenta previa de acceso como usuario
del motor de BD asignada en SQL Server.
2. Del Motor de BD de SQL Server, recupera la BD de datos: BGGNL228, previamente realizada, crea una nueva consulta
con nombe BGGNL229.SQL y escribe las rdenes que se proponen.
1. CONSULTAS: E la ventana consulta BGGNL229.SQL, Asegura que tengas en uso la BD y escribe cada lnea de cdigo
y ejectala inmediatamente, repite lo mismo para las siguientes:

3. Aplicando las consultas que se indican arriba, as como las que consideres convenientes y propongas, resuelve
los cuestionamiento planteados en la tabla anexa:
N CUESTIONAMIENTOS RESPUESTAS
1. Que ciudad tiene ms personal
2. Personal con apellido materno que inicia con M
3. Personal con apellido materno MARTINEZ
4. Ciudad con mayor personal
5. Ciudad con menor personal
6. N Personal que ingreso entre 1960 y 1999
7. N Personal que ingreso a partir del 2000
8. Categorias de personal existente
9. Personal adscrito a la categora 1
10. Personal adscrito a la categora 2
11. Personal adscrito a la categora 3
12. Personal adscrito a la categora 4
13. Personal adscrito a la categora 5
14. Personal adscrito a la categora 6
15. Cuanto personal tiene la el puesto de Gerente
4. Guarda tu archivo BGGNL229.SQL y sbelo al servidor de red acadmica para efectos de evaluacin, la BD
conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.



TABLA LIBGGNL (BGG230)
CODLIB TITULO EDITORIAL AUTOR GENERO AREA PAIS PAGS ANIOED PRECIO
1 QUIJOTE DE LA MANCHA ANAYA CERVANTES DE SAAVEDRA MIGUEL FICCION LITERATURA ESPAA 517 1991 225.00
2 HISTORIAS DE NUEVO ORLEANS ALFAOMEGA FULKNER WILLAM NOVELA ESPAOL USA 186 1985 187.00
3 IPHONE 5 ANAYA MCFREDIES PAUL TELEFONIA TECNOLOGIA ESPAA 304 2010 250.00
4 EL PRINCIPITO ANDINA SAINT-EXUPEREY ANTOINE AVENTURA LITERATURA FRANCIA 120 1996 150.00
5 MATEMATICAS DISCRETAS ALFAOMEGA ESPINOSA RAMON EDUCACIN MATEMATICAS MEXICO 254 2010 199.00
6 EL PRINCIPE S.M. MAQUIAVELO POLITICO SOCIALES ITALIA 210 1995 120.00
7 MS SQL SERVER 2005 ADMON. Y ANALISIS ALFAOMEGA PEREZ CESAR COMPUTACIN INFORMTICA MEXICO 635 2007 359.00
8 DIPLOMACIA S.M. KISSINGER HENRY POLITICO DERECHO ALEMANIA 825 1997 180.00
9 LOS WINDSOR PLAZA & JANES KELLERY KITTY BIOGRAFIAS SOCIALES GRAN BRETAA 620 1998 165.00
10 EL ULTIMO EMPERADOR CARALT YI PU AUTOBIOGRAFIA CHINA CHINA 353 1989 179.00
11 FORTUNATA Y JACINTA PLAZA & JANES PEREZ GALDOS NOVELA ESPAOL ESPAA 625 1984 119.50
12 TECNOLOGA Y DISEO DE BASES DE DATOS ALFAOMEGA PIATTINI MARIO COMPUTACIN INFORMTICA MEXICO 980 2007 399.00
13 FOTOGRAFIA DE ALTO RANGO DINAMICO ANAYA NAVARRO RIOS FRUCTUOSO EDUCACIN FOTOGRAFIA ESPAA 416 2010 199.00
14 WINDOWS 7 INFORMATICA PARA TORPES ANAYA TRIGO VICENTE COMPUTACIN INFORMTICA ESPAA 352 2009 239.00
15 FUNDAMENTOS DE REDES MC GRAW HILL HALLBERG BRUCE COMPUTACIN TELECOMUNICACIONES MEXICO 512 2006 450.00

TABLA PRESGGNL (BGG230)
NUMPEDIDO CODLIB CODUSER FSALIDA FDEV FMAXDEV
1 1 VAR0370 2013-02-02 2013-02-05 2013-02-08
2 3 VCR0987 2013-02-04 2013-02-07 2013-02-10
3 4 VIM0765 2013-02-10 2013-02-13 2013-02-16
4 6 VMB0580 2013-02-03 2013-02-06 2013-02-09
5 7 VEA1182 2013-02-02 2013-02-05 2013-02-08
6 9 VHH1276 2013-02-15 2013-02-18 2013-02-21
7 11 VAM0275 2013-02-03 2013-02-06 2013-02-09
8 12 VCR0987 2013-02-07 2013-02-10 2013-02-13
9 14 VMB0580 2013-02-09 2013-02-12 2013-02-15
10 15 VJL0392 2013-02-05 2013-02-08 2013-02-11



PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 86


TABLA USERGGNL (BGG230)
CODUSER NOMBRE APELLIDOS DNI DOMICILIO POBLACION ESTADO FNAC
VMB0580 MARIO BUENO PEDRAZA 0448022506288 AV. LOPEZ FARIAS # 583 OTE CD. LERDO DGO. 22/05/1980
VJL0392 JUANA MA. LLAMAS DOMINGUEZ 0442704258971 CALLE MIRAMONTES 347 SUR GOMEZ PALACIO DGO. 05/03/1992
VAM0275 ARNULFO MOLINA FLORES 0447548962315 AV. FCO. I MADERO # 1221 NTE. GOMEZ PALACIO DGO. 28/02/1975
VBG0979 BELINDA GONZALEZ VALERO 0444589126577 CALLE JAZMINES # 35 PTE. CD. LERDO DGO. 17/09/1979
VEA1182 ERNESTO ALBA EZQUEDA 0447956154822 CALLE CENTENO # 724 SUR GOMEZ PALACIO DGO. 03/11/1982
VHH1276 HERMINIA HUERTA SOLER 0445863125741 AV. BRAVO # 1327 NTE. GOMEZ PALACIO DGO. 11/12/1976
VIM0765 ISRAEL MOTA DEL RIO 0442346572559 AV. ABASOLO # 583 SUR CD. LERDO DGO. 14/07/1965
VAR0760 ANA ISABEL CAMACHO FLORES 0442348751946 BLVD. LAS CRUCES # 386 OTE. CD. LERDO DGO. 09/07/1960
VCR0987 MA. CARMEN ROCHA SILVEYRA 0449523548642 CALLE CAMARONES # 693 PTE. CD. LERDO DGO. 03/09/1987
VAR0370 ALONSO DE LA RIVA TUERO 0442548756834 AV. DURAZNOS # 512 SUR GOMEZ PALACIO DGO. 05/03/1970


TABLA: MEDICINAS (BGG231)

1 OMEPRAZOL OMEPRAZOL NOM2185 PRIMER NIVEL ULCERA PEPTICA 40 MG C/DIA TABLETAS TOMAR EN AYUNAS 1 HR ANTES DE ALIMENTOS 115.00
2 CICLOFERON ACICLOVIR NOM1083 LIOMONT ANTIHERPETICO 200 MG C/4HR SUSPENSION NO APLICAR DOSIS MAYOR DE 20 MGKG C/8 HR 70.00
3 ZAF-200 BEZAFIBRATO NOM1173 PSICOFARMA RED. TRIGLICERIDOS 200 MG C/8 HR TABLETAS NO APLICAR EN TRASTORNOS RENALES 135.00
4 AMOXIL AMOXICILINA NOM2564 GSK ANTIBIOTICO 250 MG 3/DIA CAPSULAS EVITAR EN EMBARAZOS Y LACTANCIA 80.00
5 LOMOTIL LOPERAMIDA NOM2318 PFIZER ANTIDIUARREICO 4 TAB/DIA MAX TABLETAS EVITAR EN EMBARAZOS Y LACTANCIA 65.00





PRCTICA N30: APLICACIN DE CREATE DATABASE Y CREATE TABLE EN MS SQL SERVER
BGGNL230.SQL
1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), con una cuenta de acceso de usuario al motor de
BD asignada por administradores del SQL Server.
2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\.
3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que se te especifique oportunamente, una vez conectado
al motor de base de datos, debes crear la BD BGGNL230 y dentro de ella las siguientes tablas:
Nota: Todo objeto creado desde el script o ventana de consulta y todos los archivos SQL que subas al servidor de red
acadmica debern contener las primeras lneas de comentarios, tal como se aplicaron en las prcticas anteriores.
BASE DE DATOS BIBLIOTECA
Utilizando lenguaje de SQL (BGGNL230.SQL), genera las tablas necesarias para implementar una base de datos
para el control de una biblioteca. La base de datos biblioteca nombrada previamente BGGNL230 tendr las
siguientes tablas con sus caractersticas:
TABLA LIBROS: LIBGGNL
NOMBRE CAMPO TIPO DE CAMPO TAMAO
CODLIB Numrico Entero
TITULO Texto 60
EDITORIAL Texto 25
AUTOR Texto 35
GENERO Texto 20
AREA Texto 25
PAIS Texto 20
PAGS Numrico Entero
ANIOED Texto 4
PRECIO Moneda

TABLA PRESTAMOS: PRESGGNL
NOMBRE CAMPO TIPO DE CAMPO TAMAO
NUMPEDIDO Numrico
Integer
CODLIB Numrico Byte
CODUSER Texto 7
FSALIDA Fecha/Hora Fecha mediana
FDEV Fecha/Hora Fecha mediana
FMAXDEV Fecha/Hora Fecha/Mediana
TABLA USUARIOS: USERGGNL
NOMBRE CAMPO TIPO DE CAMPO TAMAO FORMATO
CODUSER Texto 7
NOMBRE Texto 25
APELLIDOS Texto 25
DNI Texto 13
DOMICILIO Texto 35
POBLACION Texto 25
ESTADO Texto 5
FNAC Fecha/Hora Fecha mediana
Ver datos y registros de las pginas 90 y 91 para efectos de captura, as mismo el alumno deber identificar y asignar
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 88

las claves principales as como realizar las relaciones convenientes.

CONSULTAS DE SELECCIN

1. Realizar una consulta donde se vean los libros que se han prestado depues del 7 de Febrero.
2. Realizar una consulta que indique las veces que se ha prestado cada libro.
3. Realizar una consulta donde se vean los pedidos de libros originados en pases diferentes a Mxico.
4. Realizar una consulta indicando los libros que ha sacado cada usuario.
5. Realizar una consulta, en la que introduciendo una fecha de salida como parmetro, me d informacin de los
prstamos hechos esos das.
6. Indicar el nmero total de pginas, suponiendo que se ha ledo todo el libro, por cada usuario
7. Realizar una consulta donde me indique el nmero de libros ledos por cada poblacin.
8. Realizar una consulta donde me indique los libros que se ha sacado cada da.
9. Realizar una consulta donde me indique el da de la semana que se devolvieron ms libros.
Deber aparecer el da de la semana y no el nmero del da de la semana
10. Disear un mdulo (funcin) que debe funcionar de la siguiente manera:
Si la fecha de devolucin es mayor que la fecha mxima, por cada da de retraso deber abonar $50.00 La
funcin se llamar demora.
11. Disear un mdulo que me indique el libro, nombre del autor y editorial. La informacin deber ir
separada por punto y coma (;). Junto con esto, deber aparecer el nombre del usuario. La funcin se llamar
resumen.
CONSULTAS DE CREACIN DE TABLA
12. Crear una tabla que me diga el nmero del pedido, el nombre y apellido del usuario as como el nombre, editorial y
autor del libro junto con la fecha de salida. La tabla se llamar Informacin Bsica.
13. Crear una tabla donde me indique nicamente la informacin de prstamos cuya editorial sea Alfaomega. La tabla,
se llamar Alfaomega.

CONSULTAS DE ACTUALIZACIN
14. La Editorial Andina se pasa a llamar ANAYA.
15. Debido a la inflacin, los libros con un coste superior a $ 250.00, suben un 10%.
16. Los pedidos cuya fecha mxima es superior al 08/02/2013, se pueden entregar dos ms tarde.


4. Guarda tu archivo script o consulta BGGNL230.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al
servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL,
por ltimo, cierra correctamente el SGBD.

PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 89

PRCTICA N31: BASES DE DATOS, TABLAS POR ASISTENTE EN MS SQL SERVER
BGGNL231.SQL
5. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso
como usuario del motor de BD asignada por los administradores del SQL Server.
6. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\.
7. BASE DE DATOS SQL ASISTENTE: Debes conectarte con el servidor SQL que se te especifique oportunamente, una vez
conectado al motor de base de datos, debes crear la BD BGGNL231, para ello eliges del Explorador de objetos el icono
Bases de datos y pulsas botn derecho para men contextual + Nueva Base de datos, escribe el nombre, en este caso
BGGNNL228 y pulsa del men contextual de Basos del sistema: actualizar para poder ver que esta ya est creada.
8. TABLA DE DATOS: Selecciona tu base de datos BGGNL231, pulsa 2 click para abrir el esquema jerrquico y en Tabla,
pulsa el objeto y boton derecho mouse para menu contextual + Nueva Tabla, te aparecer el Diseador de tablas y
crea la estructura que se te propone en el cuadro siguiente:
BASE DE DATOS: MEDICAMENTOS
Se implementar una base de datos para el manejo de Medicinas. La BD con nombre: DRUGGGNL.DBO, con lo
siguiente tabla y atributos:
TABLA MEDICINAS: DRUGGGNL
NOMBRE CAMPO TIPO DE CAMPO TAMAO
CODMED Numrico Smallint
MEDICAMENTO Nvarchar 50
PRODACTIVO Nvarchar 50
NUMREG Nvarchar 50
LABORATORIO Nvarchar 50
APLICACIN Nvarchar 50
DOSIS Nvarchar 50
PRESENTACION Nvarchar 50
OBSERVAC Nvarchar 100
COSTO Moneda


Una vez concluida el diseo de tu tabla, pulsa botn derecho del mouse para guardarla con el nombre MEDGGNL.

9. ADICIONANDO REGISTROS A LA TABLA (ASISTENTE): Selecciona del explorador de objetos tu tabla MEDGGNL, men
contextual +Editar las primeras 200 filas, e inicias la captura de los datos conforme a la tabla que se te propone en la
tabla MEDICINAS de la pgina 91.

Nota: Todo objeto creado desde el script o ventana de consulta y todos los archivos SQL que subas al servidor de red
acadmica debern contener las primeras lneas de comentarios, tal como se aplicaron en la prctica anterior.

10. Guarda tu archivo script o consulta BGGNL231.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al
servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL,
por ltimo, cierra correctamente el SGBD.






PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4
ING. HUMBERTO DE LA ROSA G. 90

PRCTICA N32: INSTRUCCIONES CREATE DATABASE Y CREATE TABLE EN MS SQL SERVER
BGGNL232.SQL
1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso
como usuario del motor de BD asignada por los administradores del SQL Server.
2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\.
3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que el Facilitador te informe oportunamente, una vez
4. Guarda tu archivo script o consulta BGGNL232.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al
servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL,
por ltimo, cierra correctamente el SGBD.

Vous aimerez peut-être aussi