Você está na página 1de 25

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

DIVISIN DE INFORMATICA
ASIGNATURA: FUNDAMENTOS DE BASE DE DATOS
ELABORADAS POR LA PROFA. MARA DOLORES SABIDO MONTEJO
PRACTICAS CORRESPONDIENTES AL SEGUNDO PARCIAL DEL PERIODO 2014-1
PRACTICA 11. FUNCIONES AGREGADAS UTILIZANDO SQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

Notas
En Microsoft SQL Server existen bsicamente 5 funciones de agregacin: Max, que
realiza la bsqueda del mximo valor de la columna, Min el valor mnimo de la columna,
AVG realiza la operacin promedio con los valores de la columna, Count la cual cuenta
cuantos registros existen en la columna, sum la cual realiza la operacin aritmtica de
suma con los valores de la columna. Dichas funciones son importantes principalmente
para el desarrollo de la agrupacin de registros o datos que se realizar en las prximas
prcticas.
En lo que respecta a su sintaxis esta se integra en la expresin de consulta precediendo
la columna, la cual debe de ir entre parntesis, en la que se realizar la funcin de
agregacin, ejemplo utilizando la base de datos Comercial_almacen en la tabla de , la
sintaxis y resultados seran los siguientes:
use comercial_almacen

select max(cantidad) as [valor mximo] from Pedido

use comercial_almacen

select min(cantidad) as [valor mnimo] from Pedido

use comercial_almacen

select avg(cantidad) as [valor promedio] from Pedido

use comercial_almacen

select count(cantidad) as [total registros] from
Pedido

use comercial_almacen

select sum(cantidad) as [total de la suma] from
Pedido


INSTRUCCIONES
Utilizando las tablas pedido y ventas de la Base de datos comercial_almacen realice las
siguientes consultas:
a) En la tabla pedido realice la suma de los valores mnimos de las columnas de
cantidad y precio_compra y depostelo en una columna de nombre totales mnimo.
b) En la tabla pedido realice la suma de los valores mximos de las columnas de
cantidad y precio_compra y depostelo en una columna de nombre totales de
mximos.
c) En la tabla pedido realiza el promedio de precio_compra y depostelo en una
columna de nombre promedio del precio de compra.
d) Cuente cuantos registros tiene el campo folio_factura de la tabla ventas.
e) Altere la tabla ventas y agrega una columna de nombre total_ventas de tipo
moneda y modifique los valores de al menos 10 registros.
f) Realice la multiplicacin de la suma de la columna precio_compra de la tabla
pedido y la suma de la columna total_ventas de la tabla ventas y depostelo en una
columna de nombre total.
g) Realice la resta de los valores minimos de la columna precio_compra de la tabla
pedido y la columna total_ventas de la tabla ventas.
h) Cuente cuantos registros tiene la tabla ventas.

EJERCICIOS DE PRCTICAS
Utilizando la base de datos Biblioteca, realice la consulta en Transact-SQL del resultado
que se muestra a continuacin:
a)

b)

c)

d)

e)





PRACTICA 12. FUNCIONES AGREGADAS UTILIZANDO MySQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

NOTAS
Funcin sum
select sum(precio) from Libro;
Resultado

Funcin Max y Min
select Max(precio) from Libro;

select Min(precio) from Libro;

Funcin AVG y Count
select count(Titulo) from Libro;
select avg(precio) From Libro;
INSTRUCCIONES
Utilizando las tablas pedido y ventas de la Base de datos comercial_almacen realice las
siguientes consultas:
a) En la tabla pedido realice la suma de los valores mnimos de las columnas de
cantidad y precio_compra y depostelo en una columna de nombre totales mnimo.
b) En la tabla pedido realice la suma de los valores mximos de las columnas de
cantidad y precio_compra y depostelo en una columna de nombre totales de
mximos.
c) En la tabla pedido realiza el promedio de precio_compra y depostelo en una
columna de nombre promedio del precio de compra.
d) Cuente cuantos registros tiene el campo folio_factura de la tabla ventas.
e) Altere la tabla ventas y agrega una columna de nombre total_ventas de tipo
moneda y modifique los valores de al menos 10 registros.
f) Realice la multiplicacin de la suma de la columna precio_compra de la tabla
pedido y la suma de la columna total_ventas de la tabla ventas y depostelo en una
columna de nombre total.
g) Realice la resta de los valores minimos de la columna precio_compra de la tabla
pedido y la columna total_ventas de la tabla ventas.
h) Cuente cuantos registros tiene la tabla ventas.
EJERCICIOS DE PRACTICA
Desarrolle una base de datos de nombre Catastro_Municipal de acuerdo al siguiente diagrama:

a) Agregue una columna a la tabla Tb_Vivienda por valor_vivienda de tipo decimal y
modifique el valor de la columna.
b) Realice 5 ejemplos de funciones de agregacin con la base de datos anterior.














PRACTICA 13. ORDENACION DE REGISTROS UTILIZANDO SQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

Notas
Microsoft SQL Server puede ordenar los registros de un campo de dos formas
ascendentes y descendentes aun cuando por omisin lo hace de forma ascendente, para
la presentacin de resultados en una columna, es decir, no los ordena de forma definitiva
en la tabla. El comando utilizado es el order by (<nombre de la columna a ordenar>)
<forma de ordenamiento>, por lo que la expresin es la siguiente utilizando la base de
datos Comercial_Almacen, en la tabla Producto

select nombre_producto, precio_compra, precio_venta
from Producto order by (nombre_producto) ASC
el resultado es

En forma descendente la expresin es
select nombre_producto, precio_compra, precio_venta
from Producto order by (nombre_producto) DESC
siendo el resultado

INSTRUCCIONES
Realice cinco ejercicios de ordenamiento en tres tablas diferentes en la base de datos de
su preferencia.

EJERCICIOS DE PRCTICA
Utilizando la base de datos comercial_almacen realice las siguientes consultas
a) Ordene todos los productos en forma ascendente por precio de compra.
b) Ordene todos los productos en forma descendente por precio de compra.
c) Ordene todos los productos en forma ascendente por precio de venta.
d) Ordene todos los productos en forma descendente por precio de venta.
e) Ordene todos los pedidos en forma ascendente por fecha.
f) Ordene todos los pedidos en forma descendente por fecha.
g) Ordene todas las ventas por folio de factura en forma ascendente.
h) Ordene todas las ventas por folio de factura en forma descendente.



PRACTICA 14. ORDENACION DE REGISTROS UTILIZANDO MySQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

Notas
Select * from Libro order by(titulo) desc;
Resultado

INSTRUCCIONES
Realice cinco ejercicios de ordenamiento en tres tablas diferentes en la base de datos de
su preferencia.

EJERCICIOS DE PRCTICA
Utilizando la base de datos comercial_almacen realice las siguientes consultas
i) Ordene todos los productos en forma ascendente por precio de compra.
j) Ordene todos los productos en forma descendente por precio de compra.
k) Ordene todos los productos en forma ascendente por precio de venta.
l) Ordene todos los productos en forma descendente por precio de venta.
m) Ordene todos los pedidos en forma ascendente por fecha.
n) Ordene todos los pedidos en forma descendente por fecha.
o) Ordene todas las ventas por folio de factura en forma ascendente.
p) Ordene todas las ventas por folio de factura en forma descendente.
















PRACTICA 15. AGRUPACIN DE REGISTROS UTILIZANDO SQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

Notas
Las consultas en las que se realizan agrupacin de datos es una de las mas importantes
que se utilizan para crear conjunto de datos similares. Su utilizan es comn para saber
por ejemplo de un determinado producto quines son sus proveedores y principalmente
en las consultas de bases de datos multidimensionales. El comando utilizado es el group
by y el group by having donde este ltimo es la condicional como es el caso del where en
otras consultas. Una caracterstica del group by es que en select se nombran los campos
que se desean visualizar y despus del comando group by se deben nombrar todos los
campos existentes en la tabla de lo contrario manda un error pues espera que los campos
nombrados se encuentren dentro de una funcin de agregacin para considerarlos.
Utilizando la base de datos Biblioteca se muestran a continuacin ejemplos de su
utilizacin:
Se desea que agrupe todos los ttulos de los libros por apellido del autor, mostrando el
titulo, editorial, apellido del autor y el precio.
select Titulo, Editorial, Apellido_Autor, precio
from Libro
group by Issbn, Titulo, Num_pag, Editorial,
ao_Edicion,Apellido_Autor, precio

Si se deseara que agrupara por ejemplo de todos aquellos que el autor sea Garcia, la
sintaxis y resultado seran el siguiente.

select Titulo, Editorial, Apellido_Autor, precio
from Libro
group by Issbn, Titulo, Num_pag, Editorial,
ao_Edicion,Apellido_Autor, precio
having Apellido_Autor='Garcia'


INSTRUCCIONES
a) Utilizando la base de datos Comercial_Almacen realice 5 ejercicios utilizando
group by y 5 utilizando group by having.
b) Desarrolle la siguiente base de datos de nombre contable de acuerdo al diagrama
presentado, inserte 10 registros en cada una de las tablas.

EJERCICIOS DE PRCTICA
1. Con la base de datos Contable realice las siguientes consultas:
a) En la tabla Tb-Caja al total de egresos rstele el total de ingresos.
b) En la tabla Tb_Caja ordene todos los totales de total de cortes por fecha de forma
descendente.
c) Muestre la fecha en que hubo el mayor total de ingresos de la tabla Tb_Caja.
d)







Tb_Caja
id_caja
fecha
total_ingreso
total_egreso
concepto
total_corte
folio_factura
Tb_Factura
folio_factura
fecha
rfc_cliente
iva
subtotal
estado_factura
id_producto
Tb_Venta
id_venta
total_venta
fecha
concepto_venta
id_producto
id_caja
PRACTICA 16. AGRUPACIN DE REGISTROS UTILIZANDO MySQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL.
Block de nota
Acrobat Reader

Notas
select titulo, precio, editorial from Libro group by titulo;
Resultado

select titulo, precio, editorial from Libro
group by isbn, titulo, precio, editorial, apellido_autor having apellido_autor='Garcia
Marquez';
Resultado


INSTRUCCIONES
a) Utilizando la base de datos Comercial_Almacen realice 5 ejercicios utilizando
group by y 5 utilizando group by having.
b) Desarrolle la siguiente base de datos de nombre contable de acuerdo al diagrama
presentado, inserte 10 registros en cada una de las tablas.
EJERCICIOS DE PRCTICA
2. Con la base de datos Contable realice las siguientes consultas:
e) En la tabla Tb-Caja al total de egresos rstele el total de ingresos.
f) En la tabla Tb_Caja ordene todos los totales de total de cortes por fecha de forma
descendente.
g) Muestre la fecha en que hubo el mayor total de ingresos de la tabla Tb_Caja.










PRACTICA 17. COMBINACIN DE REGISTROS DE DOS TABLAS UTILIZANDO SQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
Microsoft SQL Server versin 2005 o +,.
Block de nota
Acrobat Reader.
Base de datos Comercial_Almacen.
Base de datos Contable

Notas
La combinacin es una operacin binaria que se realiza con dos tablas. El smbolo
utilizado en la algebra relacional para esta operacin es X. El resultado es el producto
cartesiano. Existen diferentes comandos que se utilizan para esta operacin el inner join,
el left outer join y el right outer join adems del in, el cual es una consulta de combinacin
anidada.
Su sintaxis es:
Select <nombre de los campos que se quieren mostrar> from <tabla1> inner join <tabla2>
on tabla1.llaveprimara=tabla2.llaveforanea.
Es importante mencionar que la relacin se debe establecer entre la llave primaria de la
tabla 1 la cual es la llave fornea de la tabla 2. Ambas deben ser del mismo tipo de dato.
Realizando un ejemplo con la base de datos contable se realiza una relacin entre la tabla
Tb_Caja y Tb_Factura (Ver figura 18.1) la consulta se realizara de la siguiente forma


Figura 18.1
Select c.fecha, c.total_ingreso, c.concepto, f.rfc_cliente, f.estado_factura
from Tb_Caja c inner join Tb_Factura f on c.folio_factura=f.folio_factura
Una de las caracteristicas de esta consulta es que se debe indicar el campo a que tabla
pertenece para ello se usan preposiciones en donde para Tb_Caja es c y para
Tb_Factura es f, de no usarlas SQL marca una excepcin en la cual muestra el mensaje
que le es ambiguo el nombre del campo. Otra forma de hacerlo es capturar todo el
nombre de la tabla por ejemplo: Tb_Caja.fecha.
El resultado es un conjunto cuyo universo son todos los campos que se solicitaron se
mostrar y los elementos de este conjunto son los registros en los que el folio_factura en
ambas tablas coinciden.

Para el caso del left outer join la sintaxis es:
Select c.fecha, c.total_ingreso, c.concepto, f.rfc_cliente, f.estado_factura
from Tb_Caja c left outer join Tb_Factura f on c.folio_factura=f.folio_factura
y en el caso del right es:
Select c.fecha, c.total_ingreso, c.concepto, f.rfc_cliente, f.estado_factura
from Tb_Caja c right outer join Tb_Factura f on c.folio_factura=f.folio_factura

INSTRUCCIONES.
Siguiendo los ejemplos anteriiores y con la base de datos contable realice 5 ejemplos
utilizando inner join, left outer join y right outer join. Deber utilizar la combinacin de
todas las tablas existente en la base de datos.
EJERCICIOS DE PRCTICA
1. Utilizando la base de datos Comercial_Almacen (ver diagrama siguiente), realice la
consulta en Transact_SQL que da como resultado las imgenes que se muestran.

A)

b)

calle
id_calle int
nombre_calle varchar(20)
idcolonia int
Nombre de columna Tipo de datos Permitir v...
colonia
idColonia int
nombreColonia varchar(20)
idcalle int
Nombre de columna Tipo de datos Permitir v...
Producto
id_producto varchar(10)
nombre_producto varchar(20)
precio_compra money
precio_venta money
cant_exist int
rfc_proveedor varchar(10)
Nombre de columna Tipo de datos Permitir v...
Proveedor
rfc_proveedor varchar(10)
razon_social varchar(20)
telefono int
id_calle int
Nombre de columna Tipo de datos Permitir v...
ventas
id_ventas int
id_pedido int
id_producto varchar(10)
rfc_proveedor varchar(10)
folio_factura int
fecha datetime
Nombre de columna Tipo de datos Permitir v...
Pedido
id_pedido int
fecha datetime
id_producto varchar(10)
cantidad int
rfc_proveedor varchar(10)
precio_compra money
Nombre de columna Tipo de datos Permitir v...
c)

d)

e)

f)

3. Utilizando los comandos inner join, left outer join y right outer join combinndolos
con los comandos group by, group by having, order by realice 5 ejemplos de
cada uno.















PRACTICA 18. COMBINACIN DE REGISTROS DE DOS TABLAS UTILIZANDO
MySQL.
Competencia especfica y genrica a adquirir
Aplica los comandos bsicos del lenguaje SQL para la definicin de bases de datos y
manipulacin de datos.
Capacidad de aplicar los conocimientos en la prctica.
Capacidad de aprender.
Habilidad para trabajar en forma autnoma

Gua de estudio
6.1 Lenguaje de Definicin de Datos (LDD)

Simbologa
Enter o clic del mouse
<doble clic del mouse.
PK llave primaria
FK llave fornea
Material
MySQL Server
Block de nota
Acrobat Reader.
Base de datos Comercial_Almacen.
Base de datos Contable

Notas
create table autor (
id_autor int primary key not null,
Apellidop varchar(25),
Nombre varchar(25),
telefono int,
isbn int,
foreign key (isbn) references libro(isbn)
);
select * from libro l inner join autor a on l.isbn=a.isbn;
Resultado

INSTRUCCIONES.
Siguiendo los ejemplos anteriiores y con la base de datos contable realice 5 ejemplos
utilizando inner join, left outer join y right outer join. Deber utilizar la combinacin de
todas las tablas existente en la base de datos.
EJERCICIOS DE PRCTICA
1. Utilizando la base de datos Comercial_Almacen (ver diagrama siguiente), realice la
consulta en Transact_SQL que da como resultado las imgenes que se muestran.

A)

b)
calle
id_calle int
nombre_calle varchar(20)
idcolonia int
Nombre de columna Tipo de datos Permitir v...
colonia
idColonia int
nombreColonia varchar(20)
idcalle int
Nombre de columna Tipo de datos Permitir v...
Producto
id_producto varchar(10)
nombre_producto varchar(20)
precio_compra money
precio_venta money
cant_exist int
rfc_proveedor varchar(10)
Nombre de columna Tipo de datos Permitir v...
Proveedor
rfc_proveedor varchar(10)
razon_social varchar(20)
telefono int
id_calle int
Nombre de columna Tipo de datos Permitir v...
ventas
id_ventas int
id_pedido int
id_producto varchar(10)
rfc_proveedor varchar(10)
folio_factura int
fecha datetime
Nombre de columna Tipo de datos Permitir v...
Pedido
id_pedido int
fecha datetime
id_producto varchar(10)
cantidad int
rfc_proveedor varchar(10)
precio_compra money
Nombre de columna Tipo de datos Permitir v...

c)

d)

e)

f)

4. Utilizando los comandos inner join, left outer join y right outer join combinndolos
con los comandos group by, group by having, order by realice 5 ejemplos de
cada uno.

Você também pode gostar