Está en la página 1de 8

PROGRAMA ACADMICO DE

TECNOLOGAS DE LA INFORMACIN

ACTIVIDAD
Reporte consultas avanzadas

Como requerimiento parcial para


acreditar la asignatura de:
Base de Datos para Aplicaciones.
Que presentan:
ALUMNO
Miguel ngel Vzquez Neri
Juan Joel Onofre Cabrera
VIctor Tapia Silva

No. Control.
09292171
09292106
09292158

ASESOR
Gonzalo Rosas Cabrera.

Izcar de Matamoros, Pue., 20 de May de 2015

RESUMEN
Hoy en da el mundo de la Informtica va creciendo ms y ms medida que la sociedad
lo demanda; la mayora de las empresas han optado por modernizar sus sistemas de
informacin, y por ende sus respectivas bases de datos. Es necesario mencionar que
las bases de datos contienen gran cantidad de informacin y por ello nos debemos
preocupar por la seguridad; es por ello que se crean las muy necesarias vistas y
procedimientos almacenados necesarios para proteger la integridad de nuestra base de
datos del uso inadecuado o de posibles actos de robo de informacin. En este reporte
podremos encontrar diversas ejemplos de consultas avanzadas a una base de datos,
que nos podran serle de gran utilidad en un futuro.

1 DESARROLLO
Motor de base de datos utilizado: _MySQL_
Llene la siguiente tabla con los comandos SQL que obtienen los registros solicitados y
los tiempos obtenidos en casa consulta.
No.
No.

Datos solicitados

Consulta SQL

registros
obtenidos

de
ejecuci

SELECT destado FROM Estados;

32

n
0.047

Mostrar cuantos municipios

SELECT destado, COUNT(cmunicipios)

32

sec.
0.078

tiene cada estado

FROM Estados INNER JOIN Municipios

Mostrar el nombre de todos


los estados registrados

Tiempo

sec.

ON cestados = estado
3

Mostrar cuantos municipios

GROUP BY destado;
select count(cmunicipios)

tiene el estado de Morelos

from municipios

0.000
sec.

where estado=(select cestados from estados where destado


4

Mostrar cuantos municipios

= 'morelos');
SELECT COUNT(cmunicipios)

tienen

FROM Estados, Municipios

los

estados

de

Morelos, Oaxaca, Guerrero,

WHERE estado = cestados AND destado = 'Morelos'

Veracruz,

UNION ALL

Tlaxcala

el

Estado de Mxico

0.000
sec.

SELECT COUNT(cmunicipios)
FROM Estados, Municipios
WHERE estado = cestados AND destado = 'Oaxaca'
UNION ALL
SELECT COUNT(cmunicipios)
FROM Estados, Municipios
WHERE estado = cestados AND destado = 'Guerrero'
UNION ALL
SELECT COUNT(cmunicipios)
FROM Estados, Municipios
WHERE estado = cestados AND destado = 'Veracruz de
Ignacio de la Llave'
UNION ALL
SELECT COUNT(cmunicipios)
FROM Estados, Municipios
WHERE estado = cestados AND destado = 'Tlaxcala'
UNION ALL
SELECT COUNT(cmunicipios)
FROM Estados, Municipios

Mostrar
estado

el

nombre
con

del

menos

WHERE estado = cestados AND destado = 'Mxico';


create view vista2 as select destado,count(cmunicipios) as

0.016 sec

'mm' from estados,municipios where cestados=estado

municipios
6

Mostrar

group by destado ORDER BY mm limit 2;

el

nombre

del

estado con ms municipios

select destado from vista2;


create view vista3 as select destado,count(cmunicipios) as

'mm' from estados,municipios where cestados=estado

0.063
sec.

group by destado ORDER BY mm desc limit 1;


7

Mostrar

el

nmero

de

select destado from vista3;


create view sonora as select count(cmunicipios) as 'son'

municipios entre Sonora y

from municipios

Sinaloa,

where estado=(select cestados from estados where destado

adems

de

la

diferencia entre ellos.

0.033 sec

1000

23.837

= 'sonora');
create view sinaloa as select count(cmunicipios) as 'sin'
from municipios
where estado=(select cestados from estados where destado
= 'sinaloa');
select son as sonora, sin as sinaloa, son-sin as diferiencia

Muestre

el

nombre

de

from sonora,sinaloa;
SELECT dAsentamiento, cp, dtipoasentamiento, dmunicipio,

TODAS las localidades con

destado

su cdigo postal, tipo de

FROM

asentamiento, el municipio

TipoAsentamiento

WHERE

el

estado

al

que

pertenece

sec.
Estados,

Municipios,

Asentamientos,

ctipoasentamiento

tipoasentamiento.ctipoasentamiento

AND

=
municipios

cmunicipios
AND

asentamientos.estado

cestados

AND

municipios.estado = cestados
9

10

Muestre

cuantas

GROUP BY dAsentamiento;
SELECT COUNT(dasentamiento) AS TotalLocalidades

localidades tiene el estado

FROM Estados, Asentamientos, TipoAsentamiento

de Puebla

WHERE ctipoasentamiento = tipoasentamiento

Muestre

cuantas

localidades

tiene

cada

AND estado = cestados AND destado = 'Puebla';


SELECT
dmunicipio,
COUNT(dasentamiento)

sec.

AS

217

TotalLocalidades

municipio del estado de

FROM

Estados,

Puebla

Municipios

1.170

0.016
sec.

Asentamientos,

TipoAsentamiento,

WHERE ctipoasentamiento = tipoasentamiento


AND municipios.estado = cestados AND cmunicipios =
municipios
AND asentamientos.estado = cestados AND destado =
'Puebla'
11

Muestre

cuales

localidades
12

del

postal 74420
Muestre

son

las

cdigo
cuantas

GROUP BY dmunicipio;
SELECT dasentamiento AS Localidades

FROM Asentamientos
WHERE cp = 74420;
SELECT dtipoasentamiento, COUNT(dasentamiento) AS

localidades tiene cada tipo

TotalLocalidades

de asentamiento

FROM Asentamientos, TipoAsentamiento

0.109
sec.

30

3.978
sec.

WHERE ctipoasentamiento = tipoasentamiento

13

14

Muestre

cuales

son

las

GROUP BY dtipoasentamiento;
SELECT dasentamiento AS Localidades

localidades fuera del cdigo

FROM Estados, Asentamientos

postal

WHERE estado = cestados AND destado = 'Tabasco' AND

74420

que

pertenen a Tabasco
Muestre el nombre

del

cp = 74420;
SELECT destado, dmunicipio, dasentamiento

estado, el municipio y la

FROM

localidad, donde el tipo de

Municipios

asentamiento

WHERE ctipoasentamiento = tipoasentamiento

sea

"Gran

usuario

Estados,

Asentamientos,

1000

0.047

315

0.562

TipoAsentamiento,

sec.

AND municipios.estado = cestados AND cmunicipios =


municipios
AND

15

asentamientos.estado

Muestre las localidades del

dtipoasentamiento = 'Gran usuario';


SELECT dasentamiento, dmunicipio

municipio

FROM

de

Izcar

de

Matamoros

Estados,

Asentamientos,

cestados

AND

71

0.000

TipoAsentamiento,

sec.

Municipios
WHERE ctipoasentamiento = tipoasentamiento
AND municipios.estado = cestados AND cmunicipios =
municipios
AND asentamientos.estado = cestados AND destado =
'Puebla'

16

Muestre

que

cdigos

postales

pertenecen

al

municipio de Tepeojuma

AND dmunicipio = 'Izcar de Matamoros';


SELECT DISTINCT cp

0.015

FROM Estados, Asentamientos, Municipios

sec.

WHERE municipios.estado = cestados AND cmunicipios =


municipios
AND asentamientos.estado = cestados

17

Muestre

que

cdigos

postales

pertenecen

al

municipio de Atencingo

AND dmunicipio = 'Tepeojuma';


SELECT DISTINCT cp

1.622

FROM Estados, Asentamientos, Municipios

sec.

WHERE municipios.estado = cestados AND cmunicipios =


municipios
AND asentamientos.estado = cestados

18

19

Muestre los municipios que

AND dasentamiento = 'atencingo';


SELECT dmunicipio

se llaman igual que el

FROM Estados, Municipios

estado

WHERE cestados = estado AND destado = dmunicipio

Muestre el municipio con el

GROUP BY dmunicipio;
SELECT dmunicipio

nombre ms largo

FROM Municipios

0.016
sec.

0.062
sec.

WHERE LENGTH(dmunicipio) =
(SELECT
20

MAX(CHAR_LENGTH(dmunicipio))

FROM

Muestre las localidades de

Municipios);
SELECT DISTINCT dasentamiento

Ms

tienen nombre de santa,

FROM Asentamientos

1000

menos Santa Cruz

WHERE dasentamiento LIKE '%Santa%'

de

0.187
sec.

AND dasentamiento NOT LIKE '%Santa Cruz%'


ORDER BY dasentamiento;

2 CONCLUSIONES Y RECOMENDACIONES
A medida que fuimos realizando las consultas correspondientes, nos encontramos en
ocasiones con la necesidad de crear vistas que nos ayudaron para complementar las
consultas requeridas. Lo cual nos sirvi de mucho. Este reporte lo dejamos a su
disposicin, esperamos les sea de utilidad.

3 REFERENCIAS
http://www.correosdemexico.gob.mx/ServiciosLinea/Paginas/DescargaCP.aspx,
http://www.utim.edu.mx/~grosas/bdaplicaciones/EE-RCodigosPostales.zip,
http://gonzalorosas.wordpress.com/2011/01/25/excel-mysql/