Buscar

pacotão de provas CCT0199 IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - CLEBERSON - AV1.pdf
 Detalhes
Avaliação: CCT0199_AV1_201001483171
Tipo de Avaliação: AV1
Aluno: 201001483171 - CLEBERSON VARGAS CASADIO
Professor: ADRIANA APARICIO SICSU A DO NASCIMENTO Turma: 9001/AA
Nota da Prova: 8,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 30/06/2012
1.) SQL 4a sem. Pontos: 0,5 / 0,5
Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando:
AVG
COUNT
EQUAL
GROUP BY
 SUM
2.) MODELO RELACIONAL 2a sem. Pontos: 0,5 / 0,5
(CONSULPLAN - 2012) Nos SGBDs existem alguns tipos de integridade, dos quais o mais elementar funciona ao
nível da coluna do banco de dados. O valor do campo deve obedecer ao tipo de dados e às restrições de valores
admitidos para essa coluna. É o tipo conhecido por integridade de:
Tabela.
Entidade.
Atributo.
Referência.
 Domínio.
3.) SQL - CONCEITOS 3a sem. Pontos: 0,5 / 0,5
A linguagem SQL pode ter vários enfoques, EXCETO:
Linguagem de administração de banco de dados
Linguagem de consulta em ambiente cliente/servidor
Linguagem para acesso às bases de dados
Linguagem interativa de consulta (query AdHoc)
 
 Linguagem para a programação de sistemas de informação
4.) MODELO RELACIONAL 1a sem. Pontos: 0,5 / 0,5
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
1 de 4 20/08/2012 21:04
Os atributos de uma tabela constituem:
As tuplas da tabela.
Os índices da tabela.
 As colunas da tabela.
Os nomes das tabelas.
As linhas da tabela.
5.) SQL - CONCEITOS 3a sem. Pontos: 1,0 / 1,0
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra
relacional:
 Seleção e Projeção
Seleção e Junção
União e Interseção
Seleção e Diferença 
Projeção e União
6.) SQL - CONCEITOS 3a sem. Pontos: 1,0 / 1,0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
Seleção
Interseção
União
 Projeção
Junção
7.) SQL 4a sem. Pontos: 1,0 / 1,0
(ENADE 2011 - Adaptado)
CREATE TABLE PECAS (CODIGO NUMERIC(5) NOT NULL,
 DESCRICAO VARCHAR(20) NOT NULL,
 ESTOQUE NUMERIC(5) NOT NULL,
 PRIMARY KEY(CODIGO));
CREATE TABLE FORNECEDORES
(COD_FORN NUMERIC(3) NOT NULL,
 NOME VARCHAR(30) NOT NULL,
 PRIMARY KEY(COD_FORN));
CREATE TABLE FORNECIMENTOS
(COD_PECA NUMERIC(5) NOT NULL,
 COD_FORN NUMERIC(3) NOT NULL,
 QUANTIDADE NUMERIC(4) NOT NULL,
 PRIMARY KEY(COD_PECA, COD_FORN),
 FOREIGN KEY (COD_PECA) REFERENCES PECAS,
 FOREIGN KEY (COD_FORN) REFERENCES
 FORNECEDORES);
A partir desse script, assinale a opção que apresenta o comando
SQL que permite obter uma lista que contenha o nome de cada
fornecedor:
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
2 de 4 20/08/2012 21:04
SELECT * FROM FORNECEDOR;
 SELECT NOME FROM FORNECEDORES;
SELECT NOME_FORNECEDOR FROM FORNECEDORES;
SELECT NOME FROM FORNECEDOR;
SELECT * FROM FORNECEDORES;
8.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 5a sem. Pontos: 1,0 / 1,0
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL
adequada para:
Apresentar os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente.
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC;
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
9.) SQL 5a sem. Pontos: 1,0 / 1,0
Considere a relação abaixo:
AUTOMÓVEL (placa, fabricante, modelo, cor, data_de_fabricação)
A consulta SQL que responde a questão "Liste todos os automóveis (placa, modelo, cor) fabricados pela VW ou
pela Fiat" é:
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS ('VW', 'FIAT');
Nenhuma das resposta acima.
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN 'VW AND 'FIAT';
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN ('VW', 'FIAT');
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = 'VW' AND FABRICANTE = 'FIAT';
10.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 5a sem. Pontos: 1,0 / 1,0
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
3 de 4 20/08/2012 21:04
adequada para:
Apresentar os primeiros nomes, o salário e a data de admissão dos Empregados que ganham acima
de R$ 1.000,00 em ordem Crescente de Salário e de Data de Admissão.
 SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
SALARIO, DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
ASC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
ASC SALARIO, DESC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
DESC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
SALARIO DESC, DT_ADMISSAO DESC;
 
 
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
4 de 4 20/08/2012 21:04
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - CLEBERSON - AV2.pdf
 Detalhes
Avaliação: CCT0199_AV2_201001483171
Tipo de Avaliação: AV2
Aluno: 201001483171 - CLEBERSON VARGAS CASADIO
Professor: ADRIANA APARICIO SICSU A DO NASCIMENTO Turma: 9001/AA
Nota da Prova: 6,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 25/08/2012
1.) SQL PARTE 3 5a sem. Pontos: 0,5 / 1,5
Baseado nas tabelas empregado e dependente ilustradas na figura abaixo, escreva uma consulta SQL que
recupere o(s) nome(s) do(s) empregado(s) que possui(em) mais de um dependente.
Resposta: SELECT E.NOME FROM EMPREGADO E, DEPENDENTE D WHERE E.CODIGO_EMPREGADO =
D.CODIGO_EMPREGADO
2.) SQL PARTE 3 5a sem. Pontos: 1,5 / 1,5
Escreva uma consulta SQL que recupere a cor e a quantidade de peças existentes, agrupadas por sua cor. A tabela
pecas está ilustrada na figura a seguir.
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
1 de 4 05/09/2012 09:46
Resposta: SELECT COR, COUNT* FROM PECAS GROUP BY COR
3.) SQL 6a sem. Pontos: 1,0 / 1,0
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf;
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf;
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa;
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO 7a sem. Pontos: 1,0 / 1,0
Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das tabelas,
pois retorna diferentes resultados ao se inverter a ordem das tabelas?
UNION
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
2 de 4 05/09/2012 09:46
 MINUS
UNION ALL
INTERSECT
MINUS ALL
5.) SQL 8a sem. Pontos: 0,5 / 0,5
1. ______________ são objetos que apresentam auto-incremento.
2. ______________
uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, sempre que
for referenciada.
3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma sequence. É
sempre incrementada após um ______________
4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT
5. Nextval e currval ___________ ser usados dentro de uma subconsulta.
 
As palavras que preenchem as lacunas corretamente estão representadas em:
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem
 (1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem
(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem
6.) TRANSAÇÕES 9a sem. Pontos: 0,0 / 0,5
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última operação?
Abortada
 Efetivada
 Em efetivação parcial
Ativa
Em falha
7.) EXECUÇÃO DE COMANDOS E OTIMIZAÇÃO 10a sem. Pontos: 0,0 / 0,5
Para gerar estatísticas em uma tabela cada SGBD disponibiliza comandos. Dentre os tipos de estatísticas
apresentados identifique aquele que NÃO é considerado como tal:
 de sistema: utilização típica de I/O e de CPU.
 de linhas: número de linhas distintas, histograma de linhas
de tabelas: número de linhas, blocos, tamanho de registro médio
de índices: número de folhas, níveis, clustering.
de colunas: número de valores distintos, número de NULLs, histograma de valores
8.) SQL 5a sem. Pontos: 0,5 / 0,5
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
3 de 4 05/09/2012 09:46
Considere a relação abaixo:
CLIENTE (cpf, nome, endereço, telefone)
A consulta SQL que responde a pergunta "Quais os clientes (cpf e nome) que não possuem endereço cadastrado" é:
SELECT * FROM CLIENTE WHERE ENDERECO IS NULL;
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL;
SELECT CPF, NOME FROM CLIENTE;
Nenhuma das respostas acima.
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL;
9.) SQL 4a sem. Pontos: 0,5 / 0,5
O comando SQL que apaga um tabela é:
 
INSERT INTO
 DROP TABLE
REMOVE TABLE
UPDATE
DELETE TABLE
10.) SQL PARTE 1 - CREATE TABLE E DML 3a sem. Pontos: 0,5 / 0,5
Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como
ficaria o comando SQL para inserir um registro na tabela?
INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000);
INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000);
INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000');
 INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000);
INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000);
 
 
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
4 de 4 05/09/2012 09:46
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - RAYANE - AV1.pdf
16/11/12 Estácio
1/1bquestoes.estacio.br/entrada.asp?p0=143486640&p1=201207092151&p2=1506466&p3=CCT0199…
Avaliação: CCT0199_AV1_201207092151 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV1
Aluno: 201207092151 - RAYANE OLIVER LIMA DOS SANTOS
Professor: PATRICIA FIUZA DE CASTRO Turma: 9002/AB
Nota da Prova: 6,0 de 8,0 Nota do Trabalho: 0 Nota de Participação: 1 Data: 15/09/2012
 1
a
 Questão (Cód.: 107759)
Pontos: 0,0 / 0,5
Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados?
UPDATE
 
INSERT
 
SELECT
GET
JOIN
 2
a
 Questão (Cód.: 107242)
Pontos: 0,5 / 0,5
Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto
cartesiano em uma só operação.
União
Projeção
Interseção
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - XXXX - AV1.pdf
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS Período Acad.: 2012.3-EAD (G) / AV1 
 Matrícula: 
 Turma: 9001/AA 
 
É responsável por garantir a Integridade Referencial: (Cód.: 106915) 
Chave Estrangeira 
Chave Primária 
Chave Candidata 
Chave Secundária 
Chave de Atributo 
 
Considere o texto a seguir e complete as lacunas, com as expressões constantes nas 
alternativas, respeitando a correlação sequencial em que estão dispostas. (Cód.: 106376) 
Uma ..................... é uma coluna ou uma combinação de colunas cujos valores 
distinguem uma linha das demais, dentro de uma tabela. 
Uma ...................... é uma coluna ou uma combinação de colunas cujos valores 
aparecem, necessariamente, na ........................ de uma tabela. 
Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para 
distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é 
escolhida como ..................... As demais colunas ou combinações são denominadas 
........................ 
A seqüência correta encontra-se apenas em: 
 
Chave primária; chave primária; chave primária; super-chave; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave secundária; chaves 
alternativas. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
alternativas. 
Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
estrangeiras. 
 
É uma vantagem de uso da linguagem SQL: (Cód.: 106750) 
Alto custo de treinamento 
Dependência de fabricante 
Definição dinâmica dos dados 
Dependência de plataforma 
Visão única dos dados 
 
 
O comando SELECT * FROM [tabela] WHERE [condições] : 
(Cód.: 106753) 
Lista tanto as linhas quanto as colunas de uma tabela 
Lista todas as linhas de uma tabela 
Não é um comando da linguagem SQL 
Lista todas as colunas de uma tabela 
Nenhuma das respostas acima 
 
Considere a relação: (Cód.: 107076) 
ALUNO (matrícula, nome, endereço, estado, cidade, cep, datadeingresso, 
coeficiente_de_rendimento). A consulta SQL para listar os alunos com maior e menor 
coefiente de rendimento nos estado de SP, RJ e MG é: 
 
Nenhuma das respostas acima 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO = 
'SP' AND ESTADO = 'RJ' AND ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO; 
SELECT MAX, MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE 
ESTADO = 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO 
= 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
 
 
 
 
 
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra 
relacional: (Cód.: 106752) 
 
Seleção e Projeção 
União e Interseção 
Projeção e União 
Seleção e Junção 
Seleção e Diferença 
 
 
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
(Cód.: 106751) 
 
Interseção 
Junção 
Projeção 
União 
Seleção 
 
Considere a relação abaixo: (Cód.: 107047) 
CLIENTE (cpf, nome,
endereço, telefone) 
A consulta SQL que responde a pergunta "Quais os clientes (cpf e nome) que não 
possuem endereço cadastrado" é: 
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL; 
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
SELECT CPF, NOME FROM CLIENTE; 
Nenhuma das respostas acima. 
SELECT * FROM CLIENTE WHERE ENDERECO IS NULL; 
 
 
Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
TABELA COLUNA TIPO TAMANHO OBSERVAÇÃO 
X-PROD CÓDIGO NUMÉRICO 5 Chave Primária 
 DESCRICAO CARACTER 40 Único e Obrigatório 
 
 UNIDADE NUMÉRICO 8 
 VALOR_UNIT NUMÉRICO 9,2 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
Considere a relação: (Cód.: 107062) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra o total dos salários dos funcionários é: 
 
SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO; 
Nenhuma das repostas acima 
SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO; 
 
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - XXXX - AV2.pdf
 Detalhes
Avaliação: CCT0199_AV2_201001029518
Tipo de Avaliação: AV2
Aluno: 201001029518 - ANTONIO RICARDO DE SOUZA CIRIO 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 16/06/2012
1.) SQL PARTE 3 115579 / 5a sem. Pontos:0,0 / 1,5
Baseado nas tabelas emprestimo e agencia ilustradas na figura a seguir, escreva uma consulta SQL que encontre 
o nome de todas as agências e a quantidade de empréstimos que cada agência forneceu agrupados pelo nome da 
agência. Nomeie este resultado por qde_emprestimos.
Resposta:
2.) SQL PARTE 3 115534 / 5a sem. Pontos: / 1,5
Baseado nas tabelas empregado e dependente ilustradas na figura abaixo, escreva uma consulta SQL que 
recupere o(s) nome(s) do(s) empregado(s) que possui(em) mais de um dependente.
Página 1 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
MARINA
Textbox
Resposta:
3.) SQL 119979 / 6a sem. Pontos:1,0 / 1,0
Página 2 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
Listar placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2010 
Nenhuma das respostas acima.
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano > 2010; 
SELECT v.placa, v.veiculo, m.modelo FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod 
WHERE ano = 2010; 
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO 124208 / 7a sem. Pontos:1,0 / 1,0
Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?
<> ALL 
=
> ALL
< ALL
= ANY
5.) SQL 120920 / 8a sem. Pontos:0,0 / 0,5
1. ______________ são objetos que apresentam auto-incremento.
2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, sempre que 
for referenciada.
3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma sequence. É 
sempre incrementada após um ______________
4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT
5. Nextval e currval ___________ ser usados dentro de uma subconsulta.
As palavras que preenchem as lacunas corretamente estão representadas em:
(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem
6.) TRANSAÇÕES 124230 / 9a sem. Pontos:0,0 / 0,5
Para iniciar uma transação no Oracle, basta usarmos um comando SQL executável e para encerrar, podemos usar 
qualquer dos comandos abaixo, com Exceção de:
COMMIT
CREATE 
SELECT
GRANT
ROLLBACK
Página 3 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
7.) OTIMIZAÇÃO DE CONSULTAS 121650 / 10a sem. Pontos:0,5 / 0,5
(CESGRANRIO - 2010 - IBGE - Analista de Sistemas - Desenvolvimento de Aplicações)
Algumas regras de heurísticas vinculadas à álgebra relacional, como "execute as operações de seleção o mais cedo 
possível", "execute antes as projeções" e "evite os produtos cartesianos", são usualmente empregadas em sistemas 
gerenciadores de bancos de dados para a implementação de 
chaves primárias e estrangeiras. 
recuperação de dados após falhas. 
otimização de consultas. 
 índices do tipo bit map.
controle de concorrência. 
8.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 107156 / 5a sem. Pontos:0,5 / 0,5
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL 
adequada para:
Apresentar os primeiros nomes, o salário e a data de admissão dos Empregados que ganham acima 
de R$ 1.000,00 em ordem Crescente de Salário e de Data de Admissão.
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY 
DESC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY 
SALARIO, DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY 
SALARIO DESC, DT_ADMISSAO DESC;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC 
SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC 
SALARIO, DESC DT_ADMISSAO;
9.) SQL 107101 / 4a sem. Pontos:0,0 / 0,5
O comando SQL que apaga um tabela é:
DROP TABLE
DELETE TABLE
INSERT INTO
UPDATE
REMOVE TABLE
Página 4 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
10.) SQL PARTE 1 - CREATE TABLE E DML 106993 / 3a sem. Pontos:0,5 / 0,5
Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como 
ficaria o comando SQL para inserir um registro na tabela? 
INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000);
INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000');
INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas,
400, 3000);
INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000);
INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000);
Página 5 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS - XXXX - AV3.pdf
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS 
Período Acad.: 2012.1-EAD (G) / 
AV3 
Aluno: Matrícula: 
Professor: Turma: 9001/AA 
 
(CONSULPLAN - 2012) Nos SGBDs existem alguns tipos de integridade, dos quais o 
mais elementar funciona ao nível da coluna do banco de dados. O valor do campo deve 
obedecer ao tipo de dados e às restrições de valores admitidos para essa coluna. É o tipo 
conhecido por integridade de: (Cód.: 110396) 
 
Atributo. 
Domínio. 
Entidade. 
Tabela. 
Referência. 
 
Na sintaxe ANSI da junção Interior, na sua forma padrão é: (Cód.: 124195) 
 
select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
select * from tabela1 CROSS JOIN tabela2; 
select * from tabela1 LEFT JOIN tabela2; 
select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta 
externa? (Cód.: 124204) 
 
Sub-Consulta Principal 
Sub-Consulta Simple 
Sub-Consulta Multi-Linhas 
Sub-Consulta Correlata 
Sub-Consulta Multi-Valorada 
 
Analise as seguintes afirmações: (Cód.: 106402) 
"(1) A restrição de integridade referencial diz que chave primária em uma relação não 
pode ter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação" 
Podemos afirmar: 
 
As duas afirmações são falsas. 
As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
As duas afirmações são verdadeiras e a primeira justifica a segunda. 
A primeira afirmação é verdadeira e a segunda é falsa. 
A primeira afirmação é falsa e a segunda é verdadeira. 
 
Considere a relação: (Cód.: 106427) 
FILME (nome, diretor, tempoduracao, genero, ano) 
A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de 
ação com tempo de duração entre 120 e 180 minutos. 
 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
  nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 
 
 
 
 
 
Sejam as relações: (Cód.: 106425) 
 T1 =  nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) 
T2 =  nome (dept=5 (EMPREGADO)) 
A relação T3 = T1 - T2 conterá: 
 
Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham mais do 1500 
Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. 
Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 
5. 
 
 
Considere a relação: (Cód.: 107122) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra média dos salários dos funcionários é: 
 
SELECT SUM(SALARIO) FROM FUNCIONARIO; 
SELECT AVG(SALARIO) FROM FUNCIONARIO; 
SELECT SALARIO FROM FUNCIONARIO AVG; 
SELECT MEDIA(SALARIO) FROM FUNCIONARIO; 
Nenhuma das respostas acima. 
 
 
 
 
 
 
 
Considere as relações: (Cód.: 106430) 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigodisciplina em DISCIPLINA 
DISCIPLINA (codigodisciplina, nomedisciplina, creditos) 
A consulta em álgebra relacional que responde a questão "Quem são os professores 
(nome e matrícula) que ministram a disciplina Implementação de Bancos de 
Dados" está corretamente representada em: 
 
 matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈matricula 
(nomedisciplina = "Implementação de Bancos de 
Dados" (DISCIPLINA)) 
 matriculaprf, nomeprf (PROFESSORmatriculaprf =
 ⋈
matricula
 MINISTRA) 
Não existe consulta que responda a esta questão. 
 matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈
matricula
 (MINISTRAcodigo =
 ⋈
codigodisciplina
 
(DISCIPLINA))) 
   
 

  
 

   
 
 
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução 
SQL adequada para: (Cód.: 107126) 
 
 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%venda%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ; 
 
 
 
 
 
 
 
 
 
Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
 
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_01.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 1-Modelo Relacional
Conteúdo Programático desta aula
Conhecer as principais características de um Sistema de Banco de Dados;
Definir modelo de dados;
Conceituar Relação;
Identificar os componentes do modelo relacional;
Conceituar integridade referencial;
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Dados X Informação 
Dados
Informação
fatos em sua forma primária
Conhecimento produzido
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Importância dos Banco de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
O que é um banco de dados?
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
O que é um banco de dados?
conjunto de dados que se relacionam. 
Propriedades:
coleção lógica e coerente de dados com um significado inerente; 
projetado, construído e populado com dados para um propósito específico; 
possui um conjunto pré definido de usuários e aplicações;
representa algum aspecto do mundo real - “mini-mundo” e qualquer alteração efetuada neste mini-mundo é
automaticamente refletida no banco de dados.
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
EVOLUÇÃO DOS SISTEMAS
Sistemas Tradicionais
Sistemas de Banco de Dados
Baseados em Arquivos
Baseados em SGBD
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sistemas Tradicionais
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sistemas de Banco de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Benefícios de uso de um SBD
Implementação do Conceito de transação
Controle de Concorrência 
Mecanismo de acesso aos dados
Mecanismo de recuperação (Tolerância a falhas)
Maior Segurança
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Evolução dos Bancos de Dados
Bancos de Dados Centralizados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Evolução dos Bancos de Dados
Bancos de Dados Cliente – Servidor 
(com servidor de Banco de Dados)
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Evolução dos Bancos de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Evolução dos Bancos de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Evolução dos Bancos de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Estrutura Geral de um Sistema de Banco de Dados
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Esquema
Esquema é um termo utilizado na área de Banco de Dados com a mesma conotação de modelo (como produto final da atividade de modelagem).
O Esquema de um Banco de Dados é a especificação da estrutura do Banco de Dados.
De um modo geral se utiliza o termo esquema apenas para os modelos referentes ao aspecto estrutural do mundo real.
 
PESSOA
 
CPF
NOME
COD_DEP
 
DEPART
 
COD_DEP
NOME
LOCAL
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instância
É o conjunto de ocorrências dos objetos de dados de um esquema em um dado momento do tempo (Estado do BD num momento do tempo).
 
PESSOA
 
CPF
NOME
COD_DEP
123
A
D-10
456
B
D-10
789
C
D-20
 
DEPART
 
COD_DEP
NOME
LOCAL
D-10
DEPART-10
L1
D-20
DEPART-20
L2
D-30
DEPART-30
L3
ESQUEMA
INSTÂNCIA
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Arquitetura 3 Esquemas
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeto de Banco de Dados
É o processo de:
 · determinar a organização de um banco de dados, incluindo sua estrutura, conteúdo e aplicações;  
· desenvolver a estrutura de um banco de dados;
 · projetar a estrutura lógica e física de um ou mais bancos de dados com a finalidade de acomodar as informações necessárias aos usuários de uma organização, para um definido conjunto de aplicações.
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeto de Banco de Dados
Fase 1 – Projeto Conceitual de Banco de Dados: 
 Elaboração de um modelo abstrato do mini mundo – totalmente independente de qualquer tecnologia da informação. 
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeto de Banco de Dados
Fase 2 – Projeto Lógico de Banco de Dados 
	Elaboração de um modelo implementável durante a qual endereçamos uma classe de tecnologia da informação (Ex: Bancos de Dados Relacionais). 
ELABORAÇÃO DE 
UM MODELO 
IMPLEMENTÁVEL A 
PARTIR DO MODELO 
ABSTRATO 
MODELO
ABSTRATO
TECNOLOGIA
DA INFORMAÇÃO
MODELO
IMPLEMENTÁVEL
CLASSE
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeto de Banco de Dados
Fase 3 – Projeto Físico de Banco de Dados
Elaboração de um modelo processável, durante a qual endereçamos uma tecnologia da informação específica (Ex: Bancos de Dados Relacional ORACLE versão 11g).
ELABORAÇÃO DE 
UM MODELO 
PROCESSÁVEL A 
PARTIR DO MODELO 
IMPLEMENTÁVEL 
TECNOLOGIA
DA INFORMAÇÃO
MODELO
PROCESSÁVEL
EFETIVA
MODELO
IMPLEMENTÁVEL
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Ferramentas de Projeto
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Modelo Relacional
Foi proposto por Edgar Codd em 1970
Modelo Dominante nos SGBD Comerciais
Possui uma extensão denominada Objeto Relacional
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Relação = Tabela
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Atributo = Coluna
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Valores dos Atributos = Domínio
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Conjunto de Atributo = Esquema
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Tupla = Linha
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Conjunto de Tuplas = Instância
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Campo = Encontro de Linha e Coluna
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Conteúdo do Campo = Valor
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Campos sem Conteúdo = Nulo
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria 
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria = Atributo Único 
Integridade de Chave Primária
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria = Atributo Único 
Integridade de Chave Primária
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria = Atributo Obrigatório
Integridade de Entidade
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria = Atributo Obrigatório
Integridade de Entidade
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria Simples
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Primaria Composta
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Candidata
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Estrangeira
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Componente do Modelo Relacional
Chave Estrangeira -> Integridade Referencial
Chave Estrangeira
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Apresentar a Álgebra Relaciona;
- Exemplificar as principais operações da Álgebra; Relacional.
- Realizar exercícios de Álgebra Relacional.
 MODELO RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
����������������������������������������������������
Quais são as PARTES (ATIVIDADES DO PROCESSO) ???
Como elas se RELACIONAM ???
Quais são os seus PRODUTOS ??? 
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_02.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 2- Álgebra Relacional
Conteúdo Programático desta aula
Conceituar Álgebra Relacional
Conhecer as Operações da Álgebra Relacional
Utilizar Operadores de Conjunto
Escrever expressões utilizando operadores de tabelas
Analisar expressões de Álgebra relacional
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Conceitos Envolvidos
a) Relação: representada por uma tabela de duas dimensões (linhas e colunas);
b) Tupla: corresponde a uma linha da relação;
c) Atributo:
corresponde às colunas da relação;
d) Chave primária: conjunto de atributos que identificam univocamente cada tupla da
relação;
e) Chave extrangeira: atributo de uma relação que é chave primária de outra relação.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Conceitos Envolvidos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Manipulação de Dados
Duas categorias de linguagens
	– formais
		• álgebra relacional e cálculo relacional
	– comerciais (baseadas nas linguagens formais)
		• SQL
Linguagens formais - Características
	– orientadas a conjuntos
	– fechamento
		• resultados de consultas são relações
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Álgebra Relacional
Conjunto de operações sobre modelos relacionais de dados. 
As principais operações da álgebra relacional são:
Seleção
Projeção
Produto Cartesiano
Junção
Operações de Conjunto : (União, Intersecção, Diferença)
Divisão 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A operação Seleção é utilizada para selecionar um subconjunto de tuplas de uma relação, sendo que estas tuplas devem satisfazer uma condição de seleção. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A forma geral de uma operação Seleção é:
 <condição de seleção> ( <nome da relação> )
Onde: 
A letra grega  é utilizada para representar a operação de seleção; 
<condição de seleção> é uma expressão booleana aplicada sobre os atributos da relação ; 
<nome da relação> é o nome da relação sobre a qual será aplicada a operação Seleção.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A expressão que atende ao pedido é:
	 id_Depto = 10 (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10 e que ganhem salario > 1500.
:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A expressão que atende ao pedido é:
	 id_Depto = 10 E Salario > 1500 (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A operação Projeção seleciona um conjunto determinado de colunas de uma relação. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A forma geral de uma operação Projeção é:
 <lista de atributos> (<nome da relação>)
 Onde:
A letra grega  é utilizada para representar a operação de seleção
<lista de atributos> representa a lista de atributos que o usuário deseja selecionar e 
<nome da relação> representa a relação sobre a qual a operação projeção será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A expressão que atende ao pedido é:
 Id, Nome, Salario (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A Projeção e a Seleção podem ser combinadas, de forma que apenas algumas linhas e algumas colunas retornem na operação. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A forma geral da operação Projeção :
<lista de atributos> (<condição de seleção> (<nome da relação>))
 Onde
  representa a operação de projeção
 <lista de atributos> representa a lista de atributos que o usuário deseja selecionar
  representa a operação de seleção
 <condição de seleção> é a condição que a linha deve atender para ser selecionada e 
  <nome da relação> é o nome da relação sobre a qual será aplicada a operação de Seleção e Projeção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO PARA OS EMPREGADOS DO DEPARTAMENTO 10:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Realizada em Dois Passos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Passos 1 - Seleção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Passos 2 - Projeção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
Sempre na ordem Seleção -> Projeção?
 Id_Depto = 10 ( Id,Nome, Salario (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
 Id_Depto = 10 ( Id,Nome, Salario (Empregado))
Projeção não tem todas as colunas utilizadas na seleção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano
O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano
A forma geral do Produto Cartesiano é:
A X B
 Onde:
X representa a operação de produto cartesiano
A e B representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano - Exemplo
Departamento X Região
A operação ira justapor as colunas e combinar todas as linhas.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto 
Cartesiano
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção
Atua de forma similar á operação produto cartesiano, porém, a tabela resultante conterá apenas as combinações das tuplas que se relacionam de acordo com uma determinada condição de junção. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção
A forma geral de uma operação Seleção é:
R ⋈ <condição de junção> S
Onde: 
⋈ representa a operação de junção; 
<condição de junção> é uma expressão relacional, normalmente utilizando o operador =, que determina qual coluna da tabela R deve ser comparada com qual coluna da tabela S ( normalmente PK e FK); 
R e S representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção - Exemplo
Departamento ⋈ Id_Regiao = Id Região
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção - Exemplo
Departamento ⋈ Id_Regiao = Id Região
A operação ira justapor as colunas e combinar as linhas que se relacionam.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção 
Exemplo
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto
Operações
União
Interseção
Diferença
Redundância de Tuplas
Compatibilidade quanto a união
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Redundancia de Tupla
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Compatibilidade quanto a União
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas das duas relações . 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União
A forma geral da União é:
A U B
 Onde:
U representa a operação de União
A e B representam as relações sobre as quais a operação será aplicada.
A operação de União é Comutativa -> A U B = B U A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União - Exemplo
Empregado
U Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União - Exemplo
Empregado U Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em comum nas duas relações . 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção 
A forma geral da Interseção é:
A ∩ B
 Onde:
∩ representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
A operação de Interseção é Comutativa -> A ∩ B = B ∩ A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção - Exemplo
Empregado ∩ Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção - Exemplo
Empregado ∩ Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em uma tabela e não existe na outra 
. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença 
A forma geral da Diferença é:
A - B
 Onde:
- representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
A Diferença não é Comutativa -> A - B <> B - A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença - Exemplo
Empregado – Acionista ou Acionista – Empregado
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença - Exemplo
–
Empregado – Acionista ou Acionista – Empregado
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 1
–
T1 =  Id,Nome ( Id_Depto = 10 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 1
–
T1 =  Id,Nome ( Id_Depto = 10 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 2
–
T2 =  Id,Nome ( Salario >= 1500 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 2
–
T2 =  Id,Nome ( Salario >= 1500 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 3
–
T1 U T2 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão
É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se relacionam com todos os elementos da segunda relação. 
É utilizada para consultas do tipo todos os eleitores que participaram de todas as votações, os sócios que pagaram todas as mensalidades e outras do mesmo tipo. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão 
A forma geral da Diferença é:
A / B
 Onde:
/ representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão - Exemplo
ID dos Funcionários que Trabalham em todos os Projetos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão - Exemplo
ID dos Funcionários que Trabalham em todos os Projetos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão – Exemplo – Passo 1
–
T1 =  Id_Proj (Projeto)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão – Exemplo – Passo 2
–
Funcionario_Projeto / T1
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Apresentar a Linguagem SQL
Instalar e Configurar um SGBD.
Criar Tabelas.
Manipular Dados
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_03.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 3- Sql Parte 1
Conteúdo Programático desta aula
Conhecer a Linguagem SQL
Instalar e Configurar um SGBD.
Criar Tabelas.
Manipular Dados
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Todos o exemplos mostrados em nossas aulas serão feitos no Oracle 10G Express
Recomendo que instalem o Oracle na Máquina de vocês e acompanhem a aula
Link para download do Oracle:
Download Oracle
http://www.oracle.com/technetwork/database/express-edition/database10gxe-459378.html
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Download Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Download Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Download Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Instalação Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
Digite o comando: GRANT CONNECT, RESOURCE TO AULABD
DEPOIS CLIQUE EM EXECUTAR
MENSAGEM DE CONFIRMAÇÃO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Comando
CLIQUE PARA FAZER UM NOVO LOGIN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando Usuário – Via Interface
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
FAÇA UM NOVO LOGIN COM O USUARIO CRIADO
NOME USUÁRIO: AULABD
SENHA : SENHA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Testando o Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Linguagem SQL
 SQL quer dizer Structured Query Language e é o padrão mundial de acesso às bases de dados relacionais.
A Linguagem SQL é dividida nas seguintes partes:
DDL - Create, Alter, Drop, Rename, Truncate: Permitem a criação e definição de objetos como tabelas, views e outros objetos no banco de dados.
DRL -Select: É o comando mais comum do SQL. Utilizado amplamente para recuperação dos dados de uma base. 
DML - Insert, Delete, Update: Comandos de manipulação dos dados. Usados nas aplicações
que mantém a base de informações com inserções, atualizações e deleções de dados.
DCL - Grant, Revoke: São utilizados para atribuir ou remover direitos de acesso a objetos do banco de dados e suas estruturas.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
Elementos que Compõem uma Tabela
A tabela é a forma básica de armazenamento de informações em um sistema gerenciador de banco de dados relacional e por isso deve conter um conjunto de elementos, alguns opcionais, na sua composição e que são:
Nome
Colunas
Tipos de Dados
Restrições (Constraints)
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
TIPOS DE DADOS
Cada coluna de uma tabela, tem que ter um tipo de dado definido e único, obedecendo a lista de tipos definidos pelo RDBMS. No Oracle existe uma diversidade bastante grande de tipos e alguns são descritos na tabela abaixo:
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
A estrutura básica do comando é de criação de tabela é:
CREATE TABLE nome_da_tabela
 (nome_col1 tipo_col1 [restri_col1] [,
 nome_col2 tipo_col2 [ restri_col2 ] [,
 nome_col3 tipo_col3 [restri_col3] 
 ]]... [, restri_tab1 [,restri_tab2] );
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
Exemplos:
CREATE TABLE DEPARTAMENTO
( ID NUMBER(7) PRIMARY KEY,
NOME VARCHAR2(40) NOT NULL)
CREATE TABLE EMPREGADO
( ID NUMBER(7) PRIMARY KEY,
 ULT_NOME VARCHAR2(20) NOT NULL,
PRIM_NOME VARCHAR2(20) NOT NULL,
CARGO VARCHAR2(30),
SALARIO NUMBER(7,2),
DT_ADMISSAO DATE,
CPF CHAR(11) UNIQUE,
ID_DEPTO NUMBER(7) REFERENCES DEPARTAMENTO(ID),
ID_GERENTE NUMBER(7) REFERENCES EMPREGADO(ID))
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DDL – CRIAÇÃO DE TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DML
Comando Insert
O comando INSERT insere linhas em uma tabela. A forma mais simples do comando INSERT insere somente uma linha , dados os valores conforme a sintaxe abaixo:
insert into 	<nome_tabela> (coluna1, coluna2, ..., colunan)
	values (valor1, valor2, ..., valorn);
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
INSERT SEM REFERENCIAR COLUNAS
INSERT INTO DEPARTAMENTO VALUES ( 10, ‘Financeiro’)
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
INSERT REFERECIANDO COLUNAS
INSERT INTO DEPARTAMENTO (ID,NOME) 
 VALUES ( 20, ‘Vendas’)
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Conferindo Inserção
SELECT * FROM DEPARTAMENTO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DML
Comando Update
Para alterarmos dados já existentes em nossas tabelas utilizaremos o comando UPDATE.
Veja a sintaxe do comando abaixo:
UPDATE [schema. ] nome_tabela 
SET coluna1 = expressão I subquery [, colunan = ... ]
WHERE condição
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
SELECT * FROM DEPARTAMENTO
UPDATE
SOMAR 100 AO ID DOS DEPARTAMENTOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UPDATE
UPDATE DEPARTAMENTO
SET ID = ID + 100
Clique executar
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONFERINDO UPDATE
ALTEROU OS ID DOS DEPARTAMENTOS
SELECT * FROM DEPARTAMENTO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UPDATE COM CONDIÇÃO
UPDATE DEPARTAMENTO
SET ID = ID + 1000
WHERE ID = 110
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONFERINDO UPDATE
ALTEROU O ID DE 110 PARA 1110
SELECT * FROM DEPARTAMENTO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DML
Comando Delete
 Para excluirmos linhas em uma tabela utilizamos o comando DELETE.
Veja a sintaxe do comando abaixo:
DELETE [FROM] [schema.]nome_tabela
WHERE condição
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
APAGAR A LINHA DO DEPARTAMENTO DE ID 120
DESMARCAR COMMIT AUTOMATICO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
DELETE DEPARTAMENTO
COMMIT DESMARCADO
SEM FROM, NO ORACLE FROM É OPCIONAL
APAGOU AS 2 LINHAS????
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
SELECT * FROM DEPARTAMENTO
DELETE SEM WHERE APAGA TODAS AS LINHAS
E AGORA?
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
ROLLBACK
COMMIT DESMARCADO
CANCELA A TRANSAÇÃO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
VOLTARAM AS LINHAS
SELECT * FROM DEPARTAMENTO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE COM WHERE
DELETE FROM DEPARTAMENTO
WHERE ID = 120
COMMIT DESMARCADO
AGORA COM FROM E WHERE
SO A LINHA DE ID 120 APAGADA
COMO TORNAR A ALTERAÇÃO DEFINITIVA?
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
DELETE
COMMIT
FECHOU A TRANSAÇÃO
IMPORTANTE
DEPOIS DO COMMIT NÃO ADIANTA DAR ROLLBACK
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONFERINDO DELETE
LINHA DE ID 120 FOI APAGADA
SELECT * FROM DEPARTAMENTO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ELIMANDO TABELAS
Para excluirmos uma tabela existente devemos usar o comando DROP 
TABLE. A sua forma geral é: 
 
DROP TABLE <nome_tabela>;
 
onde: 
 
<nome_tabela> dever ser substituído pelo nome da tabela a ser excluída. 
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ELIMANDO TABELAS
DROP TABLE EMPREGADO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Aprender a rodar um Script no Oracle
Conhecer o Comando Select
Recuperar dados de uma tabela
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_04.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 4- Sql Parte 2
Conteúdo Programático desta aula
Conhecer o comando Select
Executar um script no Oracle.
Recuperar dados de uma tabela.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Modelo de Dados
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando modelo
CREATE TABLE DEPARTAMENTO
( ID NUMBER(7) PRIMARY KEY,
NOME VARCHAR2(40) NOT NULL)
INSERT INTO DEPARTAMENTO VALUES ( 10, 'Financeiro');
INSERT INTO DEPARTAMENTO VALUES ( 20, 'Vendas');
INSERT INTO DEPARTAMENTO VALUES ( 30, 'Administrativo');
COMMIT;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando modelo
CREATE TABLE EMPREGADO
( ID NUMBER(7) PRIMARY KEY,
 ULT_NOME VARCHAR2(20) NOT NULL,
PRIM_NOME VARCHAR2(20) NOT NULL,
CARGO VARCHAR2(30),
SALARIO NUMBER(7,2),
DT_ADMISSAO DATE,
CPF CHAR(11) UNIQUE,
ID_DEPTO NUMBER(7) REFERENCES DEPARTAMENTO(ID),
ID_GERENTE NUMBER(7) REFERENCES EMPREGADO(ID));
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando modelo
INSERT INTO EMPREGADO VALUES( 1, 'Velasquez', 'Carmen','Presidente',25000, '08/04/2008','12345678901',30,null);
INSERT INTO EMPREGADO VALUES( 2, 'Neves', 'Lauro', 'Diretor de Vendas',19500, '07/03/2009','23456789012',20, 1);
INSERT INTO EMPREGADO VALUES( 3, 'Nogueira', 'Mário','Diretor Financeiro', 18000, '07/04/2010','34567890123',10,1);
INSERT INTO EMPREGADO VALUES( 4, 'Queiroz', 'Mark','Gerente de Vendas',8000, '07/11/2010','12345432123',20,2);
INSERT INTO EMPREGADO VALUES( 5, 'Rodrigues',
'Alberto', 'Vendedor',4000, '10/1/2008', '87965432123', 20, 4);
INSERT INTO EMPREGADO VALUES( 6, 'Ugarte', 'Marlene', 'Vendedor', 3500,'23/11/2009', '87654345678',20,4);
COMMIT;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Criando modelo
CREATE TABLE CLIENTE
( ID NUMBER(7) PRIMARY KEY,
NOME VARCHAR2(40) NOT NULL,
VENDEDOR NUMBER(7) REFERENCES EMPREGADO(ID));
INSERT INTO CLIENTE VALUES ( 110, 'Ponto Quente',5);
INSERT INTO CLIENTE VALUES ( 120, 'Casa Supimpa',6);
INSERT INTO CLIENTE VALUES ( 130, 'Coisas e Tralhas',5);
INSERT INTO CLIENTE VALUES ( 140, 'Casa Desconto',null);
COMMIT;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
Comando Select
É o comando SQL para recuperação dos dados de uma ou mais tabelas. Pode referenciar todas ou parte das colunas de uma ou mais tabelas, além de poder restringir as linhas que serão recuperadas.
Como é orientado a conjuntos, um único comando pode retornar nenhuma ou várias linhas de uma combinação de tabelas desde que satisfaçam restrições impostas. 
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
Os componentes básicos do comando são:
A Cláusula SELECT
Lista as colunas que serão recuperadas
Se utilizarmos o artifício do * (asterisco) na cláusula SELECT, estaremos definindo que todas as colunas serão recuperadas.
A Cláusula FROM
Define a tabela que será recuperada
SELECT nome-col1, nome_col2, nome coln
FROM nome_da_ tabela;
OU
SELECT *
FROM nome_da_tabela ;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ESCREVENDO EXPRESSÕES
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ESCREVENDO EXPRESSÕES
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ALIAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE
Gerando Restrições nas consultas
Ao selecionar os dados para visualização ou outra necessidade podemos, além de ordená-los, restringir o meu espectro de visualização utilizando a cláusula WHERE.
A cláusula Where estabelece uma condição que a linha deverá obdecer para que faça parte do conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro. 
Veja o exemplo abaixo onde desejamos que retornem apenas a linhas dos empregados com ID > 3:
SELECT * 
FROM EMPREGADO
WHERE ID > 3
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – CASE SENSITIVE
SELECT * FROM EMPREGADO
SELECIONAR O EMPREGADO DE NOME Ugarte
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – CASE SENSITIVE
SELECT prim_nome,cargo
FROM c_empr 
WHERE ult_nome = ' UGARTE'
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – CASE SENSITIVE
SELECT prim_nome,cargo
FROM c_empr 
WHERE ult_nome = ' Ugarte'
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – DATAS
SELECT * FROM EMPREGADO
SELECIONAR O EMPREGADO CONTRATADO EM 07/04/10
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – DATA
SELECT ULT_NOME, DT_ADMISSAO
FROM EMPREGADO
WHERE DT_ADMISSAO = '7/4/2010';
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – DATA
SELECT ULT_NOME, DT_ADMISSAO
FROM EMPREGADO
WHERE DT_ADMISSAO = '7/ABR/2010'
ou
SELECT ULT_NOME, DT_ADMISSAO
FROM EMPREGADO
WHERE DT_ADMISSAO = '7/ABRIL/2010'
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES LOGICOS
SELECT * FROM EMPREGADO
SELECIONAR OS EMPREGADOS CONTRATADOS DEPOIS DE 2008 E QUE GANHEM MAIS DE 10000
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES LOGICOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES LOGICOS
SELECT * FROM EMPREGADO
SELECIONAR OS EMPREGADOS CONTRATADOS DEPOIS DE 2008 OU QUE GANHEM MAIS DE 10000
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES LOGICOS
DATA MAIOR QUE 1/1/2009
SELECT * FROM EMPREGADO 
WHERE DT_ADMISSAO > ‘1/1/2009’ OR SALARIO > 10000
USO OR LIGANDO DUAS CONDIÇÕES 
SALARIO MAIOR QUE 10000
BASTA UMA SER VERDADEIRA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS - IN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS - IN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – NOT IN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – NOT BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – NOT LIKE
SELECT * 
FROM EMPREGADO 
WHERE DT_ADMISSAO NOT LIKE ' %/04/%'
NÃO FORAM CONTRATADOS NO MÊS 4
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – IS NULL
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – IS NULL
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – IS NOT NULL
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Aprender funções de grupo
Recuperar dados agregados de uma tabela
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_05.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 5- Sql Parte 3
Conteúdo Programático desta aula
Aprender a ordenar o resultado de
 uma consulta
Aprender funções de grupo
Recuperar dados agregados de 
uma tabela
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Rodando Script
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
Os componentes básicos do comando são:
A Cláusula SELECT
Lista as colunas que serão recuperadas
Se utilizarmos o artifício do * (asterisco) na cláusula SELECT, estaremos definindo que todas as colunas serão recuperadas.
A Cláusula FROM
Define a tabela que será recuperada
SELECT nome-col1, nome_col2, nome coln
FROM nome_da_ tabela;
OU
SELECT *
FROM nome_da_tabela ;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CONSULTANDO TABELAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ESCREVENDO EXPRESSÕES
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ALIAS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE
 LINGUAGEM SQL
IMPLEMENTAÇÃO
DE BANCO DE DADOS
UTILIZANDO WHERE – CASE SENSITIVE
SELECT prim_nome,cargo
FROM c_empr 
WHERE ult_nome = ' Ugarte'
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
UTILIZANDO WHERE – DATA
SELECT ULT_NOME, DT_ADMISSAO
FROM EMPREGADO
WHERE DT_ADMISSAO = '7/ABR/2010'
ou
SELECT ULT_NOME, DT_ADMISSAO
FROM EMPREGADO
WHERE DT_ADMISSAO = '7/ABRIL/2010'
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES LOGICOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS - IN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – BETWEEN
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – LIKE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
OPERADORES RELACIONAIS – IS NULL
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Modelo de Dados
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENANDO RESULTADOS
Para permitir a ordenação o SQL nos fornece a clausula ORDER BY.
SELECT { * | nome da coluna [, nome da coluna ...]}
FROM nome da tabela
WHERE condição {AND | OR} condição
ORDER BY nome da coluna [ ASC | DESC ]
 [, nome da coluna [ ASC | DESC] ... ]
Onde: 
	ASC ordena as linhas de forma ascendente; é a ordenação default.
	DESC ordena as linhas de forma descendente.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENANDO RESULTADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENANDO RESULTADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENANDO RESULTADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENANDO RESULTADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENAÇÃO MULTIPLA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENAÇÃO MULTIPLA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENAÇÃO PELA POSIÇÃO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ORDENAÇÃO PELA POSIÇÃO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ELIMINANDO DUPLICADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
ELIMINANDO DUPLICADOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
Funções de grupo operam sobre conjuntos de linhas. Elas retornam resultados baseados sobre um grupo de linhas, antes que um resultado por linha tenha retornado como uma função de linha única. 
Como padrão todas as linhas de um tabela são trilhadas como um grupo. 
A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
AVG (x)
Retorna o valor médio da coluna x.
Exemplo: AVG (salario)
Ignora os valores nulos.
MAX (x)
Retorna o valor máximo da coluna x.
Exemplo: MAX (salario)
Ignora os valores nulos.
MIN (x)
Retorna o valor mínimo da coluna x.
Exemplo: MIN (salario)
Ignora os valores nulos.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
SUM (x)
Retorna a soma da coluna x.
Exemplo: SUM (salario)
Ignora os valores nulos.
COUNT (x)
Retorna o número de valores não nulos da coluna x.
Exemplo: COUNT (perc_comissao)
COUNT (* )
Retorna o número de linhas de uma tabela.
Exemplo: COUNT (*)
Considera os valores nulos.
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO - DISTINCT
LISTAR A QUANTIDADE DE CARGOS E DE ID_DEPTOS
DIFERENTES
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FUNÇÕES DE GRUPO - DISTINCT
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS
Outro recurso do comando SELECT é a possibilidade de agruparmos nossos dados, utilizando a cláusula GROUP BY.
Sintaxe:
SELECT nome da coluna [ , nome da coluna]
FROM nome da tabela
WHERE condição
GROUP BY expressão
 onde
expressão especifica as colunas cujos valores determinam a base para o grupo de linhas; 
GROUP BY produz uma linha sumarizada para cada grupo de linhas selecionado. 
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
GRUPOS EM GRUPOS
LISTAR A QUANTIDADE DE EMPREGADOS, SALARIO MEDIO E 
SOMA DOS SALARIOS DOS EMPREGADOS DE CADA DEPARTAMENTO E DENTRO DO DEPARTAMENTO PARA CADA CARGO 
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
GRUPOS EM GRUPOS
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS - WHERE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CRIANDO GRUPOS - WHERE
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FILTRANDO GRUPOS - HAVING
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FILTRANDO GRUPOS - HAVING
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
FILTRANDO GRUPOS - HAVING
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Faremos uma revisão 
para a AV1
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS av1,2e3/CCT0199 - IMPLEMENTAÇÃO DE BANCO DE DADOS/Aula_06.ppt
IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 6- Sql Parte 4
Conteúdo Programático desta aula
Aprender os comandos de junção
Conhecer as diferentes sintaxes de junção
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Modelo de Dados
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Configurando Oracle
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO
Um comando SELECT pode fazer uma consulta que traz dados de duas ou mais tabelas. Esse é um processo chamado de junção [join]. As tabelas têm uma coluna em comum que é usado para fazer as junções.
 Sintaxe da Junção 
Sintaxe ANSI
Sintaxe tradicional (não ANSI)
Tipos Junção:
Junção Cruzada ou Irrestrita (Produto Cartesiano)
Junção Interior
Junção Exterior
Auto-Junção
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO CRUZADA
Uma junção cruzada [cross join] de tabelas, também chamada junção irrestrita de duas tabelas gera um resultado formado por todas as combinações possíveis de uma linha da primeira tabela com uma linha da segunda. Não existe uma condição de junção. Esse resultado é chamado produto cartesiano das duas tabelas. 
Na sintaxe ANSI, junções cruzadas são indicadas com CROSS JOIN, por exemplo: 
select *
from empregado cross join departamento; 
Na sintaxe Tradicional: 
select *
from empregado , departamento;
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO CRUZADA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO CRUZADA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO CRUZADA
RETORNANDO TODAS AS COLUNAS DAS DUAS TABELAS E COMBINANDO TODAS AS LINHAS
SELECT * FROM EMPREGADO CROSS JOIN DEPARTAMENTO, 
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO CRUZADA
 LINGUAGEM SQL
IMPLEMENTAÇÃO DE BANCO DE DADOS
JUNÇÃO INTERIOR
Esse tipo de junção conecta as duas tabelas e retorna apenas as linhas que satisfazem a condição de junção. 
Na sintaxe ANSI, junções interiores são indicadas com INNER JOIN: 
select <colunas>
from tabela1 INNER JOIN tabela2 ON <condição de junção>; 
Na sintaxe Tradicional: 
select <colunas>
from tabela1

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando