Sei sulla pagina 1di 5

DEP.

SISTEMAS Y CÓMPUTO INTEGRACIÓN DE SMBD


MTI. Juan Salvador Rodríguez Aguirre

Práctica 3.4. Definición


Definición de datos
Objetivos
Objetivos.
El alumno aprenderá a utilizar a crear bases de datos, índices y vistas a través de
la herramienta pgAdminIII (Editor SQL) para crear y manipular bases de datos de
PostgreSQL.

Material:
PostgreSQL 8.3 (pgAdminIII)
Bibliografía:
Bibliografía:
En este link se muestra información sobre la interfaz gráfica
http://www.pgAdminIII.org

INICIO
Se pretende en esta práctica hacer bases de datos, índices y vistas con la
herramienta pgAdminIII

DEFINICION DE DATOS
Instrucción CREATE TABLE
TABLE

CREAR BASE DE DATOS (BDVENTAS)

CREATE TABLE PROVEEDORES


(PID INTEGER,
PNOMBRE VARCHAR(20),
CIUDAD VARCHAR(20));

CREATE TABLE ARTICULOS


(AID INTEGER,
ADESC VARCHAR(20),
PRECIO DECIMAL(4 , 2));

CREATE TABLE VENTAS


(VID INTEGER,
VART INTEGER);

Aplicar integridad referencial (constraint_pk, constraint_fk)

PRÁCTICA 3.4 Definición de datos 1


DEP. SISTEMAS Y CÓMPUTO INTEGRACIÓN DE SMBD
MTI. Juan Salvador Rodríguez Aguirre

PROVEEDORES ARTICULOS
PID PNOM CIUDAD AID ADESC PRECIO
1 MATUSA ACAYUCAN 1 VARILLAS 550
2 CEMEX COATZACOALCOS 2 CEMENTO CA 100
3 MAXSA ACAYUCAN 3 CEMENTO AP 200
4 LOS PEREZ SAN ANDRES 4 CLAVOS 30
5 ALAMBRON 350

VENTAS
VID VART
1 2
2 1
3 3
3 5
4 4

Consultas.
1. Mostrar los artículos donde el precio sea mayor a $100
2. Mostrar el nombre, precio donde el precio sea mayor a $100
3. Mostrar el nombre, precio del “cemento ca” y su precio sea $0 o $100
4. Conocer el precio de 2 artículos que se pueden comprar con $150
5. Conocer el nombre del proveedor y los artículos vendidos
6. Conocer el costo promedio de todos los artículos
7. Conocer cuántos productos existen en la tabla ARTICULOS
8. Cuántos artículos han sido vendidos por cada proveedor
9. Conocer los proveedores que venden más artículos
SELECT "VID","PNOMBRE", COUNT("VART") FROM "PROVEEDORES","VENTAS"
WHERE "PID"="VID"
GROUP BY "VID","PNOMBRE"
HAVING COUNT("VART")>1;

10. Conocer los artículos que tienen un costo mayor que el artículo llamado
“cemento ap”
SELECT * FROM "ARTICULOS"
WHERE "PRECIO" >
(SELECT "PRECIO" FROM "ARTICULOS"
WHERE "ADESC"='CEMENTO AP');

PRÁCTICA 3.4 Definición de datos 2


DEP. SISTEMAS Y CÓMPUTO INTEGRACIÓN DE SMBD
MTI. Juan Salvador Rodríguez Aguirre

11. Conocer todos los proveedores que no venden ningún artículo


12. Mostrar los datos de los proveedores MAXSA, MATUSA (UNION)

Instrucción CREATE
CREATE INDEX

CREATE INDEX index name


ON table name (name of attribute);

EJEMPLO. Para crear un índice llamado P sobre el atributo PNOMBRE de la


relación PROVEEDORES
CREATE INDEX P
ON PROVEEDORES (PNOMBRE);
El índice creado se mantiene automáticamente, es decir, cada vez que una nueva
tupla se inserte en la relación PROVEEDORES, se adaptara el índice P. El único
cambio que puede percibir el usuario es el incremento de velocidad.

Instrucción CREATE VIEW

Una vista es una tabla virtual, aparece en la base de datos pero no está
físicamente, por el contrario cuando hablamos de una tabla base, hay realmente
un equivalente almacenado para cada fila en la tabla.
Las vistas no tienen datos propios, distinguibles y físicamente almacenados. En su
lugar, el sistema almacena la definición de la vista, en algún lugar del catálogo del
sistema

CREATE VIEW view name


AS select statement

PRÁCTICA 3.4 Definición de datos 3


DEP. SISTEMAS Y CÓMPUTO INTEGRACIÓN DE SMBD
MTI. Juan Salvador Rodríguez Aguirre

Donde select statement es una instrucción select válida. select_stmt no se ejecuta


cuando se crea la vista. Simplemente se almacena en los catálogos del sistema y
se ejecuta cada vez que se realiza una consulta contra la vista.

Ejemplo:

CREATE VIEW Acayucan_Proveedores


AS SELECT S.PNOM, P.DESC
FROM PROVEEDORES S, ARTICULOS P, VENTAS SE
WHERE S.PID = SE.VID AND
P.AID = SE.VART AND
S.CIUDAD = 'Acayucan';

Y para usar la vista:

SELECT * FROM Acayucan_Proveedores


WHERE P.ADESC=’cemento ’ ;

Para calcular este resultado, el sistema de base de datos realizará previamente un


acceso oculto a las tablas de la base ROVEEDORES, VENTAS y ARTICULOS.
Hace esto ejecutando la consulta dada en la definición de la vista contra aquellas
tablas base. Tras eso, las cualificaciones adicionales (dadas en la consulta contra
la vista) se podrán aplicar para obtener la tabla resultante.

Instrucciones DROP TABLE, DROP INDEX, DROP VIEW

DROP TABLE table_name;


Ejemplo:
DROP TABLE PROVEEDORES;

DROP INDEX index_name;


Ejemplo:

PRÁCTICA 3.4 Definición de datos 4


DEP. SISTEMAS Y CÓMPUTO INTEGRACIÓN DE SMBD
MTI. Juan Salvador Rodríguez Aguirre

DROP INDEX P;

DROP VIEW view_name;


Ejemplo:
DROP VIEW Acayucan_Proveedores;

PRÁCTICA 3.4 Definición de datos 5

Potrebbero piacerti anche