SlideShare a Scribd company logo
1 of 30
Download to read offline
Banco de dados: teoria, organização e comandos de umBanco de dados: teoria, organização e comandos de um
SGBD relacionalSGBD relacional
Prof. Alex Camargo
alexcamargoweb@gmail.com
UNIVERSIDADE FEDERAL DO PAMPA
CURSO DE ENGENHARIA DE COMPUTAÇÃO
DISCIPLINA DE ENGENHARIA DE SOFTWARE
AULA 02 DE 02
Maio/2017
2
III. Objetivos da aula
Dentre os principais objetivos, podem ser elencados:
 Apresentar a teoria concernente a SGBDs, tabelas e seus
relacionamentos.
 Executar instruções DML (manipulação de dados) na linguagem
SQL.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
3
I. Organização da aula
Esta aula está organizada da seguinte maneira:
 Conceitos gerais de SGBDs
 Linguagem SQL
 Exercícios

 Referências
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
4
III. Objetivos da aula
Dentre os principais objetivos, podem ser elencados:
 Executar instruções DML (manipulação de dados) na linguagem
SQL.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
5
1. LINGUAGEM SQL
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
6
1.1 Introdução
Os comandos de manipulação de dados (DML) em SQL são
representados por:
 INSERT: permite a inclusão de novas linhas nas tabelas.
 UPDATE: altera os valores de dados já cadastrados.
 DELETE: remove dados já cadastrados.
 SELECT: utilizado para consultar o BD e retornar dados que
satisfazem a determinada expressão em um comando.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
7
1.2. Comando INSERT
Permite inserir uma linha de dados na tabela:
 INSERT INTO Nome_da_Tabela (coluna1,coluna2,colunaN)
VALUES (valor1, valor2, valorN);
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
8
1.2 Comando INSERT
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando INSERT.
9
1.3 Comando UPDATE
É usado para mudar valores de linhas de dados que já foram
cadastradas anteriormente e que obedecem a determinados
critérios, especificados em condições.
 UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 =
valor2, colunaN = valorN;
Se não for colocada a cláusula WHERE (será vista a seguir) no
comando UPDATE, as alterações serão realizadas em todos os
registros da tabela.
 UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 =
valor2, colunaN = valorN WHERE condições;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
10
1.3 Comando UPDATE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando UPDATE.
11
1.4 Comando DELETE
É usado para remover linhas de uma tabela.
 DELETE FROM Nome_da_Tabela tabela WHERE <condições>;
Se não for colocada a cláusula WHERE no comando DELETE,
serão apagados todos os registros de uma tabela.
 DELETE FROM Nome_da_Tabela tabela WHERE <condições>;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
12
1.4 Comando DELETE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando DELETE.
13
1.5 Comando SELECT
É usado para consultar o banco de dados e retornar dados
recuperados que satisfazem a determinada condição expressa no
comando.
 SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela;
Se não for utilizada a cláusula WHERE no comando SELECT,
serão retornados todos os registros de uma tabela.
 SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela
WHERE <condições>;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
14
2.5. Comando SELECT
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando SELECT.
15
1.5 Comando SELECT
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando SELECT.
16
1.6 Cláusula WHERE
Retorna apenas os valores das linhas que atendem as condições
especificadas na cláusula.
 UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 =
valor2 WHERE condições;
 DELETE FROM Nome_da_Tabela tabela WHERE <condições>;
 SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela
WHERE <condições>;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
17
2.6. Cláusula WHERE
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Cláusula WHERE.
18
1.7 Cláusula ORDER BY
Esta cláusula aparece sempre posicionada no final do comando
SELECT e tem como objetivo ordenar os resultados.
 SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela
WHERE <condições> ORDER BY colunan [ASC,DESC];
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
19
1.7 Cláusula ORDER BY
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Cláusula ORDER BY ASC.
20
1.7 Cláusula ORDER BY
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Cláusula ORDER BY DESC.
21
1.8 Comando SELECT: entre tabelas
A ligação entre tabelas (JOIN) permite extrair, através de um único
SELECT, informações contidas em diferentes tabelas.
SELECT coluna1.t1, coluna1.t2, colunan.tn
FROM Nome_da_Tabela1 t1
INNER JOIN Nome_da_Tabela2 t2
ON coluna1.t1 = coluna1.t2
WHERE <condições>
GROUP BY colunan.tn;
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
22
1.8 Comando SELECT: entre tabelas
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Representação das tabelas.
23
1.8 Comando SELECT: entre tabelas
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando SELECT: ligação entre 2 tabelas.
24
1.8 Comando SELECT: entre tabelas
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Representação das tabelas.
25
1.8 Comando SELECT: entre tabelas
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
Figura. Comando SELECT: ligação entre 3 tabelas.
26
2. EXERCÍCIOS
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
27
2.1 Atividade 1
Considere as seguintes tabelas para um banco de dados de uma
escola:
 Curso (CodigoCurso (PK), Nome, NumeroVagas).
 Instrutor (CodigoInstrutor (PK), Nome, Formacao, Celular).
 Horario (CodigoHorario (PK), Sala, Data, Hora).
 Agenda (CodigoAgenda (PK), CodigoCurso (FK), CodigoInstrutor
(FK), CodigoHorario (FK)).
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
28
3.1. Atividade 1
Através de consultas SQL, faça:
 a) Crie um novo banco de dados.
 b) Crie as tabelas conforme a especificação apresentada.
 c) Mostre todas as tabelas do seu BD.
 d) Insira pelo menos 2 registros em cada tabela.
 e) Mostre o nome de todos os cursos.
 f) Mostre o nome e a formação de todos os instrutores.
 g) Mostre todas colunas da tabela horário.
 h) Mostre o nome do curso e as vagas ordenado pela
quantidade de vagas.
 i) Mostre o nome do curso e as vagas na qual o número de
vagas seja maior que 10, ordenado pelo número de vagas em
descendente.
 j) Coloque todos os cursos da Sala 01 para a Sala 02.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
29
3.1. Atividade 1
Através de consultas SQL, faça:
 k) Mostre os cursos e seus respectivos horários.
 l) Mostre os instrutores, seus respectivos cursos e salas.
 m) Elimine todos os registros da agenda.
 n) Elimine a tabela Agenda.
 o) Elimine o banco de dados Escola.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
30
Referências
DAMAS, Luís. SQL, Structured query language. Tradução Elvira Maria Antunes
Uchôa. 6a Edição, Rio de Janeiro: LTC, 2007.
MEIRA, Regilan. Banco de Dados (Apostila). Instituto Federal da Bahia -
Campus Ilhéus, 2013.
Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo

More Related Content

What's hot

What's hot (10)

Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - Filtros
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Comandos DML
Comandos DMLComandos DML
Comandos DML
 
Aula 250309
Aula 250309Aula 250309
Aula 250309
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
Aula de SQL - Básico
Aula de SQL - BásicoAula de SQL - Básico
Aula de SQL - Básico
 

Similar to Banco de Dados (parte 02)

Similar to Banco de Dados (parte 02) (20)

Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Aula 05 acessando o mysql
Aula 05   acessando o mysqlAula 05   acessando o mysql
Aula 05 acessando o mysql
 
Aula 300309
Aula 300309Aula 300309
Aula 300309
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Funções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa emFunções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa em
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Funções de Base de Dados
Funções de Base de DadosFunções de Base de Dados
Funções de Base de Dados
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
Sql linguagem
Sql linguagemSql linguagem
Sql linguagem
 
Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)
 
DDL Resumo ddl
DDL Resumo ddlDDL Resumo ddl
DDL Resumo ddl
 
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdfwepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
Inner Join
Inner JoinInner Join
Inner Join
 
Excel - Filtros Automáticos e Avançados
Excel - Filtros Automáticos e AvançadosExcel - Filtros Automáticos e Avançados
Excel - Filtros Automáticos e Avançados
 
Java13
Java13Java13
Java13
 

More from Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaAlex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - DemonologiaAlex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosAlex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasAlex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaAlex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoAlex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeAlex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoAlex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoAlex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alexAlex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial IntelligenceAlex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finaisAlex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Alex Camargo
 

More from Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Banco de Dados (parte 02)

  • 1. Banco de dados: teoria, organização e comandos de umBanco de dados: teoria, organização e comandos de um SGBD relacionalSGBD relacional Prof. Alex Camargo alexcamargoweb@gmail.com UNIVERSIDADE FEDERAL DO PAMPA CURSO DE ENGENHARIA DE COMPUTAÇÃO DISCIPLINA DE ENGENHARIA DE SOFTWARE AULA 02 DE 02 Maio/2017
  • 2. 2 III. Objetivos da aula Dentre os principais objetivos, podem ser elencados:  Apresentar a teoria concernente a SGBDs, tabelas e seus relacionamentos.  Executar instruções DML (manipulação de dados) na linguagem SQL. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 3. 3 I. Organização da aula Esta aula está organizada da seguinte maneira:  Conceitos gerais de SGBDs  Linguagem SQL  Exercícios   Referências Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 4. 4 III. Objetivos da aula Dentre os principais objetivos, podem ser elencados:  Executar instruções DML (manipulação de dados) na linguagem SQL. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 5. 5 1. LINGUAGEM SQL Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 6. 6 1.1 Introdução Os comandos de manipulação de dados (DML) em SQL são representados por:  INSERT: permite a inclusão de novas linhas nas tabelas.  UPDATE: altera os valores de dados já cadastrados.  DELETE: remove dados já cadastrados.  SELECT: utilizado para consultar o BD e retornar dados que satisfazem a determinada expressão em um comando. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 7. 7 1.2. Comando INSERT Permite inserir uma linha de dados na tabela:  INSERT INTO Nome_da_Tabela (coluna1,coluna2,colunaN) VALUES (valor1, valor2, valorN); Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 8. 8 1.2 Comando INSERT Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando INSERT.
  • 9. 9 1.3 Comando UPDATE É usado para mudar valores de linhas de dados que já foram cadastradas anteriormente e que obedecem a determinados critérios, especificados em condições.  UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 = valor2, colunaN = valorN; Se não for colocada a cláusula WHERE (será vista a seguir) no comando UPDATE, as alterações serão realizadas em todos os registros da tabela.  UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 = valor2, colunaN = valorN WHERE condições; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 10. 10 1.3 Comando UPDATE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando UPDATE.
  • 11. 11 1.4 Comando DELETE É usado para remover linhas de uma tabela.  DELETE FROM Nome_da_Tabela tabela WHERE <condições>; Se não for colocada a cláusula WHERE no comando DELETE, serão apagados todos os registros de uma tabela.  DELETE FROM Nome_da_Tabela tabela WHERE <condições>; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 12. 12 1.4 Comando DELETE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando DELETE.
  • 13. 13 1.5 Comando SELECT É usado para consultar o banco de dados e retornar dados recuperados que satisfazem a determinada condição expressa no comando.  SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela; Se não for utilizada a cláusula WHERE no comando SELECT, serão retornados todos os registros de uma tabela.  SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela WHERE <condições>; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 14. 14 2.5. Comando SELECT Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando SELECT.
  • 15. 15 1.5 Comando SELECT Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando SELECT.
  • 16. 16 1.6 Cláusula WHERE Retorna apenas os valores das linhas que atendem as condições especificadas na cláusula.  UPDATE Nome_da_Tabela SET coluna1 = valor1, coluna2 = valor2 WHERE condições;  DELETE FROM Nome_da_Tabela tabela WHERE <condições>;  SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela WHERE <condições>; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 17. 17 2.6. Cláusula WHERE Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Cláusula WHERE.
  • 18. 18 1.7 Cláusula ORDER BY Esta cláusula aparece sempre posicionada no final do comando SELECT e tem como objetivo ordenar os resultados.  SELECT coluna1, coluna2, colunan FROM Nome_da_Tabela WHERE <condições> ORDER BY colunan [ASC,DESC]; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 19. 19 1.7 Cláusula ORDER BY Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Cláusula ORDER BY ASC.
  • 20. 20 1.7 Cláusula ORDER BY Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Cláusula ORDER BY DESC.
  • 21. 21 1.8 Comando SELECT: entre tabelas A ligação entre tabelas (JOIN) permite extrair, através de um único SELECT, informações contidas em diferentes tabelas. SELECT coluna1.t1, coluna1.t2, colunan.tn FROM Nome_da_Tabela1 t1 INNER JOIN Nome_da_Tabela2 t2 ON coluna1.t1 = coluna1.t2 WHERE <condições> GROUP BY colunan.tn; Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 22. 22 1.8 Comando SELECT: entre tabelas Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Representação das tabelas.
  • 23. 23 1.8 Comando SELECT: entre tabelas Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando SELECT: ligação entre 2 tabelas.
  • 24. 24 1.8 Comando SELECT: entre tabelas Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Representação das tabelas.
  • 25. 25 1.8 Comando SELECT: entre tabelas Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo Figura. Comando SELECT: ligação entre 3 tabelas.
  • 26. 26 2. EXERCÍCIOS Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 27. 27 2.1 Atividade 1 Considere as seguintes tabelas para um banco de dados de uma escola:  Curso (CodigoCurso (PK), Nome, NumeroVagas).  Instrutor (CodigoInstrutor (PK), Nome, Formacao, Celular).  Horario (CodigoHorario (PK), Sala, Data, Hora).  Agenda (CodigoAgenda (PK), CodigoCurso (FK), CodigoInstrutor (FK), CodigoHorario (FK)). Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 28. 28 3.1. Atividade 1 Através de consultas SQL, faça:  a) Crie um novo banco de dados.  b) Crie as tabelas conforme a especificação apresentada.  c) Mostre todas as tabelas do seu BD.  d) Insira pelo menos 2 registros em cada tabela.  e) Mostre o nome de todos os cursos.  f) Mostre o nome e a formação de todos os instrutores.  g) Mostre todas colunas da tabela horário.  h) Mostre o nome do curso e as vagas ordenado pela quantidade de vagas.  i) Mostre o nome do curso e as vagas na qual o número de vagas seja maior que 10, ordenado pelo número de vagas em descendente.  j) Coloque todos os cursos da Sala 01 para a Sala 02. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 29. 29 3.1. Atividade 1 Através de consultas SQL, faça:  k) Mostre os cursos e seus respectivos horários.  l) Mostre os instrutores, seus respectivos cursos e salas.  m) Elimine todos os registros da agenda.  n) Elimine a tabela Agenda.  o) Elimine o banco de dados Escola. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo
  • 30. 30 Referências DAMAS, Luís. SQL, Structured query language. Tradução Elvira Maria Antunes Uchôa. 6a Edição, Rio de Janeiro: LTC, 2007. MEIRA, Regilan. Banco de Dados (Apostila). Instituto Federal da Bahia - Campus Ilhéus, 2013. Banco de dados: teoria, organização e comandos de um SGBD relacional Prof. Alex Camargo