Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.38 KB | None | 0 0
  1. DROP TABLE Aluno CASCADE CONSTRAINTS;
  2. DROP TABLE Prof CASCADE CONSTRAINTS;
  3. DROP TABLE Cadeira CASCADE CONSTRAINTS;
  4. DROP TABLE Prova CASCADE CONSTRAINTS;
  5.  
  6. CREATE TABLE aluno
  7. (   nr  varchar2(5)  NOT NULL,
  8.     nome    varchar2(50) NOT NULL,
  9.     CONSTRAINT aluno_pk PRIMARY KEY (nr)
  10. );
  11.  
  12. INSERT INTO aluno VALUES ('100','Joao');
  13. INSERT INTO aluno VALUES ('110','Manuel');
  14. INSERT INTO aluno VALUES ('120','Rui');
  15. INSERT INTO aluno VALUES ('130','Abel');
  16. INSERT INTO aluno VALUES ('140','Fernando');
  17. INSERT INTO aluno VALUES ('150','Ismael');
  18.  
  19. CREATE TABLE prof
  20. (   sigla   varchar2(5) NOT NULL,
  21.     nome    varchar2(50)    NOT NULL,
  22.     CONSTRAINT prof_pk PRIMARY KEY (sigla)
  23. );
  24.  
  25. INSERT INTO prof VALUES ('ECO','Eugénio');
  26. INSERT INTO prof VALUES ('FNF','Fernando');
  27. INSERT INTO prof VALUES ('JLS','João');
  28.  
  29. CREATE TABLE cadeira
  30. (   cod varchar2(5) NOT NULL,
  31.     design  varchar2(50)    NOT NULL,
  32.     curso   varchar2(10)    NOT NULL,
  33.     regente varchar2(5) REFERENCES prof(sigla),
  34.     CONSTRAINT cadeira_pk PRIMARY KEY (cod)
  35. );
  36.  
  37. INSERT INTO cadeira VALUES ('TS1','Teoria dos Sistemas 1','IS','FNF');
  38. INSERT INTO cadeira VALUES ('BD','Bases de Dados','IS','ECO');
  39. INSERT INTO cadeira VALUES ('EIA','Estruturas de Informação e Algoritmos','IS','ECO');
  40. INSERT INTO cadeira VALUES ('EP','Electrónica de Potência','AC','JLS');
  41. INSERT INTO cadeira VALUES ('IE','Instalações Eléctricas','AC','JLS');
  42.  
  43. CREATE TABLE prova
  44. (   nr  varchar2(5) REFERENCES aluno(nr),
  45.     cod varchar2(50) REFERENCES cadeira(cod),
  46.     DATA    DATE,
  47.     nota    NUMBER(2) CHECK (nota>=0 AND nota<=20),
  48.     CONSTRAINT prova_pk PRIMARY KEY (nr, cod, DATA)
  49. );
  50.  
  51. INSERT INTO prova VALUES ('100','TS1','92-02-11',8);
  52. INSERT INTO prova VALUES ('100','TS1','93-02-02',11);
  53. INSERT INTO prova VALUES ('100','BD','93-02-04',17);
  54. INSERT INTO prova VALUES ('100','EIA','92-01-29',16);
  55. INSERT INTO prova VALUES ('100','EIA','93-02-02',13);
  56. INSERT INTO prova VALUES ('110','EP','92-01-30',12);
  57. INSERT INTO prova VALUES ('110','IE','92-02-05',10);
  58. INSERT INTO prova VALUES ('110','IE','93-02-01',14);
  59. INSERT INTO prova VALUES ('120','TS1','93-01-31',15);
  60. INSERT INTO prova VALUES ('120','EP','93-02-04',13);
  61. INSERT INTO prova VALUES ('130','BD','93-02-04',12);
  62. INSERT INTO prova VALUES ('130','EIA','93-02-02',7);
  63. INSERT INTO prova VALUES ('130','TS1','92-02-11',8);
  64. INSERT INTO prova VALUES ('140','TS1','93-01-31',10);
  65. INSERT INTO prova VALUES ('140','TS1','92-02-11',13);
  66. INSERT INTO prova VALUES ('140','EIA','93-02-02',11);
  67. INSERT INTO prova VALUES ('150','TS1','92-02-11',10);
  68. INSERT INTO prova VALUES ('150','EP','93-02-02',11);
  69. INSERT INTO prova VALUES ('150','BD','93-02-04',17);
  70. INSERT INTO prova VALUES ('150','EIA','92-01-29',16);
  71. INSERT INTO prova VALUES ('150','IE','93-02-02',13);
  72.  
  73. SELECT nr FROM Aluno;
  74. SELECT cod,design FROM CADEIRA WHERE CADEIRA.CURSO='AC';
  75.  
  76. SELECT Aluno.nome FROM Aluno, Prof WHERE Aluno.nome = Prof.nome;
  77. /*ou*/
  78. SELECT nome FROM Aluno INTERSECT SELECT nome FROM Prof;
  79.  
  80. SELECT nome FROM Aluno MINUS SELECT nome FROM Prof;
  81.  
  82. SELECT nome FROM Aluno UNION SELECT nome FROM Prof;
  83.  
  84. SELECT DISTINCT nome FROM Aluno NATURAL JOIN Prova WHERE Prova.cod='TS1' ORDER BY nome;
  85.  
  86. SELECT DISTINCT nome FROM Aluno NATURAL JOIN Prova NATURAL JOIN CADEIRA WHERE CADEIRA.CURSO = 'IS' ORDER BY nome;
  87.  
  88. SELECT DISTINCT nome FROM Aluno NATURAL JOIN Prova NATURAL JOIN Cadeira WHERE Cadeira.Curso = 'IS' AND Prova.nota >= 10;
  89.  
  90. SELECT MAX(nota) FROM Prova;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement