· 8 years ago · Aug 22, 2018, 05:54 PM
1CREATE DATABASE IF NOT EXISTS cefet_A;
2USE cefet_A;
3
4CREATE TABLE curso(
5 descricao VARCHAR(60) NOT NULL,
6 idcurso INT AUTO_INCREMENT PRIMARY KEY,
7 UNIQUE INDEX idx_curso_desc(descricao)
8)engine=innodb charset=utf8 COLLATE=utf8_unicode_ci;
9
10CREATE TABLE aluno(
11 matricula INT AUTO_INCREMENT PRIMARY KEY,
12 nome VARCHAR(50) NOT NULL,
13 data_nascimento DATE NOT NULL
14)engine=innodb charset=utf8 COLLATE=utf8_unicode_ci;
15
16CREATE TABLE docente(
17 matricula INT AUTO_INCREMENT PRIMARY KEY,
18 nome VARCHAR(50) NOT NULL,
19 data_nascimento DATE NOT NULL
20)engine=innodb charset=utf8 COLLATE=utf8_unicode_ci;
21
22CREATE TABLE disciplina(
23 id_disciplina INT AUTO_INCREMENT PRIMARY KEY,
24 curso_id INT REFERENCES curso(idcurso),
25 docente_id INT REFERENCES docente(matricula),
26 descricao VARCHAR(60) NOT NULL
27)engine=innodb charset=utf8 COLLATE=utf8_unicode_ci;
28
29CREATE TABLE disciplina_cursada(
30 id INT AUTO_INCREMENT PRIMARY KEY,
31 disciplina_id INT REFERENCES disciplina(id_disciplina),
32 aluno_matricula INT REFERENCES aluno(matricula),
33 ano CHAR(4),
34 semestre enum('1','2'),
35 STATUS enum('mt','ap','rp') DEFAULT 'mt',
36 UNIQUE INDEX idx_disciplina_cursada(disciplina_id,aluno_matricula,ano,semestre)
37)engine=innodb charset=utf8 COLLATE=utf8_unicode_ci;
38
39ALTER TABLE docente CHANGE COLUMN matricula id INT AUTO_INCREMENT;
40
41ALTER TABLE disciplina_cursada ADD COLUMN nota_final
42DECIMAL (9,1) DEFAULT 0.0;
43
44how CREATE TABLE disciplina_cursada;
45
46INSERT INTO aluno(nome,data_nascimento) VALUES('Maria Eduarda','2001-08-12'),('Cristhianne maria','2001-02-20'),('Brenno','2001-08-13'),('Pedro Martinez','2001-11-06');
47
48INSERT INTO aluno VALUES(5,'Lucas Amaral','2002-03-06'),(6,'Felipe','2002-04-06'),(7,'VinÃcius Bonvini','2002-05-29'),(8,'Julia Goretkin','2001-12-01');
49
50SELECT nome,data_nascimento, (DATEDIFF(NOW(),data_nascimento)/365) AS Idade FROM aluno;
51
52SELECT nome,data_nascimento, (DATEDIFF(NOW(),data_nascimento)/365) AS Idade FROM aluno WHERE SUBSTRING(nome,1,1)= 'p' ORDER BY idade DESC;
53
54INSERT INTO curso(descricao)VALUES('Médio integrado ao Técnico'),('Licenciatura em Fisica'),('Gestão de Turismo'),('Sistemas'),('Engenharia Elétrica');
55
56INSERT INTO curso(descricao) VALUES('sistemas');
57
58INSERT INTO docente(nome,data_nascimento) VALUES('Rafael','1974-11-06'),('Carol','1974-10-07'),('Rodrigo','1975-10-09'),('Rafaela','1986-10-15'),('Simone','1987-06-08'),
59('Gustavo','1978-07-01');
60
61INSERT INTO disciplina(curso_id,docente_id,descricao)VALUES(4,1,"Programação Orientada a Objetos"),(1,3,"Algoritmos"),(5,4,"QuÃmica"),(2,6,"FÃsica"),(3,5,"LÃngua Portuguesa");
62
63SELECT d.descricao AS disciplina, c.descricao AS curso, do.nome AS 'docente responsavel'
64FROM disciplina d JOIN curso c JOIN ON(d.curso_id = c.id) JOIN docente do ON(d.docente_id = do.id);