mc536/mc526 profs. anderson rocha e andré …rocha/teaching/2012s2/mc536/...estudantes. foi...
TRANSCRIPT
![Page 1: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/1.jpg)
SQL
MC536/MC526 Profs. Anderson Rocha e André Santanché
![Page 2: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/2.jpg)
Revisando Tudo
o Considere os seguintes requisitos sobre um Banco de Dados de uma escola de ensino médio controlar n Estudantes, n Disciplinas, n Turmas, n Funcionários e n Dependentes
![Page 3: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/3.jpg)
Requisitos
o Os estudantes são cadastrados com todos os seus dados pessoais, tais como nome, RG, data de nascimento, endereço, telefones (que podem ser vários números), nomes dos responsáveis, além do número de matrícula deste estudante na escola, que é o seu identificador.
![Page 4: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/4.jpg)
Requisitos
o Os funcionários são cadastrados com todos os seus dados pessoais, tais como nome, RG, data de nascimento, endereço, telefones (que podem ser vários números), data de admissão, cargo, salário, além do CPF que é o seu identificador.
![Page 5: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/5.jpg)
Requisitos
o Os endereços tanto dos estudantes, quanto dos funcionários é composto pelos seguintes atributos: rua, complemento, bairro, cidade, estado e CEP.
o Cada funcionário pode possuir vários dependentes que também serão cadastrados, contendo seu nome e grau de parentesco. Um dependente deve ser identificado pelo CPF do funcionário e mais o nome do dependente.
![Page 6: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/6.jpg)
Requisitos
o Destes funcionários alguns são professores (identificados pelo cargo que ocupam). Destes professores algum deles pode ser coordenador dos demais.
o As turmas nesta escola são identificadas pela série a qual pertence e mais um código, por exemplo “A”, “B” etc, que pode se repetir em diferentes séries. Uma turma está ligada a uma sala de aula. Sempre que necessário deve ser possível consultar quantos alunos estão matriculados numa determinada turma.
![Page 7: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/7.jpg)
Requisitos
o As disciplinas serão cadastradas a partir de um código, sua descrição e sua carga horária. Toda disciplina deve estar sendo lecionada por pelo menos um professor. Mas nem todo professor obrigatoriamente deve estar lecionando alguma disciplina.
![Page 8: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/8.jpg)
Requisitos
o Um estudante obrigatoriamente deve estar cursando alguma disciplina, mas nem toda disciplina tem que possuir estudantes cursando-a sempre.
o Todo estudante tem que pertencer a uma determinada turma, num determinado ano e toda turma tem que possuir estudantes.
![Page 9: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/9.jpg)
MER
![Page 10: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/10.jpg)
Relacional
![Page 11: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/11.jpg)
Comandos SQL para Criação
![Page 12: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/12.jpg)
Comandos SQL para Criação
![Page 13: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/13.jpg)
Comandos SQL para Criação
![Page 14: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/14.jpg)
Comandos para Inserção
o Comandos para inserção de dados na tabela TURMAS. Foram inseridas três tuplas, e como todos os atributos da tabela foram inseridos, não é preciso especificar seus nomes.
n INSERT INTO Turmas VALUES (‘01’, ‘A’, ‘0120’); n INSERT INTO Turmas VALUES (‘02’, ‘A’, ‘0121’); n INSERT INTO Turmas VALUES (‘01’, ‘B’, ‘0121’);
![Page 15: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/15.jpg)
Comandos para Inserção
o Comando para inserção de dados na tabela ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso especificar seus nomes. Observe que os dados referentes à série e à turma ja devem ter sido previamente cadastrados.
n INSERT INTO Estudantes (Matricula, Nome, RG, DataNasc, Pai, Mãe, Serie, Turma) VALUES (‘20022229’, ‘Ana Maria Vital’, ‘0356790-23’, ’11/09/1989’, ‘Carlos Vital’, “Maria Vital’, ‘01’, ‘A’);
![Page 16: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/16.jpg)
Atualizações
o Comando para alteração de dados na tabela ESTUDANTES. Supondo que seja feita a alteração do endereço de um estudante ja cadastrado.
n UPDATE Estudantes SET Rua = ’Rua dos Colibris’, Compl = ’num 20’, Bairro = ‘Centro’ WHERE Matricula = ‘20022229’;
![Page 17: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/17.jpg)
Deleção
o Comando para remoção de dados na tabela TURMAS. Observe que neste caso a remoção so sera realizada se não houver nenhum estudante cadastrado na mesma.
n DELETE FROM Turmas WHERE Serie = ‘02’ AND Codigo = ‘A’;
![Page 18: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/18.jpg)
Consultas
o Comando para consultar alguns dados na tabela ESTUDANTES. Neste caso serão apresentados os nomes e data de nascimento de todos os estudantes da turma ‘A’ da série ‘01’, ordenados pelo nome.
n SELECT Nome, DataNasc FROM Estudantes WHERE Serie = ‘01’ AND Turma = ‘A’ ORDER BY Nome;
![Page 19: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/19.jpg)
Consultas
o Comando para consultar alguns dados na tabela ESTUDANTES e TURMAS. Neste caso serão apresentados os nomes dos alunos que têm aula na sala ‘0120’.
n SELECT Nome FROM Estudantes, Turmas WHERE Sala = ‘0120’ AND Turma = Codigo;
![Page 20: MC536/MC526 Profs. Anderson Rocha e André …rocha/teaching/2012s2/mc536/...ESTUDANTES. Foi inserida uma tupla, e como nem todos os atributos da tabela foram inseridos, é preciso](https://reader033.vdocuments.mx/reader033/viewer/2022042923/5f70a460a549683b8728a166/html5/thumbnails/20.jpg)
Consultas
o Comando para consultar alguns dados na tabela FUNCIONARIOS, DISCIPLINAS e PROFESSOR_DISCIPLINA. Neste caso serão apresentados os nomes dos professores e as disciplinas por estes lecionadas.
n SELECT Nome, Descricao FROM Funcionarios, Professor_disciplina, Disciplinas WHERE CPF = CPFProfessor AND Codigo = CodDisciplina;