funciones agregadas en informix

20
PRÁCTICO FUNCIONES AGREGADAS Julián Araneda Gonzalo Berger Antonio Lena Sebastián Urrutia Gastón Martini Sistemas de Bases de Datos II

Upload: sebastian-urrutia

Post on 16-Feb-2017

33 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Funciones agregadas en Informix

PRÁCTICO FUNCIONES AGREGADAS

Julián AranedaGonzalo Berger

Antonio LenaSebastián Urrutia

Gastón Martini

Sistemas de Bases de Datos II

Page 2: Funciones agregadas en Informix

Base de DatosLa base de datos sobre la que trabajamos está constituida por partes, proveedores y proyectos, los cuáles a su vez se encuentran relacionados, formando una cuarta tabla de envíos.

Page 3: Funciones agregadas en Informix

TablasLas tablas resultantes son:

• S (proveedores).• P (partes).• J (proyectos).• SPJ (envíos).

Page 4: Funciones agregadas en Informix

ProveedoresLa tabla de proveedores está constituida por los siguientes atributos:

sid: Identificador del proveedor.snombre: Nombre del proveedor.situacion: Situación del proveedor.ciudad: Ciudad del proveedor.

Page 5: Funciones agregadas en Informix

PartesLa tabla de partes está constituida por los siguientes atributos:

pid: Identificador de la parte.pnombre: Nombre de la parte.color: Color de la parte.peso: Peso de la parte.ciudad: Ciudad de la parte.

Page 6: Funciones agregadas en Informix

ProyectosLa tabla de proyectos está constituida por los siguientes atributos:

jid: Identificador del proyecto.jnombre: Nombre del proyecto.ciudad: Ciudad del proyecto.

Page 7: Funciones agregadas en Informix

Funciones agregadas Count (atributo clave) – Numero de valores en la

columna. Count (*) – Numero de valores en la columna, los

valores nulos se manejan igual a los no nulos. Sum (atributo clave numérico) - Suma de los

valores de la columna. Avg (Atributo clave numérico) – Promedio de los

valores de la columna. Max () – Valor mas grande en la columna. Min () – Valor mas pequeño en la columna.

Page 8: Funciones agregadas en Informix

Consulta 1 Obtener el numero de proveedores

Select count (*) from s;

Page 9: Funciones agregadas en Informix

Consulta 2 Obtener el numero total de proveedores

que suministran partes en la actualidad. Select count (distinct sid) from spj;

Page 10: Funciones agregadas en Informix

Consulta 3 Obtener el numero de envíos de la parte

P2. Select count (*) from spj where pid=‘P2’;

Page 11: Funciones agregadas en Informix

Consulta 4 Obtener la cantidad total suministrada

de la parte P2 Select sum(cantidad) from spj where

pid=‘P2’

Page 12: Funciones agregadas en Informix

Consulta 5 Obtener para cada parte suministrada el

numero de parte y la cantidad enviada de esa parte.

Select pid, sum(cantidad) from spj group by pid;

Page 13: Funciones agregadas en Informix

Consulta 6 Obtener los números de todas las

partes suministradas por mas de un proveedor.

Select pid from spj group by pid having count(*) > 1;

Page 14: Funciones agregadas en Informix

Consulta 7 Obtener todas las partes cuyos nombres

comiencen con “B”. Select * from p where pnombre like ‘B

%’;

Page 15: Funciones agregadas en Informix

Consulta 9 Obtener todos los nombres de los

proveedores que suministran la parte P2.

Select snombre from s where sid in (select sid from spj where pid = ‘P2’)

Page 16: Funciones agregadas en Informix

Consulta 10 Obtener todos los nombres de los

proveedores que suministran la parte P2 Select snombre from s,spj where s.sid =

spj.sid and spj.pid=‘P2’

Page 17: Funciones agregadas en Informix

Consulta 11 Obtener los nombres de los

proveedores que suministran por lo menos una parte roja.

Select distinct s.snombre from s, p, spj where s.sid=spj.sid and p.pid=spj.pid and p.color=‘Rojo’

Page 18: Funciones agregadas en Informix

Consulta 12 Obtener los números de proveedores

situados en la misma ciudad que el proveedor “S1”.

Select sid from s where ciudad = (select ciudad from s where sid=‘S1’)

Page 19: Funciones agregadas en Informix

Consulta 13 Obtener los números de proveedores

cuya situación sea menor que el valor máximo actual de la situación en la tabla s.

Select sid from s where situacion < (select max (situacion) from s)

Page 20: Funciones agregadas en Informix

Consulta 14 Obtener los nombres de proveedores

que suministran la parte P2. Select snombre from s where exists

(select * from spj where spj.sid = s.sid and pid=‘P2’)