Advertisement
Cadara_Ramirez

Tarea Ericson

Dec 28th, 2022 (edited)
1,404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PostgreSQL 3.77 KB | Software | 0 0
  1. drop database if exists piezasyproveedores;
  2.  
  3. create database piezasyproveedores;
  4.  
  5. --drop schema if exists piezasyproveedores;
  6.  
  7. create schema if not exists piezasyproveedores;
  8.  
  9. set schema
  10.     'piezasyproveedores';
  11.  
  12. grant usage on schema piezasyproveedores to openpg;
  13.  
  14. grant create on schema piezasyproveedores to openpg;
  15.  
  16.  
  17. drop table if exists piezas;
  18.  
  19. create table piezas (
  20.     codigo int primary key not null,
  21.     Nombre varchar (100) not null
  22. );
  23.  
  24.  
  25. drop table if exists proveedores;
  26.  
  27. create table proveedores (
  28.     Id char (4) primary key not null,
  29.     Nombre varchar (100) not null
  30. );
  31.  
  32.  
  33. drop table if exists suministra;
  34.  
  35. create table suministra(
  36.     codigopieza integer,
  37.     idproveedor varchar(4),
  38.     precio integer,
  39.     primary key (codigopieza, idproveedor)
  40. );
  41.  
  42.  
  43. INSERT INTO
  44.     piezas
  45. VALUES
  46.     (1, 'Tornillo');
  47.  
  48.  
  49. INSERT INTO
  50.     piezas
  51. VALUES
  52.     (2, 'Clavos');
  53.  
  54.  
  55. INSERT INTO
  56.     piezas
  57. VALUES
  58.     (3, 'Ganchos');
  59.  
  60.  
  61. INSERT INTO
  62.     piezas
  63. VALUES
  64.     (4, 'Jack Module');
  65.  
  66.  
  67. INSERT INTO
  68.     piezas
  69. VALUES
  70.     (5, 'CABLE UTP CAT6');
  71.  
  72.  
  73. INSERT INTO
  74.     piezas
  75. VALUES
  76.     (6, 'RJ45');
  77.  
  78.  
  79. INSERT INTO
  80.     piezas
  81. VALUES
  82.     (7, 'FDP DE FIBRA');
  83.  
  84.  
  85. INSERT INTO
  86.     piezas
  87. VALUES
  88.     (8, 'PATHCORD 7-FT');
  89.  
  90.  
  91. INSERT INTO
  92.     piezas
  93. VALUES
  94.     (9, 'PATHPANEL 24 PORT');
  95.  
  96.  
  97. INSERT INTO
  98.     piezas
  99. VALUES
  100.     (10, 'GABINETE DE EXTERIOR');
  101.  
  102.  
  103. INSERT INTO
  104.     proveedores
  105. VALUES
  106.     (1, 'Sinergia Network');
  107.  
  108.  
  109. INSERT INTO
  110.     proveedores
  111. VALUES
  112.     (2, 'Netsol Soluciones de Redes');
  113.  
  114.  
  115. INSERT INTO
  116.     proveedores
  117. VALUES
  118.     (3, 'Cisco');
  119.  
  120.  
  121. INSERT INTO
  122.     proveedores
  123. VALUES
  124.     (4, 'Aruba');
  125.  
  126.  
  127. INSERT INTO
  128.     proveedores
  129. VALUES
  130.     (5, 'Juniper');
  131.  
  132.  
  133. INSERT INTO
  134.     proveedores
  135. VALUES
  136.     (6, 'Huawei');
  137.  
  138.  
  139. INSERT INTO
  140.     proveedores
  141. VALUES
  142.     (7, 'Dish Network');
  143.  
  144.  
  145. INSERT INTO
  146.     proveedores
  147. VALUES
  148.     (8, 'Mikrotik Corporation');
  149.  
  150.  
  151. INSERT INTO
  152.     proveedores
  153. VALUES
  154.     (9, 'Netscout');
  155.  
  156.  
  157. INSERT INTO
  158.     proveedores
  159. VALUES
  160.     (10, 'Microsoft');
  161.  
  162. UPDATE
  163.     suministra
  164. SET
  165.     precio = precio + 1;
  166.  
  167.  
  168. INSERT INTO
  169.     proveedores(id, Nombre)
  170. VALUES
  171.     ('11', 'Tornillos SL');
  172.  
  173.  
  174. INSERT INTO
  175.     piezas(codigo, Nombre)
  176. VALUES
  177.     (17, 'Tornillo');
  178.  
  179.  
  180. INSERT codigopiezINTO
  181.     suministra
  182. VALUES
  183.     (17, 7, 'TOSL'),
  184.     (1500, 5, 'CIS'),
  185. (500, 1, 'MCST'),
  186. (50, 4, 'JPNR'),
  187. (150, 8, 'MCST'),
  188. (20, 11, 'HWI'),
  189. (40, 10, 'CIS'),
  190. (8000, 3, 'CIS'),
  191. (150, 2, 'ARB'),
  192. (700, 6, 'MCST'),
  193. (430, 7, 'MCST');
  194.  
  195. set schema
  196.     'piezasyproveedores';
  197.    
  198. --1. Obtener el nombre de todas las piezas.
  199.  
  200. select
  201.     nombre
  202. from piezas;
  203.  
  204. --2. Obtener todos los datos de todos los proveedores.
  205.  
  206. -- si quieres obtener solo datos de la tabla proveedores
  207. select
  208.     *
  209. from proveedores;
  210.  
  211. -- si quieres incluir la informacion completa de las piezas que suministra y el precio al que la suministra
  212. select
  213.     *
  214. from proveedores;
  215.  
  216. --3. Obtener el precio promedio al que se nos suministran las piezas.
  217.  
  218. select
  219.     piezas.codigo as codigo_pieza,
  220.     piezas.nombre as nombre_pieza,
  221.     avg(suministra.precio) as precio_promedio
  222. from piezas
  223. join suministra
  224.     on suministra.codigopieza = piezas.codigo
  225. group by
  226.     piezas.codigo
  227. ;
  228.  
  229. --4. Obtener los nombres de los proveedores que suministran la pieza 1.
  230.  
  231. select
  232.     proveedores.Nombre as nombre_proveedor
  233. from proveedores
  234. join suministra
  235.     on suministra.idproveedor = proveedores.Id
  236. where
  237.     suministra.codigopieza = 1
  238. ;
  239.  
  240. --5. Obtener los nombres de las piezas suministradas por el proveedor cuyo nombre inicie con β€œDIS”.
  241.  
  242. select
  243.     piezas.Nombre
  244. from proveedores
  245. join suministra
  246.     on suministra.idproveedor = proveedores.Id
  247. join piezas
  248.     on piezas.codigo = suministra.codigopieza
  249. where
  250.     proveedores.nombre ilike 'DIS%'
  251. ;
  252.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement