Manipulacion de datos informix

Preview:

Citation preview

PRÁCTICO MANIPULACIÓN DE DATOS

Julián AranedaGonzalo Berger

Antonio LenaSebastián Urrutia

Gastón Martini

Sistemas de Bases de Datos II

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.

TablasLas tablas resultantes son:

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

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.

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.

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

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

Manipulación DMLA continuación, veremos algunos ejemplos de consultas simples hechas con SELECT.La sintaxis del SELECT es:

select [distinct] elemento(s) from tabla(s)[where condición][group by campo(s)][having condición][order by campo(s)]

Consulta Nº 1 Obtener el numero y la situación de

todos los proveedores de París Select sid, situacion from s where

ciudad=“París”;

Consulta Nº 2 Obtener los números de partes de todas

las partes suministrados. Select distinct p.pid as P1 from s,p;

Consulta Nº 3 Obtener los datos completos de todos

los proveedores: Select * from s;

Consulta Nº 4 Obtener los números de los

proveedores radicados en parís cuya situación sea mayor que 20:

Select sid from s where ciudad=“París” and situacion > 20;

Consulta Nº 5 Obtener los números de proveedor y

situación de los proveedores radicados en parís en orden descendiente por situación.

Select sid, situacion from s where ciudad=“París” order by situacion desc;

Consulta Nº 6 Obtener todas las combinación de

información de proveedores y partes tales que el proveedor y la parte en cuestión este situados en la misma ciudad.

Select * from s,p where s.ciudad = p.ciudad;

Consulta Nº 6

Consulta Nº 6

Consulta Nº 6

Consulta Nº 7 Obtener todas las combinaciones de

información de proveedor y parte donde la ciudad que el proveedor siga a la cuidad de la parte en orden alfabético.

Select * from s,p where s.ciudad > p.ciudad;

Consulta Nº 7

Consulta Nº 7

Consulta Nº 8 Obtener todas las combinaciones de

información de proveedor y parte donde el proveedor y la parte en cuestión estén cosituados, pero omitiendo a los proveedores cuya situación sea 20.

Select * from s,p where s.ciudad = p.ciudad and s.situacion <> 20;

Consulta Nº 8

Consulta Nº 8

Consulta Nº 9 Obtener todas las combinaciones de

numero de proveedor/numero de parte tales que el proveedor y la parte en cuestión estén cosituados.

Select sid, pid from s,p where s.ciudad = p.ciudad;

Consulta Nº 9

Consulta Nº 10 Obtener todas las parejas de nombres

de ciudad tales que un proveedor situado en la primera ciudad suministre una parte almacenada en la segunda ciudad.

Select distinct s.ciudad, p.ciudad from s, spj, p where s.sid = spj.sid and spj.pid = p.pid;

Consulta Nº 10

Consulta Nº 11 Obtener todas las parejas de las bases

de datos de numero de proveedor tales que los dos proveedores estén cosituados.

Select primera.sid, segunda.sid from s primera, s segunda where primera.ciudad = segunda.sid;

Consulta Nº 11