Advertisement
AmbarG

tp4BD

Sep 29th, 2024
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PostgreSQL 4.07 KB | Software | 0 0
  1. --Creacion de tablas:
  2. create table zona (codigo_zona varchar(2),nombre_zona varchar (15));
  3. create table deporte (id_deporte integer, nombre_deporte varchar (15), primary key (id_deporte));
  4. create table equipo (codigo_equipo integer, nombre_equipo varchar(20), codigo_zona varchar(3), id_deporte integer,
  5.                         primary key (codigo_equipo));
  6.                        
  7. ---eliminar alguna tabla:                      
  8. drop table zona;
  9.  
  10.  
  11. create table zona(codigo_zona varchar(2),nombre_zona varchar(15),primary key(codigo_zona));
  12.  create table region (id_region integer, nombre_region varchar (10), primary key (id_region));
  13.  create table ciudad (codigo_ciudad integer, nombre_ciudad varchar(12),id_region integer, primary key(codigo_ciudad),
  14.                         foreign key(id_region) references region(id_region));
  15.  create table campeonato(codigo_equipo integer, codigo_ciudad integer, fecha date, entradas_vendidas integer, precio_entrada numeric (12,2),
  16.                 primary key(codigo_equipo,codigo_ciudad));
  17. --Modificar y agregar la clave foranea q olvide:
  18.  
  19. alter table equipo
  20. add foreign key (id_deporte) references deporte(id_deporte);
  21.  
  22. -- Visualizar toda la tabla:
  23. select  *  from equipo;
  24.  
  25. --3.Insertamos los datos:
  26. insert into zona
  27. values
  28.         ('aa','zonaA'),
  29.         ('bb','zonaB'),
  30.         ('cc','zonaC');
  31.  
  32. insert into deporte
  33. values
  34.         (1010, 'futbol'),
  35.         (2020,'voley'),
  36.         (3030,'basquet');
  37.  
  38. insert into ciudad
  39. values
  40.         (100,'s.s.jujuy',10),
  41.         (200,'palpala',10),
  42.         (300,'ledesma',11),
  43.         (400,'yavi',12);
  44.  
  45. insert into region
  46. values
  47.         (10,'valle'),
  48.         (11,'yungas'),
  49.         (12,'puna');
  50.  
  51. insert into equipo
  52. values
  53.         (1,'equipo1', 'aa', 1010),
  54.         (2,'equipo2','bb',2020),
  55.         (3,'equipo3','cc',1010),
  56.         (4,'equipo4','aa',2020),
  57.         (5,'equipo5','bb',3030);
  58.  
  59.  
  60. insert into campeonato
  61. values
  62.         (1,100,'03-03-2023',500,30000.00),
  63.         (1,200,'07-03-2023',800,20000.00),
  64.         (2,200,'04-03-2023',200,10000.00),
  65.         (3,100,'03-03-2023',600,15000.00),
  66.         (4,300,'05-03-2023',400,20000.00),
  67.         (2,400,'10-03-2023',250,5000.00),
  68.         (5,300,'08-03-2023',350,30000.00),
  69.         (3,400,'07-03-2023',700,15000.00);
  70.  
  71.        
  72. --4.Visualizamos las tablas:
  73. select * from zona;
  74. select * from equipo;
  75. select * from deporte;
  76. select * from campeonato;
  77. select * from ciudad;
  78. select * from region;
  79.  
  80. --5.En la tabla ciudad agregue el campo “cp” correspondiente a Código Postal como entero de 4
  81. -- En la tabla equipo agregue el campo “categoria” como carácter de 1 y la restricción en
  82. --la cual sólo puede tomar los valores “A” y “B”
  83. alter table ciudad
  84. add column cp varchar(4);
  85. select * from ciudad;
  86.  
  87. alter table equipo
  88. add column categoria varchar(1) check (categoria in ('a','b'));
  89. select * from equipo;
  90. --6. Actualice todos los registros con los nuevos campos creados.
  91. -- agregue valores a la columna de categoria con update:
  92. update equipo
  93. set categoria = case
  94.     when id_deporte < 1015 then 'a'
  95.     else 'b'
  96. end;
  97. select * from equipo;
  98. --agrege valores a la columna de codigo postal con floor random q le da numeros aleatorios:
  99. update ciudad
  100. set cp = floor(random() * 9000) + 1000;
  101. select * from ciudad;
  102.        
  103.        
  104. --7. Modifique el tamaño del campo “nombre_ciudad” de carácter de 12 a carácter de 20
  105. alter table ciudad
  106. alter column nombre_ciudad set data type varchar(20);
  107. --8. Visualice la tabla de equipo con sus correspondientes registros ordenada por el campo “categoria”
  108. select * from equipo
  109. order by categoria;
  110. --9. Borre un registro de la tabla deporte que no esté referenciado en otra tabla y borre un
  111. --registro de la tabla deporte que si esté referenciado en otra tabla. ¿Cuáles fueron los
  112. --resultados? Justifique su respuesta.
  113. dudosa
  114. --10. Muestre los registros de campeonato cuya cantidad de entradas vendidas sea superior a 600.
  115. select * from campeonato
  116. where entradas_vendidas > 600;
  117. --11. Muestre los campeonatos realizados entre el 03/03/2023 y el 07/03/2023 inclusive,
  118. --ordenadas por el código_equipo en orden descendente.
  119. --Como es dentro de un rango de fechas uso between sino seria fecha y el operador = < >b
  120. select * from campeonato
  121. where fecha between  '03-03-2023' and '07-03-2023'
  122. order by codigo_equipo asc;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement