2. Base de Datos
La 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.
4. Proveedores
La 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.
5. Partes
La 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.
6. Proyectos
La tabla de proyectos está constituida por
los siguientes atributos:
jid: Identificador del proyecto.
jnombre: Nombre del proyecto.
ciudad: Ciudad del proyecto.
7. 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.
9. Consulta 2
Obtener el numero total de proveedores
que suministran partes en la actualidad.
Select count (distinct sid) from spj;
10. Consulta 3
Obtener el numero de envíos de la parte
P2.
Select count (*) from spj where pid=‘P2’;
11. Consulta 4
Obtener la cantidad total suministrada
de la parte P2
Select sum(cantidad) from spj where
pid=‘P2’
12. 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;
13. 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;
14. Consulta 7
Obtener todas las partes cuyos nombres
comiencen con “B”.
Select * from p where pnombre like
‘B%’;
15. 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’)
16. 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’
17. 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’
18. 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’)
19. 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)
20. 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’)