Particiones
July 13, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Particiones...
Description
Universidad de las Fuerzas Armadas ESPE Sede Latacunga
Integrantes: Jaime
Pérez
Curso: Sexto “A”
Carrera: Software
Asignatura:Sistemas
Fecha: 15/07/2021
Ana Sáncehz Sebastián Soberón
NRC: 5263
Avanzados de Base de Datos.
Ejercicio: Base Base de datos distribuidas distribuidas de una tienda departamental departamental Considere el siguiente siguiente esquema conceptual conceptual global de una base de datos: Empleado (idEmp, (idEmp, nombre, salario, salario, idDepto, cargo, cargo, edad) (RANGO) Departamento (idDepto, nombre, tipo) (LISTA) Proveedor (idProv, nombre, ciudad, tipo) (LISTA) Producto (idProd, idProv, idDepto, tipo, cantidad) (LISTA) LineaFactura LineaFactu ra (idFactura, nroLinea, nroLinea, idProducto, cantida, precio, fecha) (RANGO) Se desea fragmentar la base de datos y convertirla en una base de datos distribuida en diversos nodos, considerando considerando que cada departamento departamento será un nodo. Los empleados están distribuidos distribuido s por departamentos y existirán aplicaciones de cualquier departame departamento nto que necesitan consultar consultar información información de los empleados empleados y productos. Asuma que sólo sólo existen tres departamentos: departamentos: Deportes, Juguetería y Ropa; Ropa; cuatro tipos tipos de cargos de empleados: Administrativ Administrativo, o, Vendedor Vendedor,, Gerente y Técnico; y los proveedores son de dos ciudades: Guadalajara y Monterrey. Se solicita llenar llenar las tablas con registros registros para facilitar la fragmentación. fragmentación. Para la Creación de Tablas:
CREATE TABLE empleado ( idEmp integer NOT NULL, nombre text, salario float4, iddepto integer NOT NULL, cargo text, edad numeric );
CREATE TABLE departamento ( idDepto integer NOT NULL, nombre text, tipo text ) PARTITION BY LIST (tipo); CREATE TABLE proveedor ( idProv integer NOT NULL, nombre text, ciudad text, tipo text )PARTITION BY LIST (ciudad); CREATE TABLE producto ( idProd integer NOT NULL, idProv integer NOT NULL, idDepto integer NOT NULL, tipo text, cantidad numeric ); CREATE TABLE LineaFactura ( idFactura integer NOT NULL, nroLinea numeric, idProd integer NOT NULL, cantidad numeric, precio float4, fecha date );
Inserción de Datos en las tablas
INSERT INTO empleado VALUES ('Anita','1200','Administrativo', '1200','Administrativo','24'); '24'); INSERT INTO empleado VALUES ('Chevas','1500','Vendedor','20'); INSERT INTO empleado VALUES ('Lina','1000','G INSERT INTO empleado VALUES ('Lina','1000','Gerente','30'); INSERT INTO empleado emplead o VALUES ('Luis','500','T (' Luis','500','Tecnico', ecnico','21'); '21');
Insertar Datos a las particiones
'1200','Administrativo','24'); '24'); INSERT INTO empleado VALUES ('Anita','1200','Administrativo', INSERT INTO empleado VALUES ('Chevas','1500','Vendedor','20'); INSERT INTO empleado VALUES ('Lina','1000','Gerente','30'); INSERT INTO empleado emplead o VALUES ('Luis','500','T (' Luis','500','Tecnico', ecnico','21'); '21'); INSERT INTO producto VALUES ('Carro','20'); INSERT INTO producto VALUES ('Avion','40'); ('Avion','40'); INSERT INTO departamento VALUES ('Naka','Deportes'); INSERT INTO departamento VALUES ('Jogueyon','Jugueteria'); INSERT INTO departamento VALUES ('Adibos','Ropa')
Realizar las siguientes fragmentaciones: 1. Fragmentar de forma horizontal horizontal la tabla departamento departamento por el tipo de departamento (Deportes, Juguetería y Ropa).
CREATE TABLE TABLE tip_depa_d tip_depa_deport eportes es PARTITION PARTITION OF departame departamento nto FOR VALUES IN ('deportes'); CREATE TABLE TABLE tip_depa_j tip_depa_jug ug PARTITION PARTITION OF departame departamento nto FOR VALUES VALUES IN ('jugueteria'); CREATE TABLE TABLE tip_depa_r tip_depa_ropa opa PARTITION PARTITION OF departam departamento ento FOR VALUES VALUES IN ('ropa');
Creación de Particiones CREATE TABLE empleado ( idEmp serial,
nombre text, salario float4, iddepto serial, cargo text, edad numeric )PARTITION BY RANGE(edad); CREATE TABLE departamento ( idDepto text, serial, nombre tipo text ) PARTITION BY LIST (tipo); CREATE TABLE proveedor ( idProv serial, nombre text, ciudad text, tipo text )PARTITION BY LIST (ciudad); CREATE TABLE producto ( idProd serial, idProv serial, idDepto serial, tipo text, cantidad numeric )PARTITION BY LIST (ti CREATE TABLE producto ( idProd serial, idProv serial, idDepto serial, tipo text, cantidad numeric )PARTITION BY LIST (tipo); CREATE TABLE LineaFactura ( idFactura serial, idProd serial, nroLinea numeric, cantidad numeric, precio float4, fecha date )PARTITION BY RANGE (precio,fecha);
2. Fragmentar de forma horizontal horizontal el proveedor por la ciudad (Guadalajara, (Guadalajara, Monterrey). PARTITION OF proveedor FOR VALUES IN ('Guadalajara'); CREATE TABLE prov_city_gud PARTITION CREATE TABLE prov_city_mon PARTITION PARTITION OF proveedor FOR VALUES IN ('Monterrey');
4. Fragmentación de la línea Factura por: - Facturas cuando el precio precio sea mayor a 10 USD y la fecha sea mayor a julio julio de 2021 CREATE TABLE TABLE public public precio_mayor precio_mayor PARTITION OF public public Lineafactura Lineafactura FOR VALUES FROM ('2020-07-02') TO ('2020-07-03')
- Facturas cuando el precio precio sea menor a 10 USD y la fecha sea menor a jul julio io de 2021 CREATE TABLE TABLE public public precio_mayor precio_mayor PARTITION OF public public Lineafactura Lineafactura FOR VALUES FROM ('2021-06-02') TO ('2021-07-03')
View more...
Comments