Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  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. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement