SHARE
TWEET

Untitled

a guest May 22nd, 2019 65 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PRAGMA FOREIGN_KEYS=ON;
  2. DROP TABLE IF EXISTS R1;
  3. DROP TABLE IF EXISTS R2;
  4. DROP TABLE IF EXISTS R3;
  5.  
  6. DROP VIEW IF EXISTS view5;
  7. DROP VIEW IF EXISTS view4;
  8. DROP VIEW IF EXISTS view3;
  9. DROP VIEW IF EXISTS view2;
  10. DROP VIEW IF EXISTS view1;
  11.  
  12. create table R1(
  13.     Номер_группы integer,
  14.     Курс integer);
  15.    
  16. create table R2(
  17.     Номер_группы integer,
  18.     Название_дисциплины text,
  19.     Вид_занятий text);
  20.    
  21. create table R3(
  22.     ФИО text,
  23.     Название_дисциплины text,
  24.     Вид_занятий text);
  25.    
  26. insert into R1 values (4641,3);
  27. insert into R1 values (4642,2);
  28. insert into R1 values (4643,3);
  29. insert into R1 values (4640,1);
  30.    
  31. insert into R2 values (4641,'БД','Лекция');
  32. insert into R2 values (4641,'БД','Лаба');
  33. insert into R2 values (4641,'БД','КП');
  34. insert into R2 values (4642,'БД','Лекция');
  35. insert into R2 values (4642,'Схема','Лаба');
  36. insert into R2 values (4642,'Схема','КП');
  37. insert into R2 values (4643,'Схема','Лекция');
  38. insert into R2 values (4640,'Схема','Лекция');
  39.  
  40. insert into R3 values ('Аксенов','БД','Лекция');
  41. insert into R3 values ('Аксенов','БД','Лаба');
  42. insert into R3 values ('Аксенов','БД','КП');
  43. insert into R3 values ('Чернышев','Схема','Лаба');
  44. insert into R3 values ('Дук','Схема','КП');
  45.  
  46. create view view1 as
  47. select ФИО
  48. from R3
  49. where ФИО in (select ФИО
  50.               from R3
  51.               group by ФИО
  52.               having count(Вид_занятий) < (select count(distinct Вид_занятий)
  53.                                            from R2))
  54. ;
  55.  
  56. create view view2 as
  57. select distinct Номер_группы
  58. from R2
  59. where Номер_группы in (select Номер_группы
  60.                        from R2
  61.                        group by Номер_группы
  62.                        having count(Вид_занятий) = (select count(distinct Вид_занятий)
  63.                                                     from R2))
  64. ;
  65.  
  66. create view view3 as
  67. select Курс
  68. from R1
  69. where Курс not in(select  Курс
  70.                   from R2 natural join R1
  71.                   where Вид_занятий = 'КП')
  72. ;
  73.  
  74. create view view4 as
  75. select ФИО
  76. from R3 natural join R2 natural join R1
  77. group by ФИО
  78. having count(Номер_группы) = 1
  79. ;
  80.  
  81. create view view5 as
  82. select Название_дисциплины
  83. from R2 natural join R1
  84. where Вид_занятий = 'Лекция'
  85. group by Название_дисциплины
  86. having count(distinct Курс) > 1
  87. ;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top