SóProvas



Questões de SQL


ID
2368
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela definida pelo comando SQL abaixo
nas questões 48 a 50.

Create table func (
nome varchar(50) not null,
salario money not null,
cod_depto int null
)

O comando SQL que deve ser usado para obter o maior valor da coluna SALARIO é:

Alternativas

ID
2371
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela definida pelo comando SQL abaixo
nas questões 48 a 50.

Create table func (
nome varchar(50) not null,
salario money not null,
cod_depto int null
)

A opção que completa corretamente o comando INSERT abaixo, de forma a inserir um registro com NOME igual a "Fulano", SALARIO igual a 2000 e COD_DEPTO nulo, é:

Insert into func (nome, salario) values ...

Alternativas
Comentários
  • Na definição da tabela é definido que o campo COD_DEPTO pode ser NULL, então basta não colocar valor nenhum no Insert into que o banco coloca null automaticamente
  • aulas excelentes e muito didáticas!! 


ID
2374
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela definida pelo comando SQL abaixo
nas questões 48 a 50.

Create table func (
nome varchar(50) not null,
salario money not null,
cod_depto int null
)

Considere a tabela definida pelo comando SQL abaixo
nas questões 48 a 50.

Create table func (
nome varchar(50) not null,
salario money not null,
cod_depto int null
)

Considere a consulta SQL abaixo:

Select nome, salario
 from func
 where salario > 900
   and not cod_depto is null
 order by salario

O requisito abaixo que não é atendido por esta consulta é:
 

Alternativas
Comentários
  • A questão está errada.... o sql é um create table...
    todas as alternativas estão incorretas
  • O enunciado da questão já foi corrigido!
  • Ordem alfabética e ordem crescente não são a mesma coisa?
  • Comunica:

    > caráter não pessoal (natureza objetiva): elementar e circunstancial

    >caráter pessoal (natureza subjetiva): elementar


    Não comunica:

    >caráter pessoal (natureza subjetiva): circunstancias

  • Excelente aula!

  • RESPOSTA E

  • Por que a letra C está errada?


ID
5008
Banca
CESGRANRIO
Órgão
TCE-RO
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, a(s) palavra(s)-chave utilizada(s) para assegurar a eliminação de duplicidades em resultados de consultas é(são):

Alternativas
Comentários
  • c-

    The SELECT DISTINCT statement is used to return only distinct (different) values.

    https://www.w3schools.com/sql/sql_distinct.asp


ID
5161
Banca
CESGRANRIO
Órgão
EPE
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

A cláusula do comando SQL create table que inclui tanto a relação dos atributos que constituem a chave estrangeira quanto o nome da relação à qual a chave estrangeira faz referência é:

Alternativas
Comentários
  • EX: 

    CREATE TABLE Sales.TempSalesReason (TempID int NOT NULL, Name nvarchar(50), 
    CONSTRAINT PK_TempSales PRIMARY KEY NONCLUSTERED (TempID), 
    CONSTRAINT FK_TempSales_SalesReason FOREIGN KEY (TempID) 
     REFERENCES Sales.SalesReason (SalesReasonID) 
     ON DELETE CASCADE
     ON UPDATE CASCADE
    );

  • Chave Estrangeira – FOREIGN KEY

    Segundo Abreu: Constituem um conceito de vital importância no modelo relacional. São os elos de ligarão entre as tabelas.

     


ID
5164
Banca
CESGRANRIO
Órgão
EPE
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

USE MASTER GO IF EXISTS(SELECT * FROM sysdatabases WHERE name='Cesgranrio') DROP DATABASE Cesgranrio GO No SQL Server 2000, que efeito tem o código acima?

Alternativas
Comentários
  • Tradução:

    Se existir (selecione tudo da 'lista de bancos de dados' cujo nome seja "cesgranrio" ), excluir banco de dados cesgranrio.

  • Linguagem de programação DECLARATIVA = SQL

    Subconjuntos:

    * DDL = create, alter, DROP (excluir tudo), truncate

    * DML = select (subconjunto: DQL = delete, update, merge, insert)

    * DTL = commit, rollback, savepoint

    * DCL = grant (concessão, permissões), revoke (revogação)

    PS. Na sintaxe dos comandos SQL (DML) = SELECT e FROM são OBRIGATÓRIOS.

    Bons estudos.


ID
5281
Banca
CESGRANRIO
Órgão
REFAP SA
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Que comando SQL cria uma visão?

Alternativas
Comentários
  • 93!

    Definição de uma view:

    create view <nome> as <consulta>

    93,93/93
  • Segundo Silberchartz

    CREATE VIEW 


ID
5359
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

A linguagem SQL é um padrão para os bancos de dados relacionais. Suas declarações podem, por exemplo, ser utilizadas para a definição de dados, modificação de esquemas, consultas e atualizações. Pode-se afirmar, sobre a SQL-99, que:

Alternativas
Comentários
  • 93!

    Uma view é chamada de atualizável se todas as condições abaixo forem satisfeitas:

    - from possui apenas uma relação;
    - select contém apenas nomes de atributos da relação e não possui expressões agregadas ou distinct;
    - qualquer atributo não listado no select pode ser null;
    - não possui group by ou having

    93,93/93
  • A letra A está incompleta, mas não errada.

    b) em uma consulta SQL a cláusula =SOME é idêntica a IN; <>SOME é idêntica a NOT IN; e <>ALL é idêntica a NOT IN.
    O predicat Any ou some, que são sinonimos, é usado para recuperar registros da consulta principal, que satisfaçam a comparação com qualquer outro registro recuperado na subconusulta. O predicado IN é empregado para recuperar unicamente aqueles registros da consulta principal para os quais alguns registro da consulat contém o valor igual.

    d) se as cláusulas WHERE, HAVING e GROUP BY forem utilizadas em uma mesma consulta, o predicado que aparece em HAVING WHERE é aplicado primeiro; então as tuplas que satisfazem a cláusula HAVING  WHEREsão colocadas em grupos por meio da cláusula GROUP BY e, por fim, a cláusula WHERE HAVING é aplicada.

    e) INNER JOIN, LEFT OUTER JOIN, FULL OUTER JOIN e NATURAL OUTER JOIN são tipos de junções utilizadas na cláusula WHERE FROM de uma consulta SQL.
  • Oi Fernanda!! Conforme vc descreveu a letra b está correta não?
    • 3 =  SOME (2,3)  =>  3=2  | 3=3  =>  F | V  =>  V  =>  idêntico a IN
    • 3 <> SOME (2,3)  =>  3<>2 | 3<>3   =>  V | F  =>  V  =>  não é idêntico a NOT IN
    • 3 <> ALL  (2,3)  =>  3<>2 & 3<>3 =>  V & F  =>  F  =>  idêntico a NOT IN

ID
5788
Banca
CESGRANRIO
Órgão
EPE
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

A linguagem SQL é um padrão utilizado para a manipulação de informações armazenadas em sistemas de bancos de dados relacionais. Para executar suas tarefas a linguagem SQL usa uma combinação de construtores em álgebra e cálculo relacional. Assinale a afirmativa INCORRETA sobre as cláusulas e operadores utilizados pela linguagem SQL.

Alternativas
Comentários
  • Letra E é a errada pois havendo uma condição WHERE e HAVING na mesma instrução select, primeiro é executado o WHERE pois este incide diretamente sobre as tabelas e depois é executado o HAVING que incide sobre o resultset final.
  • A Letra B também é incorreta. Basta executarmos a instrução select distinct count(*) from Tabela, a qual é válida

ID
7327
Banca
ESAF
Órgão
CGU
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem SQL, a consulta simples a um Banco de Dados é uma instrução SELECT e a consulta composta inclui duas ou mais instruções SELECT. Com relação às consultas com a utilização da linguagem SQL é correto afirmar que o operador

Alternativas
Comentários
  • O operador INTERSECT computa as linhas que são comuns às duas consultas (interseção). As linhas duplicadas são eliminadas, a não ser que ALL seja especificado.

    O operador UNION computa a coleção das linhas retornadas pelas consultas envolvidas. As linhas duplicadas são eliminadas, a não ser que ALL seja especificado

    O operador EXCEPT computa as linhas que são retornadas pela primeira consulta, mas que não são retornadas pela segunda consulta. As linhas duplicadas são eliminadas, a não ser que ALL seja especificado
  • INTERSECT é usado para combinar duas instruções SELECT, retornando somente as linhas da primeira instrução SELECT que sejam idênticas a uma linha da segunda instrução SELECT.

  • O estranho aqui é essa parte: retornando somente as linhas da primeira instrução SELECT que sejam idênticas a uma linha da segunda instrução SELECT.

    A uma apenas? Ele se restringe a apenas uma linha? Alguém consegue explicar?

  • INTERSECT é usado para combinar duas instruções SELECT, retornando somente as linhas da primeira instrução SELECT que sejam idênticas a uma linha da segunda instrução SELECT.


ID
7330
Banca
ESAF
Órgão
CGU
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Em um Banco de Dados, considere que na tabela "produto" existe o campo Id_prod.

Considere a seguinte instrução na linguagem SQL:

SELECT * FROM produto WHERE (Id_prod IN ('2342', '2378', '2233'))

Com relação a esta instrução é correto afirmar que ela irá retornar vazio, isto é, nenhuma ocorrência ou

Alternativas
Comentários
  • Esta sql é equivalente a
    SELECT * FROM produto WHERE (Id_prod ='2342' OR Id_prod ='2378' OR Id_prod ='2233').
    Por este motivo esta consulta retorna todas as linhas com os respectivos valores, citados acima.
  • Essa questão seria passível de recurso. Vamos às observações:

    1a. Considerando que a tabela de Produtos possua como Chave Primária o campo id_prod, os números passados na cláusula where trariam apenas 3 linhas, uma para cada id_prod

    2a. A instrução 'select *' diz ao SGBD para retornar todos os campos, ou seja, todas as colunas das linhas que atendam àqueles critérios.

    Dessa forma, poderia-se arguir a resposta como sendo a letra d).
  • SELECT * FROM produto WHERE (Id_prod IN ('2342', '2378', '2233')) informa que:

    Serão exibidas todas (*) as colunas (campos) da tabela "produto" e as linhas nas quais a coluna referente a id_prod seja igual a '2342', '2378' ou ''2233'.

ID
8245
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

SQL é uma linguagem de consulta, criada para extrair, organizar e atualizar informações em bancos de dados relacionais. Com relação aos conceitos básicos de SQL, é correto afi rmar que a instrução COMMIT

Alternativas
Comentários
  • Quando são realizados os comandos DML, os dados não são modificados imediatamente no servidor. As atualizações e alterações no banco de dados ficam em uma fila de espera. Somente com o comando COMMIT estes dados serão enviados, de fato, para o servidor.
    Segundo o HTMLStaff, um commit grava todas as atualizações pendentes, concretizando assim todas as transações atuais.
    Portanto, a alternativa correta é c).
  • c-

    commit é para confirmar o que foi realizado. se nao usar commit, as alteracoes nao serao salvas


ID
8248
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Com relação ao uso da SQL na manipulação de dados, caso se queira eliminar linhas repetidas do conjunto resultado, deve-se utilizar a palavra-chave DISTINCT, da seguinte forma:

Alternativas
Comentários
  • A questão pode confundir um pouco, já que o DISTINCT deve ser usando precedido de parênteses: DISTINCT({colunas}).

    Letra A!

    Deus nos abençoe!
  • SELECT DISTINCT {colunas} FROM {tabelas}

  • a-

    The SELECT DISTINCT statement is used to return only distinct (different) values.

    Inside a table, a column often contains many duplicate values; and sometimes you only want to list the different (distinct) values.

    Syntax:

    SELECT DISTINCT column1, column2, ...

    FROM table_name;

    https://www.w3schools.com/sql/sql_distinct.asp


ID
10468
Banca
ESAF
Órgão
CGU
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

Um procedimento armazenado (stored procedure) é uma coleção de comandos em SQL que

Alternativas
Comentários
  • "Procedimento armazenado ou Stored Procedure é uma coleção de comandos em SQL para dispensamento de Banco de dados. Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status (para indicar aceitação ou falha na execução). O procedimento armazenado pode reduzir o tráfego na rede, melhorar a performance, criar mecanismos de segurança, etc."http://pt.wikipedia.org/wiki/Procedimento_armazenadoEra só o concursando ter dado uma passadinha rápida na Wikipedia!

ID
10471
Banca
ESAF
Órgão
CGU
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

Analise as seguintes afirmações relacionadas a conceitos básicos de banco de dados e linguagem SQL.

I. Na linguagem SQL um INNER JOIN retorna todas as tuplas comuns às duas tabelas.

II. Em uma Junção entre duas tabelas a cláusula USING só poderá ser usada quando o nome do atributo for igual nas duas tabelas.

III. Na linguagem SQL um RIGHT OUTER JOIN retorna todas as tuplas que não são comuns às duas tabelas.

IV. Uma Junção é usada para compor informações complexas a partir de tabelas sem nenhum tipo de relacionamento.

Indique a opção que contenha todas as afirmações verdadeiras.

Alternativas
Comentários
  • III - False. The Right Outer Join, returns the matched rows of table A and B, plus B's unmatched rows - given that B is the right side table.
    IV - False. A Join occurs only if there's any kind of relationship between the two tables.
  • O Inner Join  tem como objetivo aglutinar duas ou mais tabelas mediante atributos comuns que estão presentes nas mesmas, onde para realizarmos esta junção, utilizamos as chaves primárias / estrangeiras.


ID
15823
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

A respeito do desenvolvimento de aplicações e bancos de dados, julgue os seguintes itens.

No SQL, são possíveis os seguintes níveis de isolamento entre transações: serializável, read com efetivação, read sem efetivação e read repetitivo. No read com efetivação, não é possível a leitura de dados não-efetivados, nem é possível que, entre duas leituras de um registro feitas por uma transação, o registro tenha sido modificado por transações efetivadas com sucesso.

Alternativas
Comentários
  • No read com efetivação (commited) não é possível leitura de registros não efetivados, mas é possível que, entre duas leituras de um registro feitas por uma transação, o registro tenha sido modificado por transações efetivadas com sucesso.
  • Serializable– A transação é totalmente isolada. Caso tente atualizar dados não gravados de outra transação, esta t, não será efetuada.
    Repeateble Read– Dados podem ser lidos mais de uma vez. Permite a leitura fantasma.
    Read Commited– Não lê dado não commitado, espera a liberação da linha da outra transação. Evita leitura não repetível.
    Read Uncommited – lê dados não gravados pelo banco de dados (passiveis de roolback). Permite a leitura suja.
    Resumo Tabulado
      Atualização Perdida Leitura Suja Leitura não-repetida Leitura Fantasma READ UNCOMMITTED Não Permite Permite Permite Permite READ COMMITED Não Permite Não Permite Permite Permite REPEATEBLE READ Não Permite Não Permite Não Permite Permite SERIALIZABLE Não Permite Não Permite Não Permite Não Permite  
  • ESSA MODIFICAÇÃO COMMITADA ENTRE DUAS LEITURAS DE UMA MESMA TRANSAÇÃO GERA AQUELE PROBLEMINHA DE LEITURA NÃO REPETIDA. POIS É, ISSO ACONTECE PORQUE O ISOLAMENTO READ COMMITED PROTEGE A TRANSAÇÃO CONTRA A "ATUALIZAÇÃO PERDIDA" E CONTRA A "LEITURA SUJA", MAS NÃO PROTEGE CONTRA A "LEITURA NÃO REPETÍVEL", NEM CONTRA A "LEITURA FANTASMA".

  •  

    READ UNCOMMITED/ATUALIZAÇÃO PERDIDA: PROTEGE/LEITURA SUJA: NÃO/LEITURA NÃO REPETIDA: NÃO/LEITURA FANTASMA: NÃO

    READ COMMITED/P/P/N/N

    REPEATABLE READ/P/P/P/N

    SERIALIZABLE/P/P/P/P

     


ID
16816
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional com o uso da
SQL (structured query language), julgue os itens a seguir.

O comando INSERT INTO FUNC (coluna1, coluna2)
DATA (dado1, dado2) está sintaticamente correto e permite
realizar a inserção de um conjunto de dados em uma tabela
denominada FUNC.

Alternativas
Comentários
  • Estaria correto se no lugar da cláusula DATA estivesse VALUES
  • INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3, ...);

     

    Exemplo:

    TABELA: EMPRESA

    CAMPOS: NOME_EMPRESA, ID_EMPRESA, ENDERECO_EMPRESA

     

    Vou inserir uma empresa nova (com dados que inventei aqui) no meu banco de dados:

     

    INSERT INTO EMPRESA (NOME_EMPRESA, ID_EMPRESA, ENDERECO_EMPRESA)
    VALUES ('INFOTEC', 234, 'RUA AMADO BATISTA, 154');


ID
16819
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional com o uso da
SQL (structured query language), julgue os itens a seguir.

O comando FROM FUNC SELECT (coluna1, coluna2)
WHERE N > M está sintaticamente correto e permite a
busca de um valor N que seja maior que o valor M, na tabela
de nome FUNC.

Alternativas
Comentários
  • Cláusula FROM

    A cláusula FROM é uma cláusula obrigatória na Expressão Seleção. Especifica as tabelas (ExpressãoTabela) das quais as outras cláusulas da consulta podem acessar as colunas a serem utilizadas nas expressões.

    Sintaxe
    FROM ExpressãoTabela [ , ExpressãoTabela ] *

    Exemplo:

    SELECT CIDADES.ID_CIDADE
    FROM CIDADES
    WHERE ID_CIDADE < 5

  • SELECT coluna1, coluna2
    FROM FUNC
    WHERE N > M
  • A cláusula FROM vem após a cláusula SELECT column names...e não antes como está na assertiva.
  • SELECT column1, column2, ...
    FROM table_name

    WHERE ....

     

    Exemplo 1: situação hipotética: dentro do meu banco de dados tenho uma tabela chamada EMPRESA com os seguintes campos: id_empresa, nome_empresa, quero achar dentro da minha tabela EMPRESA, uma empresa com o nome de "INFOSistemas LTDA", como faço? Vejamos:

    SELECT nome_empresa

    FROM EMPRESA

    WHRE nome_empresa = 'INFOSistemas LTDA'

     

    Exemplo 2: sistuação hipotética: dentro do meu banco de dados tenho uma tabela chamada EMPRESA com os seguintes campos: id_empresa,, nome_empresa, e quero encontrar todas as empresas que tem seu ID maior que 50, como faço? Vejamos:

    SELECT id_empresa

    FROM EMPRESA

    WHERE id_empresa > 50


ID
16822
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional com o uso da
SQL (structured query language), julgue os itens a seguir.

O comando UPDATE DATA INTO FUNC SET
coluna = novo_valor WHERE coluna = algum_valor está
sintaticamente correto e permite atualizar um dado na tabela
denominada FUNC.

Alternativas
Comentários
  • Sintaxe
    {
    UPDATE nome-da-tabela
    SET nome-da-coluna = Valor
    [ , nome-da-coluna = Valor} ]*
    [Cláusula WHERE] |
    UPDATE nome-da-tabela
    SET nome-da-coluna = Valor
    [ , nome-da-coluna = Valor ]*
    WHERE CURRENT OF
    }

  • O comando descrito dara um erro em função das palavras INTO FUNC. O comando correto seria:
     UPDATE DATA SET
    coluna = novo_valor WHERE coluna = algum_valor

ID
16825
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional com o uso da
SQL (structured query language), julgue os itens a seguir.

O comando DELETE FROM FUNC WHERE 0 = 0 está
sintaticamente correto e permite excluir registros da tabela
FUNC.

Alternativas
Comentários
  • É possível excluir os dados da tabela FUNC pois a condição de exclusão 0=0 é verdadeira. Nesse caso todos os registros serão excluídos.
  • Correto, não existe erro na sintaxe do SQL

    como 0 = 0 , todos os registros da tabela FUNC serão apagados

    sem dúvida uma boa casca de banana
  • Não vejo casca de banana na questão. 0 = 0 é verdadeiro, logo, exclui todas as linhas


ID
16828
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional com o uso da
SQL (structured query language), julgue os itens a seguir.

O uso de SQL JOIN é necessário quando se deseja obter o
valor de duas ou mais tabelas para gerar um resultado
completo.

Alternativas
Comentários
  • A operação de junção (join) é utilizada para combinar tuplas de duas relações partindo dos atributos comuns a ambas.
  • E a operação de produto cartesiano?  Também é um resultado gerado por duas ou mais tabelas e não é a mesma operação de junção.

    Eu acho que a questão estaria com gabarito errado.

  • cross join (produto cartesiano) também é uma operacao de junção.
  • Creio que o gabarito está errado, pois poderia se usar operadores binário (UNION, MINUS, INTERSECT) para se obter um resultado completo utilizando-se mais de uma tabela.

  • Gabarito Certo

    O comando JOIN do SQL tem a função básica de agregar tabelas mediante um campo que faça sentido às mesmas.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
17785
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Observe as seguintes tabelas de um sistema:

Pessoa (nomePessoa, endereço)
Filme (nomeFilme, estúdio, verba)
Trabalha (nomePessoa(FK), nomeFilme(FK), atividade, salário)

Um administrador de dados deseja fazer o seguinte relatório: Todas as pessoas, os filmes nos quais já trabalharam e o total recebido por cada filme. Se uma pessoa nunca trabalhou num filme, ela deve aparecer no relatório. A atividade que a pessoa exerceu no filme (ex: ator, diretor, câmera etc.) não é importante para o relatório.

Qual consulta retorna o conjunto resposta correto?

Alternativas
Comentários
  • a) SELECT P.nomePessoa, T.nomeFilme, sum(T.salário) totalFROM Pessoa P LEFT OUTER JOIN Trabalha TON P.nomePessoa = T.nomePessoaGROUP BY P.nomePessoa, T.nomeFilme

    Justificativa:

    A alternativa diz que mesmo que uma pessoa nunca trabalhou num filme deve aparecer no relatório, então deve ser usado o OUTER JOIN, pois o INNER JOIN só apresenta os resultados que casam nas duas tabelas. Deve ser usado um LEFT OUTER JOIN com a tabela Pessoa a esquerda e a tabela Trabalha a direita, assim no relatório irá aparecer todas as ocorrências da tabela Pessoa, deve-se fazer a somatória do salário na tabela Trabalha além de agrupar por nomeFilme e nomePessoa. Como apresentado na alternativa A.


ID
17797
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Um funcionário, encarregado de verificar o correto funcionamento de uma base de dados relacional, faz o seguinte teste:

select nome from emp where matr = 123;

O resultado é vazio. Então ele executa:

insert into emp(matr, nome, salario, ativo)
values (123, 'José da Silva', 2000, 'N');
commit;

O banco de dados não retorna erro e informa que inseriu uma linha.
Por fim, para verificar, ele consulta novamente:

select nome from emp where matr = 123;

O resultado continua vazio.

Supondo que o sistema gerenciador de banco de dados esteja funcionando corretamente, que opção explica o ocorrido?

Alternativas
Comentários
  • É realmente possível fazer uma inclusão de dados em uma view e o banco não dar nenhuma mensagem de erro?
  • CHECK OPTION torna a view atualizável.

    CREATE VIEW empr(matr, nome, salario, ativo) AS
    (SELECT matr, nome, salario, ativo)
    WITH CHECK OPTION;

    INSERT INTO empr(123, 'Washington Botelho', 2000, 'N');

    Deus nos abençoe!


  • Utilizando a Cláusula WITH CHECK OPTION

    • Pode-se garantir que um DML sobre uma view obedeça o domínio estabelecido para a view utilizando-se a cláusula WITH CHECK OPTION

    Exemplo:
    CREATE OR REPLACE VIEW emp20
    AS SELECT * FROM emp
    WHERE deptno = 20
    WITH CHECK OPTION CONSTRAINT emp20_ck;
    • Qualquer tentativa de se alterar o departamento
    de qualquer linha da view irá falhar, pois viola o
    constraint de WITH CHECK OPTION.

    WITH CHECK OPTION somente será aceita em meio a uma View atualizável; caso aquela que você vier a definir não seja atualizável, um erro será enviado e a mesma não será criada.

    Fonte:
    http://www.fesppr.br/~helder/Graduacao/Aulas%20-%20SQL5.pdf
  • Eu nao entendi essa resposta.

    O funcionário inseriu alguem com atributo ativo = N.

    Partindo desse fato, entao nao faz sentido que a expressao retornasse alguma resposta, pois mesmo que a visao emp retornasse todos aqueles que tivesssem ativo = S, o inserido tem ativo = N. Sendo assim, penso que o item c nao é a resposta.

    Ao mesmo tempo, eu acho que o item d é o correto, pelos argumentos já citados.

    Por favor, alguem pode me explicar a questao?

  • A cláusula WITH CHECK OPTION pode opcionalmente ser inserida na sentença de criação de uma VIEW, e especifica o nível de verificação que será realizado ao inserir/atualizar um registro de dentra da VIEW. Se for especificada, toda linha que é inserida/atualizada através da VIEW deverá estar em conformidade com as regras definidas na VIEW.

    A questão nos dá as seguintes informações:
    1> select que retorna vazio
    2> uma inserção
    3> select continua retornando vazio

    Passemos aos itens que gerariam dúvidas:

    c) "emp" é uma visão que retorna todos os empregados ativos (ativo='S'), mas foi criada sem a expressão WITH CHECK OPTION, que evitaria o problema acima.
    Correto: Como foi possível a inserção a cláusula WITH CHECK OPTION não foi inserida na view, pois do contrário a inserção retornaria um erro. Conforme figura abaixo.

    http://goo.gl/qHU6y



    d) "emp" não é uma tabela, mas uma visão que retorna todos os empregados ativos (ativo='S') e foi criada com a expressão WITH CHECK OPTION. Dessa forma, como o empregado José da Silva não está ativo, o banco de dados não gravou o registro no momento do COMMIT.
    Errado: Esse cenário não condiz com as informações fornecidas no comando da questão, pois temos que a inserção e em seguida commit foram realizados com sucesso.
    •  
  • Armando, vamos analisar:
    - a cláusula With Check Option força que os critérios de seleção da view sejam respeitadas nos comandos Insert e Update; (caso seja omitida as atualizações são feitas sem obedecer os critérios de seleção da view)
    - no enunciado afirma que o registro foi incluído na base de dados, sem qualquer mensagem de erro;
    - o item C afirma que a visão filtra os funcionários ativos, então pode-se concluir com o restante do enunciado que para que a inclusão tenha ocorrido a cláusula With Check Option não pode estar ativa;
    - no item D há a afirmação que o registro não foi gravado o que é uma contradição com o enunciado. 

    Espero ter ajudado. Bons estudos.
  • Calma galera, bora começar pelo começo.
    Primeiro: Uma view pode sim ser usada para manipular dados em um banco, desde que ela seja uma view de consulta simples (passe apenas em uma tabela).
    Segundo: A cláusula WITH CHECK OPTION não é o que torna a view passível de manipular dados, ela apenas impõe uma restrição view para que ela manipule apenas os dados que são visíveis por ela.
    Quando a questão afirmou que o usuário fez um INSERT através VIEW e o banco não retornou erro nenhum, então é porque nenhuma restrição nem da tabela base e nem da view foram quebradas. Então por que que a consulta não retornou o dado? Porque é uma dado não visível por ela.
    A única alternativa que cabe é a C.

ID
19147
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL (ANSI), NÃO é correto o uso de

Alternativas
Comentários
  • A cláusula WHERE faz parte da DML.
  • DQL - Linguagem de Consulta de Dados

    Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.

    [editar] Cláusulas

    As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta.

    FROM - Utilizada para especificar a tabela que se vai selecionar os registros.

    WHERE – Utilizada para especificar as condições que devem reunir os registros que serão selecionados.

    GROUP BY – Utilizada para separar os registros selecionados em grupos específicos.

    HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo.

    ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica.

    DISTINCT – Utilizada para selecionar dados sem repetição.

    [editar] Operadores Lógicos

    AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos.

    OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.

    NOT – Negação lógica. Devolve o valor contrário da expressão.


    http://pt.wikipedia.org/wiki/SQL
  • Não é possível usar o WHERE para criar uma tabela que é deninição de DDL (Data Definition Language)

     

    CREATE TABLE .....

    WHERE condição.

     

    O WHERE é usando apenas em linguagem de manipulação de dados DML e não na linguaguem de definaição de dados que é reposnvável por gerenciar a estrutura dos dados como criação, exlcusão e alteração de datebals do banco de dados por exemplo.

     


ID
19150
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Em determinada circunstância, houve a necessidade do uso de funções SQL (ANSI) para

I. somar valores de uma coluna da tabela;
II. obter o tamanho de um texto;
III. criar índices.

Respectivamente aos itens I, II e III, foi correto o uso de

Alternativas
Comentários
  • Funções de Agregação

    As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de registros.

    AVG – Utilizada para calcular a media dos valores de um campo determinado.

    COUNT – Utilizada para devolver o número de registros da seleção.

    SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.

    MAX – Utilizada para devolver o valor mais alto de um campo especificado.

    MIN – Utilizada para devolver o valor mais baixo de um campo especificado.

    #######################################

    DDL - Linguagem de Definição de Dados

    O segundo grupo é a DDL (Data Definition Language - Linguagem de Definição de Dados). Uma DDL permite ao utilizador definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL.

    Os comandos básicos da DDL são poucos

    * CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados.

    * DROP apaga um objeto do banco de dados.

    Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.

    outros comandos DDL:

    * ALTER TABLE

    * CREATE INDEX

    * ALTER INDEX

    * DROP INDEX

    * CREATE VIEW

    * DROP VIEW
    ####################################

    Função escalar -> Retorna valores Ex. Tamanho de um texto,horas trabalhadas de um empregado...

ID
27304
Banca
FCC
Órgão
TRE-SE
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

São operadores de conjunto (SQL-ANSI)

Alternativas
Comentários
  • Operadores de conjuntos
    UNION Junta 2 SELECTs. Elimina repetidos.
    UNION ALL Junta 2 SELECTs. NÃO elimina repetidos.
    INTERSECT As linhas em comum de 2 SELECTs.
    MINUS (equivalente ao EXCEPT) As linhas do 1º SELECT menos as do 2º.

    Exemplo:
    SELECT funcao
    FROM emp e
    WHERE ndep = 10
    UNION | UNION ALL | INTERSECT | MINUS
    SELECT funcao
    FROM emp e
    WHERE ndep = 30;

    Nota: Os SELECTs têm que concordar em número e tipo de
    colunas. Só existe um ORDER BY no fim de tudo. Só o
    primeiro SELECT define os pseudónimos a mostrar. O ORDER
    BY pode usar esses pseudónimos.

ID
27316
Banca
FCC
Órgão
TRE-SE
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL-ANSI, Count

Alternativas
Comentários
  • Linguagem de definição de dados ou LDD (ou DDL, do inglês), com comandos como CREATE TABLE;

    Linguagem de manipulação de dados, ou LMD (ou DML, do inglês), com comandos como UPDATE e SELECT;

    Linguagem de controle de dados, ou LCD, com comandos para controle de acesso dos usuários do sistema, como GRANT e REVOKE em SQL.
  • Funções de Agregação --> Agrupam valores de acordo com alguns campos e retornam um valor baseado no conjunto de valores dos campos agregados, como uma soma, ou o menor valor entre o conjunto de valores.

    Tipos de funções de Agregação:

    AVG

    Utiliza para calcular a media dos valores de um campo determinado.

    COUNT

    Utilizada para devolver o número de registros da seleção.

    SUM

    Utilizada para devolver a soma de todos os valores de um campo determinado.

    MAX

    Utilizada para devolver o valor mais alto de um campo especificado.

    MIN

    Utilizada para devolver o valor mais baixo de um campo especificado.

  • * Funções de Agregação: Sum | Avg | Count | Max | Min | Distinct | Having

    Fonte: http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_ao_SQL/Agrega%C3%A7%C3%B5es


ID
28054
Banca
CESGRANRIO
Órgão
Prefeitura de Manaus - AM
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem SQL a cláusula select é usada para relacionar os atributos desejados no resultado de uma consulta. A palavra chave que podemos inserir após a cláusula select para forçar a eliminação de duplicidade no resultado de uma consulta é:

Alternativas
Comentários
  • Clausula Distinct - Seleciona dados sem repetição

  • Clausula Distinct - Seleciona dados sem repetição


ID
28189
Banca
CESGRANRIO
Órgão
TCE-RO
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Para recuperar linhas de um banco de dados SQL Server 2005, pode-se utilizar o comando SQL:

Alternativas
Comentários
  • INSERT - Comando de banco para inclusão de dados em uma tabela;
    READ - Não é um comando de banco de dados;
    CONSULT - Não é um comando de banco de dados;
    SELECT - Comando de banco para trazer resultados;
    ALTER - Comando de banco para alterar estruturas de banco de dados;


  • SELECT - Traz informação do local solicitado no comando.


ID
28312
Banca
CESGRANRIO
Órgão
REFAP SA
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

NÃO é um comando SQL:

Alternativas
Comentários
  • Grant - Atribui privelegios ao grupo ou usuario, a uma ou mais tabelas/views.Revoke - Remove privelegios ao grupo ou usuario, a uma ou mais tabelas/views.Update - Atualiza registros de um ou mais tabelas/views.Span - tag HTML.Drop - Exclui uma ou mais tabelas/views e todo o seu conteudo.

ID
28318
Banca
CESGRANRIO
Órgão
REFAP SA
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Que cláusula do comando SQL CREATE TABLE inclui a lista dos atributos que constituem uma chave candidata?

Alternativas
Comentários
  • RESTRICT: não permite excluir a linha referenciada

    CHECK: Restrições de verificação - permite especificar que os valores de uma determinada coluna devem estar de acordo com uma expressão booleana

    UNIQUE: Restrições de unicidade garante que os dados contidos na coluna, ou no grupo de colunas, é único em relação a todas as outras linhas da tabela.

    FOREIGN KEY: Chaves Estrangeiras especifica que o valor da coluna (ou grupo de colunas) deve corresponder a algum valor existente em uma linha de outra tabela. Diz-se que a chave estrangeira mantém a integridade referencial entre duas tabelas relacionadas.
  • A cláusula primary key é a chave primária de uma tabela, pois a definição desta cláusula diz que todos os atributos que identificam unicamente uma linha de uma tabela compõem a chave primária.

    A cláusula unique, faz com que todos os valores de um determinado atributo da tabela sejam únicos.  Devido a esta característica, todos os atributos que possuírem a cláusula unique também podem ser chamados de chaves candidatas.


    A cláusula fogrein key, é a cláusula que apresenta a relação de atributos que compõem a chave estrangeira da tabela e também à relação na qual a chave estrangeira se refere, indicando quais atributos da tabela relacionada devem ser utilizados.



ID
28624
Banca
CESGRANRIO
Órgão
DECEA
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

Suponha um banco de dados com uma tabela FUNCIONARIO contendo os campos cod_func (chave primária), nome, salario. Para impedir que o valor do campo salario em uma linha sofra modificação, um trigger pode ser criado com o seguinte script SQL (ANSI SQL99).

Alternativas
Comentários
  • CREATE TRIGGER BEFORE UPDATE OF ON {bloco de instruções}
  • Não existe stop em script sql.
  • CREATE TRIGGER [NOME DO TRIGGER]

    ON [NOME DA TABELA]

    [FOR/AFTER/INSTEAD OF] [INSERT/UPDATE/DELETE]

    AS

    IF UPDATE (coluna)

    begin

    rollback transaction

    end


ID
29011
Banca
CESGRANRIO
Órgão
CAPES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

No âmbito de banco de dados, considere os comportamentos:

I - Dirty Read;
II - Phantom Read;
III - Nonrepeatable Read.

No nível de isolamento REPEATABLE READ do padrão SQL- 92, é(são) possível(eis) o(s) comportamento(s)

Alternativas
Comentários
  • Este tipo de isolamento segura os registros para a conexão na leitura até o fim da transação, nenhum usuário pode alterar ou apagar estes registros até que a conexão encontre um commit ou rolback (implícito ou explicito), Os Dirty´s Read´s e NonRepeatable Read´s não ocorrem, porém podem ocorrer os phantons. Só utilizar este tipo de isolamento quando estritamente necessário.
  • Os níveis de isolamento permitem ou não inconsistências como: # Dirty readÉ quando minha conexão está lendo informações que ainda não foram comitadas, ou seja, a informação que li pode não existir ou mesmo ter sido modificada. # Nonrepeatable readOcorre quando eu tenho uma transação e nesta transação eu leio a informação mais de uma vez, na primeira leitura veio uma informação e na segunda e demias vieram outras informações, ou seja, não garanto a consistência da informação dentro da mesma transação # Phanton readEste tipo de inconsistência ocorre quando eu busco uma informação dentro de uma transação por exemplo por um determinado cep, o sistema me retorna 100 registros, quando dou update apenas 99 são atingidos, entre a leitura e o update 1 registro foi modificado e saiu da clausula WHERE ou foi apagadodependendo do tipo de isolamento o grau de concorrência será muito baixo, o que pode provocar muitos deadlock´s e block´s. READ COMMITEDEste é o isolation level default usado pelo SQL no Read Commited os registros são bloqueados quando se está fazendo a leitura do mesmo, por isto o tipo de inconsistência Dirty Read não existe, leio somente informações comitadas.REPEATABLE READEste tipo de isolamento segura os registros para a conexão na leitura até o fim da transação, nenhum usuário pode alterar ou apagar estes registros até que a conexão encontre um commit ou rolback (implícito ou explicito), Os Dirty´s Read´s e NonRepeatable Read´s não ocorrem, porém podem ocorrer os phantons.SERIAZABLEEste é o tipo de isolamento mais restrito, este não permite a leitura (select), atualização (update), inserção (insert) ou remoção (delete) de nenhum registro que está sendo lido, até que encontre o commit ou rollback (implícito ou explicito). Os Dirty Read´s, NonRepeatable Reads e Phanton não ocorrem.

  • Para ajudar a resolver a questão, veja a tabela:
    Tabela 12-1. Níveis de isolamento da transação no SQL

    Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read
    Read uncommitted Possível Possível Possível
    Read committed Impossível Possível Possível
    Repeatable read Impossível Impossível Possível
    Serializable Impossível Impossível Impossível

    Fonte:http://pgdocptbr.sourceforge.net/pg80/transaction-iso.html

ID
29113
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere o seguinte enunciado para responder às questões de nos 31 a 34.
Uma empresa de geração de energia deseja armazenar um conjunto de dados importantes sobre os tipos de energia com que
trabalha e os seus campos de geração. Cada tipo de energia possui um código (identificador único), um nome e uma descrição.
Além disso, cada campo de geração possui um código (identificador único), um nome, uma região e um valor médio por
kW. Assume-se que:
. cada campo de geração de energia é de um, e somente um, tipo de energia;
. pode existir mais de um campo de geração para cada tipo de energia;
. podem ser previstos alguns tipos de energia para os quais ainda não existem campos de geração.

Suponha o seguinte esquema de relação que modela o problema descrito anteriormente, para responder às questões de nos 33 e 34.

TipoEnergia (codigo, nome, descricao)
CampoGeracao (codigo, nome, codigoTipoEnergia, regiao, valorMedioPorkW)
observação: o campo codigoTipoEnergia armazena o valor do código do tipo de energia de um campo de geração.

Qual comando SQL padrão retorna o código e o nome (somente) de todos os tipos de energia que possuem, pelo menos, um campo de geração em uma região chamada 'Santos'?

Alternativas
Comentários
  • a) e e) Errado o * seleciona todas as colunas
    como o o campo codigoTipoEnergia armazena o valor do código do tipo de energia de um campo de geração. o item correto e o d.
  • a) SELECT * FROM TipoEnergia WHERE codigo IN (SELECT codigoTipoEnergia FROM CampoGeracao WHERE regiao = 'Santos');
    Retorna todas as 3 colunas de TipoEnergia sendo que o enunciado só pede 2. Errado


    b) SELECT te.codigo, te.nome FROM TipoEnergia te WHERE te.codigo IN (SELECT cg.codigo FROM CampoGeracao cg WHERE cg.regiao = 'Santos');
    Retorna as 2 colunas de TipoEnergia que o enunciado pede, porém a coluna especificada na subquery se refere à chave primária da tabela CampoGeracao ao invés da chave estrangeira que referencia TipoEnergia (esta é a pegadinha desse item). Errado


    c) SELECT te.codigo, te.nome FROM TipoEnergia te, CampoGeracao cg WHERE te.codigo=cg.codigo AND cg.regiao = 'Santos';
    Idem acima, com a junção sendo feita entre chaves primárias de tabelas distintas e não entre chave primária e estrangeira referente. Errado


    d) SELECT te.codigo, te.nome FROM TipoEnergia te, CampoGeracao cg WHERE te.codigo=cg.codigoTipoEnergia AND cg.regiao = 'Santos';

    Retorna as 2 colunas de TipoEnergia que o enunciado pede, com a junção sendo feita entre a chave primária de TipoEnergia e a chave estrangeira de CampoGeracao que referencia TipoEnergia. Correto
     
    e) SELECT DISTINCT te.* FROM TipoEnergia te, CampoGeracao cg WHERE te.codigo=cg.codigoTipoEnergia AND cg.regiao = 'Santos';

    Atenderia ao enunciado se não retornasse todas as 3 colunas de TipoEnergia ao invés das 2 pedidas. Errado

ID
29116
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere o seguinte enunciado para responder às questões de nos 31 a 34.
Uma empresa de geração de energia deseja armazenar um conjunto de dados importantes sobre os tipos de energia com que
trabalha e os seus campos de geração. Cada tipo de energia possui um código (identificador único), um nome e uma descrição.
Além disso, cada campo de geração possui um código (identificador único), um nome, uma região e um valor médio por
kW. Assume-se que:
. cada campo de geração de energia é de um, e somente um, tipo de energia;
. pode existir mais de um campo de geração para cada tipo de energia;
. podem ser previstos alguns tipos de energia para os quais ainda não existem campos de geração.

Suponha o seguinte esquema de relação que modela o problema descrito anteriormente, para responder às questões de nos 33 e 34.

TipoEnergia (codigo, nome, descricao)
CampoGeracao (codigo, nome, codigoTipoEnergia, regiao, valorMedioPorkW)
observação: o campo codigoTipoEnergia armazena o valor do código do tipo de energia de um campo de geração.

Qual comando SQL padrão apresenta, para cada tipo de energia, seu código, seu nome e o valor mínimo do conjunto de valores médios por kW (valorMedioPorkW) dos campos de geração associados a esse tipo de energia?

Alternativas
Comentários
  • A dica e perceber que todos os itens tem a operação de agrupamento no caso foi utilizado a MIN(minimo), tem outras como MAX(maximo), SUM(soma) e AVG(média).
    1- Se utiliza expressão de agrupamento preciso utilizar a clausula GROUP BY no resto das colunas. a e c estão fora.
    2- A cláusula HAVING é usada para filtrar linhas do resultado agrupado. Isto anula a letra d
    3- a letra e esta fazendo um filtro com outro agrupamento na mesma coluna.(errado)
  • Questão de complexidade média. Muito boa para relembrar os conceitos relacionados as cláusulas Having, group by e where.

ID
31066
Banca
FCC
Órgão
TRE-MG
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Os comandos básicos SQL pertencentes a classe de linguagem de manipulação dos dados são

Alternativas
Comentários
  • A linguagem SQL, pode ser dividida em grupos q vão de 3 a 5 grupos conforme o autor.

    DML - Esse grupo é compostos pelos comandos INSERT, UPDATE e DELETE, esses comandos são responsaveis pela manipulação dos dados.

    DDL - Esse grupo é composto basicamente pelo comandos DROP, ALTER, CREATE, e fazem referencia a estrutura da tabela/view.
    DROP=Excluir a tabela/view.
    ALTER=Pode modificar a estrutura da tabela seja mudando o tipo de dado de uma coluna ou adicionando um novo.
    CREATE= Server para definir uma novoa tabela/view.
  • DDL (Data Definition Language): Create, Drop, Alter, Rename, Truncate
    DML (Data Manipulation Language): Delete, Insert, Update, Select
    DCL (Data Control Language): Grant, Revoke
    DTL (Data Transaction Language): Rollback, Commit, Begin Transation, End Transaction

  • e-

    DML - insert, update, delete, select. sao os comandos a nivel de usuario.


ID
31069
Banca
FCC
Órgão
TRE-MG
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Uma subconsulta SQL é uma instrução Select que NÃO pode estar aninhada dentro de uma instrução

Alternativas
Comentários
  • Uma subconsulta é uma instrução SELECT aninhada dentro de uma instrução SELECT, INSERT, DELETE ou UPDATE ou dentro de uma outra subconsulta.

    Sintaxe:

    Você pode usar três formas de sintaxe para criar uma subconsulta:

    comparação [ANY | ALL | SOME] (instruçãosql)
    Uma expressão e um operador de comparação que compara a expressão com o resultado da subconsulta.

    expressão [NOT] IN (instruçãosql)
    Uma expressão para a qual o resultado definido da subconsulta é procurado.

    [NOT] EXISTS (instruçãosql)
    Uma instrução SELECT de acordo com as mesmas regras e formato de qualquer outra instrução SELECT. Ela deve estar entre parênteses.



  • Exemplo 1 - usando uma subconsulta para buscar dados e jogar todos de uma vez em outra tabela:Insert Into Clientes(codcli, nomecli) (Select Codigo, nome from Pessoas Where Tipo="C")Exemplo 2: usando uma subconsulta como filtroDelete From Pessoas Where Codigo In(Select CodCli From Clientes)Obs.: o mesmo vale para o UPDATEQuanto ao CREATE eu não tinha certeza mas não fazia sentido se utilizar subconsulta em uma tabela que está sendo criada.
  • Estranho ... é possível sim usar o select dentro de um create, pelo menos no Oracle. "create table tabela_a_BKP as select * from tabela_a"
  • Uma subconsulta é uma consulta que está aninhada dentro de uma instrução SELECT, INSERT, UPDATE ou DELETE ou em outra subconsulta. Uma subconsulta pode ser usada em qualquer lugar em que é permitida uma expressão.

     

    Fonte: https://docs.microsoft.com/pt-br/sql/relational-databases/performance/subqueries?view=sql-server-2017

  • a-

    create é outra classe de comandos, usado para criação do db, enquantoque select é usado quando ele ja estiver pronto.


ID
31072
Banca
FCC
Órgão
TRE-MG
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Para controlar a execução das transações, o SQL utiliza o comando

Alternativas
Comentários
  • O comando ROLLBACK desfaz a transação corrente, fazendo com que todas as modificações realizadas pela transação sejam rejeitadas.

    O comando COMMIT termina normalmente uma transação, efetuando todas as alterações feitas no banco de dados e fechando todos os cursores abertos.


    Rollback para desfazer as operações realizadas até o último comando Commit.
  • * COMMIT envia todos os dados das mudanças permanentemente.

    * ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas.
  • e-

    commit salva alterações.

    rollback cancela tudo o que foi feito apos o ultimo commit.

  • Comentários: (a) Errado. COMMIT não desfaz operações, ele confirma; (b) ROLLBACK desfaz operações realizadas e, não, confirmadas; (c) ROLLBACK desfaz operações realizadas e, não, confirmadas; (d) COMMIT não desfaz operações, ele confirma; (e) Correto. ROLLBACK desfaz operações realizadas (e ainda não confirmadas) até o último comando COMMIT (Letra E).


ID
31075
Banca
FCC
Órgão
TRE-MG
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Na criação de uma tabela SQL devem ser criadas as Constraints que são colunas determinadas como

Alternativas
Comentários
  • Constraints são restrições feitas para as colunas nas tabelas contendo diversos tipos:Tipo de constraints:- Primary key(PK)indice da tabela- Unique(UQ) Cria uma restrição para a coluna, onde não pode ter dois valores iguais.- Foreign key(FK)cria-se uma referência com o indice(PK) de uma outra tabela.- Check(CK)Check, é uma constraint que especifica que condição a coluna precisa para salvar um registro.- DEFAULT(DF)Essa constraint é responsalvel por colocar valores padrões nas colunas.
  • Questão mal feita!Dá a entender que é obrigatória a criação de constraints...
  • Jodoval, realmente é obrigatório utilizá-la.

  • d-

    constraints sao restrições da tabela. PK's sao obrigatorios e seu preenchimento deve obedecer a parametros estabelcidos, assim como FK, o que verifica integridade relacional entre tabelas. "Not null" obriga o preenchimento do campo.

  • SQL Constraints

    SQL constraints are used to specify rules for the data in a table.

    Constraints are used to limit the type of data that can go into a table. This ensures the accuracy and reliability of the data in the table. If there is any violation between the constraint and the data action, the action is aborted.

    Constraints can be column level or table level. Column level constraints apply to a column, and table level constraints apply to the whole table.

    The following constraints are commonly used in SQL:

    NOT NULL - Ensures that a column cannot have a NULL value

    UNIQUE - Ensures that all values in a column are different

    PRIMARY KEY - A combination of a NOT NULL and UNIQUE. Uniquely identifies each row in a table

    FOREIGN KEY - Uniquely identifies a row/record in another table

    CHECK - Ensures that all values in a column satisfies a specific condition

    DEFAULT - Sets a default value for a column when no value is specified

    INDEX - Used to create and retrieve data from the database very quickly

    Fonte: https://www.w3schools.com/sql/sql_constraints.asp


ID
41707
Banca
FCC
Órgão
TRE-PI
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Para obter todas as linhas da tabela B, o comando SELECT deverá utilizar na sequência um JOIN entre as tabelas A e B do tipo

Alternativas
Comentários
  • Junção Externa é uma seleção que não requer que os registros de uma tabela possuam registros equivalentes em outras.Left Outer Join: todos os registros da tabela esquerda mesmo quando não exista registros correspondentes na tabela direita. Right Outer Join: todos os registros da tabela direita mesmo quando não exista registros correspondentes na tabela esquerda.Full Outer Join: Esta operação apresenta todos os dados das tabelas à esquerda e à direita, mesmo que não possuam correspondência em outra tabela.
  • Esta questão é passível de anulação, pois não cita a ordem em que as tabelas serão invocadas no comando SQL select. Isso dá duas respostas possíveis.Pois se a tabela B vier primeiro (SELECT * FROM B LEFT OUTER JOIN A ...) a resposta correta será (E). Se o A vier primeiro (SELECT * FROM A RIGHT OUTER JOIN B ...) o comando terá de ser este para que todas as linhas de B venham independente de haver ligação com A. Com isso a resposta certa passaria ser a letra (D).
  • Passível de anulação mesmo, pois além do RIGHT, a opção (C) FULL OUTER JOIN, também retornaria todas as llinhas da tabela B.

ID
41710
Banca
FCC
Órgão
TRE-PI
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

O comando SELECT retornará a quantidade de registros (tuplas) de uma tabela por meio da cláusula

Alternativas

ID
56737
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Segundo Abraham Silberschatz, um Sistema
Gerenciador de Banco de Dados (SGBD) é constituido por um
conjunto de dados associados a um conjunto de programas para
acesso a esses dados.
Silberschatz, Abraham; Korth, Henry F e Sudarshan, S. Sistema
de Banco de Dados. Makron Books, 1999. p. 1.

Acerca dos conceitos e características do Sistema Gerenciador
de Banco de Dados, julgue os itens a seguir.

No processamento de uma consulta expressa em uma linguagem de alto nível, como a SQL, o SGBD deve planejar uma estratégia de execução para recuperar o resultado da consulta, a partir dos arquivos do banco de dados.

Alternativas
Comentários
  • O SGBD, a partir da sua query SQL, bola a forma mais eficiente de se fazer a consulta aos dados (arquivos). É um pré-processamento da consulta visando otmizar a busca.

ID
61198
Banca
CESPE / CEBRASPE
Órgão
STF
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

O armazenamento e a recuperação de grandes quantidades de dados é um trabalho importante e muito explorado em um sistema
gerenciador de banco de dados (SGBD). Com relação aos conceitos que envolvem esse sistema, julgue os itens que se seguem.

A operação de junção externa (outer join) é uma extensão da operação de junção para tratar informações omitidas.

Alternativas
Comentários
  • Achei esta questão mal-formulada. Dá à entender que que outer join é somente para tratar informações omitidas, quando na verdade ele retornara tanto o informações resultantes do cruzamento do join quanto resultados omitidos (quando um deles for null).
  • O outer join (right join/left join/full join) faz justamente o que o inner join e natural join não fazem, que é relacionar tuplas mesmo quando não há relação por atributo.
  • A operação de "junção natural" faz o produto carteziano entre as duas tabelas envolvidas e, em seguida, elimina tanto as linhas que não têm correspondência nas duas tabelas, quanto aquelas que aparecem repetidas na relação resultante. A junção externa possibilita a inclusão de tuplas que não possuem correspondências na outra tabela.
    - Junção externa à esquerda: inclui na relação resultante todas as tuplas da tabela à esquerda da operação;
    - Junção externa à direita: inclui na relação resultante todas as tuplas da tabela à direita da operação;
    - Junção externa total: inclui na relação resultante todas as tuplas das duas tabelas envolvidas na operação.

  • E desde quando as informação que não tem correspondência em outra tabela são "omitidas"? 
    Apesar de entender perfeitamente o funcionamento dos vários JOIN existentes, errei a questão por não ver sentido na afirmação!

ID
61204
Banca
CESPE / CEBRASPE
Órgão
STF
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

O armazenamento e a recuperação de grandes quantidades de dados é um trabalho importante e muito explorado em um sistema
gerenciador de banco de dados (SGBD). Com relação aos conceitos que envolvem esse sistema, julgue os itens que se seguem.

Em uma consulta SQL, o operador DISTINCT irá remover todas as colunas duplicadas do conjunto que forma o resultado

Alternativas
Comentários
  • Irá remover todos os registros (linhas, tuplas) duplicadas retornados, e não COLUNAS.
  • Alerto para mais uma informação abordada por essa questão:

    Supondo que a questão fosse "remover todas as linhas duplicadas",seria falso.

    Complicado de explicar, vejamos:

    Nome:

    Rafael

    João

    João

    A questão sugeriria que o resultado fosse apenas Rafael, quando na verdade o resultado seria Rafael e João. Quando ela fala em TODAS as linhas duplicadas inferimos que nenhuma linha será inserida, o que é falso.

    Abraços

  • Para ver o que é a atenção, creio que quase todo mundo sabe que é a palavra certa é linha e não coluna mas na pressa a pessoa não percebe.


ID
61207
Banca
CESPE / CEBRASPE
Órgão
STF
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

O armazenamento e a recuperação de grandes quantidades de dados é um trabalho importante e muito explorado em um sistema
gerenciador de banco de dados (SGBD). Com relação aos conceitos que envolvem esse sistema, julgue os itens que se seguem.

Apenas as operações union e intersect são disponibilizadas pela linguagem SQL para manipulação de conjuntos.

Alternativas
Comentários
  • Operações sobre conjuntos (UNION, INTERSECT e EXCEPT)
  • Tem também o PRODUTO CARTESIANO, que gera todas as combinações possíveis entre as tuplas de duas tabelas.
  • As operações de conjuntos ( união, intercessão e diferença ) UNION, INTERSECT e EXCEPT. Estas operações eliminam as duplicatas. Se quisermos repetição, basta adicionar ALL no final. Ex: UNION ALL.


ID
62641
Banca
CESPE / CEBRASPE
Órgão
INSS
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Diversos são os arcabouços (frameworks) de definição de
arquitetura de sistemas de informação. Por meio desses
arcabouços, a arquitetura de sistemas de informação de uma
organização pode ser descrita em diversos modelos que
relacionam aspectos dos dados, funções, redes, pessoas e
aspectos temporais e motivacionais de uma organização a
modelos que representam visões que podem ser distintas e
complementares, como as dos planejadores, dos donos da
organização, dos projetistas, dos construtores, dos subcontratados
e dos usuários. Julgue os itens subseqüentes
acerca desse assunto.

Scripts em SQL, especialmente os escritos em DDL, permitem a construção de visões dos desenhistas e construtores de modelos de dados.

Alternativas
Comentários
  • DDL(Data Definition Language): define a estrutura dos dados no banco de dados, os relacionamentos entre os elementos de dados e os métodos de acesso. Exemplos de comandos SQL utilizados na DDL: create table, create view, alter table, drop index, etc.

ID
70297
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Na SQL, a pesquisa de um padrão específico em uma coluna é realizada pelo operador

Alternativas
Comentários
  • d-

    The LIKE conditions specify a test involving pattern matching. Whereas the equality operator (=) exactly matches one character value to another, the LIKE conditions match a portion of one character value to another by searching the first value for the pattern specified by the second. LIKE calculates strings using characters as defined by the input character set. LIKEC uses Unicode complete characters. LIKE2 uses UCS2 code points. LIKE4 uses UCS4 code points.

    https://docs.oracle.com/cd/B19306_01/server.102/b14200/conditions007.htm


ID
71854
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

No ambiente SQL é possível, tanto para triggers quanto para constraints

Alternativas
Comentários
  • Como eu consigo fazer isso via constraints? Alguém poderia ajudar? Obrigado.
  • Olá! Você pode fazer isso durante a criação ou alteração da estrutura de uma tabela. Segue exemplo:

    CREATE TABLE tabPrinc( idPrinc int primary key,  coluna2Princ varchar(20), coluna3Princ number(5,2));
    CREATE TABLE tabSec( idSec int primary key,  idPrincFk int references tabelaPrincipal (idPrinc) ON DELETE CASCADE);
    O comando imediatamente acima faz o seguinte: Se o registro for excluído na tabPrinc, todos os registros de tabSec que referenciam este que foi excluído em tabPrinc serão excluídos também.
    Além do ON DELETE CASCADE, também existem:
    - ON DELETE SET NULL (que colocaria NULL em todos os registros de tabSec que referenciam o registro em tabPrinc que foi excluído)
    - ON DELETE RESTRICT ( se tabSec possuir referências a tabPrinc, executa rollback da exclusão do registro em tabPrinc )
    - ON DELETE NO ACTION ( se tabSec possuir referências a tabPrinc, faz nada. Nem chega a excluir o registro em tabPrinc ).

    Referência: http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj13590.html

    Quanto ao cascade usado com triggers, eu não conhecia. Segue um link interessante sobre o assunto:
    http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.sqls.doc/sqls362.htm

    Abs.

ID
78448
Banca
FCC
Órgão
TRT - 18ª Região (GO)
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

As cláusulas do comando de consulta da linguagem SQL devem ser escritas na seqüência

Alternativas
Comentários
  • SELECT     [ALL | DISTINCT | DISTINCTROW ]          [HIGH_PRIORITY]          [STRAIGHT_JOIN]          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]          [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]     select_expr [, select_expr ...]     [FROM table_references     [WHERE where_condition]     [GROUP BY {col_name | expr | position}          [ASC | DESC], ... [WITH ROLLUP]]     [HAVING where_condition]     [ORDER BY {col_name | expr | position}          [ASC | DESC], ...]     [LIMIT {[offset,] row_count | row_count OFFSET offset}]     [PROCEDURE procedure_name(argument_list)]     [INTO OUTFILE 'file_name'            [CHARACTER SET charset_name]            export_options        | INTO DUMPFILE 'file_name'        | INTO var_name [, var_name]]     [FOR UPDATE | LOCK IN SHARE MODE]]

    fonte: http://dev.mysql.com/doc/refman/5.1/en/select.html


ID
104743
Banca
FCC
Órgão
TCM-PA
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem SQL são, respectivamente, expressões DDL e DML:

Alternativas
Comentários
  • DDL (Data Definition Language): Create, Drop, Alter, Rename, Truncate

    DML (Data Manipulation Language): Delete, Insert, Update, Select

    DCL (Data Control Language): Grant, Revoke

    DTL (Data Transaction Language): Rollback, Commit, Begin Transation, End Transaction


ID
104989
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, a deleção de linhas em uma tabela é feita por meio da expressão geral

Alternativas
Comentários
  • Fonte: https://www.1keydata.com/pt/sql/sql-delete.php

  • a resposta coorreta desta questão certa é a letra E)


ID
104992
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A pesquisa de um padrão específico em uma coluna de tabela relacional é feita pela SQL por meio de

Alternativas
Comentários
  • Operador Relacional

    LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de dados."Like" + extensão % vai significar buscar todos resultados com o mesmo início da extensão.


ID
110464
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

DROP é um comando utilizado para apagar um objeto do banco de dados e é parte integrante do subconjunto da linguagem SQL denominado

Alternativas
Comentários
  • Gatilhos DDL e DML são usados com finalidades diferentes.

    Gatilhos DML operam em instruções INSERT, UPDATE e DELETE e ajudam a impor regras de negócio e integridade de dados estendida, quando os dados são modificados em tabelas ou exibições.

    Gatilhos DDL operam em instruções CREATE, ALTER, DROP e outras instruções DDL e procedimentos armazenados que executam operações similares a DDL. São usados para executar tarefas administrativas e impor regras de negócio que afetam bancos de dados. Aplicam-se a todos os comandos de um mesmo tipo em todo o banco de dados ou servidor.

    fonte: http://msdn.microsoft.com/pt-br/library/ms189599.aspx

  • DML - Linguagem de Manipulação de Dados
    INSERT
    UPDATE
    DELETE

    DDL - Linguagem de Definição de Dados
    ALTER TABLE
    CREATE INDEX
    ALTER INDEX
    DROP INDEX
    CREATE VIEW
    DROP VIEW
     

    DCL - Linguagem de Controle de Dados
    GRANT
    REVOKE
    ALTER PASSWORD
    CREATE SYNOMYM

    DTL - Linguagem de Transação de Dados
    BEGIN WORK / START TRANSACTION
    COMMIT
    ROLLBACK
     


ID
113626
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

NÃO se trata de uma característica das stored procedures:

Alternativas
Comentários
  • exemplo de EP:Create procedure busca@nomedebusca varchar (50)asselect nome1, nome2 from nome_da_tabelawhere nome = @nomedebusca
  • Parece que a questão foi retirada do site da microsoft, segue o que encontrei:


    "Procedures resemble constructs in other programming languages because they can:


    • Accept input parameters and return multiple values in the form of output parameters to the calling program.

    • - Aceitam parâmetros de entrada e retornam múltiplos valores em forma de parâmetros de saída para o programa que a executou.


    • Contain programming statements that perform operations in the database. These include calling other procedures.

    • Contém afirmações de programas que fazem operações no banco de dados. Isso inclui chamar outros procedimentos.


    • Return a status value to a calling program to indicate success or failure (and the reason for failure).

    • Retorna um valor para o programa que a chamou indicando sucesso ou falha (E a razão da falha).

    [...]

    Benefits os using stored procedures

    Stronger Security

    ...

    "


    Fonte: https://msdn.microsoft.com/en-us/ms190782.aspx


ID
113653
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O SQL Server 2008 permite que amplos dados binários sejam armazenados no sistema de arquivos (File System), enquanto permanecem como parte integrante do banco de dados com consistência transacional, por meio do objeto

Alternativas
Comentários
  • O FILESTREAM permite que aplicativos baseados no SQL Server armazenem dados não estruturados, tais como documentos e imagens, no sistema de arquivos.Os aplicativos podem utilizar as APIs de streaming avançado e o desempenho do sistema de arquivos e, ao mesmo tempo, manter consistência transacional entre os dados não estruturados e os dados estruturados correspondentes.


    O FILESTREAM integra o Mecanismo de Banco de Dados do SQL Server com um sistema de arquivos NTFS armazenando dados BLOB (objeto binário grande) de varbinary(max) como arquivos no sistema de arquivos.Instruções Transact-SQL podem inserir, atualizar, consultar, pesquisar e fazer backup de dados FILESTREAM.As interfaces do sistema de arquivos do Win32 fornecem acesso de streaming aos dados.

    fonte : https://msdn.microsoft.com/pt-br/library/gg471497(v=sql.120).aspx


ID
113656
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Consultas podem ser criadas no SQL Server 2008, com maior produtividade, baseadas em um modelo de entidades de dados, ou na linguagem de programação em vez de SQL, por meio da linguagem

Alternativas
Comentários
  • LINQ to SQL é uma implementação específica do LINQ para o SQL Server que converte consultas escritas em C# ou Visual Basic em SQL dinâmico , provendo uma interface que permite mapear os objetos do banco de dados gerando as classes para realizar as operações usando a sintaxe LINQ; também permite realizar alterações nos objetos e atualizar o banco de dados
  • Acredito que essa questão tenha haver mais com .NET, C# e VB do que com o SQL Server.

     


ID
113662
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional. A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. A sigla DML significa:

Alternativas
Comentários
  • Questão mamão com açucar! Horrível....não testa conhecimentos...

ID
118636
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional. A DDL permite ao usuário definir tabelas novas e elementos associados. A sigla DDL significa:

Alternativas
Comentários
  • Resposta : Letra c)Linguagem de definição de dados (LDD ou DDL, do Inglês Data Definition Language) é uma linguagem de computador usada para a definição de estruturas de dados. O termo foi inicialmente introduzido em relação ao modelo de banco de dados Codasyl, onde o esquema de banco de dados era escrito em uma Linguagem de Definição de Dados descrevendo os registros, campos e "conjuntos" que consituíam o Modelo de dados do usuário. Inicialmente referia-se a um subconjunto da SQL, mas hoje é usada em um sentido genérico para referir-se a qualquer linguagem formal para descrição de estruturas de dados ou informação, assim como esquemas XML.
  • Fala sério que questão difícil ! rsrs Linguagem de Definição de Dados = Data Definition Language

  • DDL – DATA DEFINITION LANGUAGE OU LINGUAGEM DE DEFINIÇÃO DOS DADOS
    É usada pelo Database Administrator(DBA) e pelos projetistas do banco de dados para definir os esquemas através da execução de processos pelo compilador. Ex: CREATE, ALTER E DROP, CONSTRAINT, FOREIGN KEY, RENAME.


ID
120730
Banca
FCC
Órgão
SERGAS
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem SQL, são procedimentos executados implicitamente quando ocorre determinada ação do usuário, tal qual, uma modificação de uma tabela

Alternativas
Comentários
  • Um TRIGGER (gatilho)é criado para disparar,automaticamente,sempre que o SGBD detectar a ocorrência de um ou mais comandosde acesso a tabela.
  • d-

    trigger é uma instrucao salva para executar quando alguma acao especifica for executada


ID
120733
Banca
FCC
Órgão
SERGAS
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A função da subquery é retornar um conjunto de linhas para a query ou comando principal. Nesse sentido, é correto afirmar que o operador "="

Alternativas
Comentários
  • Uma subquery de valor múltiplo retorna uma lista de valores e pode ser usada APENAS em um where, usando a cláusula IN ou NOT IN.
    Exemplo: Select código, nome
                    From cliente
                    Where cidade IN (Select código From cidade where nome<> 'João Pessoa').
  • Simples. Subquery não pode retornar mútiplos valores. Subquery deve retornar no máximo uma row.


ID
120742
Banca
FCC
Órgão
SERGAS
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considere a consulta abaixo.

SELECT name
FROM employee
WHERE name LIKE '_a%';

É correto afirmar que os nomes serão mostrados

Alternativas
Comentários
  • Essa questão se não foi anulada, certamente será, pois no site da microsoft e todos sabemos que essa clausula trará todos que o a seja a segunda letra/ Ex: jane, jaine, daen, etc.
  • Concordo com o colega Francisco.Exemplo 2: SELECT nome From pessoal Where nome like ‘_a%’;DanielFabricioO caracter ‘_’ na consulta acima indica que estamos procurando nomes nos quais a letra A é a segunda letra do nome.Fonte: http://www.sqlmagazine.com.br/Artigos/MySQL/02_Consultas.asp
  • Questão flagrantemente errada. A FCC não trocou o gabarito conforme link abaixo, provavelmente porque ninguém entrou com recurso.

    http://www.concursosfcc.com.br/concursos/bagas109/Edital_n07_de_Resultados.pdf

  • Olá, pessoal!

    A banca manteve a resposta como "A", mesmo após a divulgação do edital de Alteração de Gabaritos.

    Talvez ninguém tenha entrado com recurso, como foi citado.

    Bons estudos!

  • For example: to display all the names with 'a' second character,

    SELECT first_name, last_name
    FROM student_details
    WHERE first_name LIKE '_a%';

    The output would be similar to:

    first_name last_name
    ------------- -------------
    Rahul Sharma

    NOTE:Each underscore act as a placeholder for only one character. So you can use more than one underscore. Eg: ' __i% '-this has two underscores towards the left, 'S__j%' - this has two underscores between character 'S' and 'i'.

  • pqp..... Fcc!!!

    SQL> select * from teste2;
     
           ID2 NOME2
    ---------- --------------------
             2 boi
             1 joao
             5 direita
             6 direita
     
    SQL> select * from teste2 where nome2 like '_o%';
     
           ID2 NOME2
    ---------- --------------------
             2 boi
             1 joao
  • questão errada amigos. sem estresse. todos sabemos que é letra c.


ID
121168
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Na SQL, a função que retorna a média de um conjunto de valores de uma coluna numérica é

Alternativas
Comentários
  • Existe funções de agregação para:
    contar (count)
    somar (sum)
    calcular a média (avg)
    valor máximo (max)
    valor mínimo (min)

    letra (e)
  • NO SQL 2003 Existem funções adicionais para:

    STDDEV_POP ( ) -> Desvio padrão da população
    VAR_POP ( ) -> Variancia da população

    STDDEV_SAMP( )  -> Desvio padrão da amostra
    VAR_SAMP ( ) -> Variância da amostra

ID
121171
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Na SQL, para combinar o conjunto-resultado de duas ou mais expressões SELECT (desde que com a mesma quantidade de colunas e mesmos tipos de dados) em um único resultado de consulta, utiliza-se o

Alternativas
Comentários
  • SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2

ID
121174
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

É especificada durante a criação ou a alteração de uma tabela relacional e é usada, em SQL, para limitar o tipo de dados que irá entrar em uma tabela. Trata-se de

Alternativas
Comentários
  • As restrições são regras básicas, estabelecidas para o preenchimento de uma ou mais colunas da tabela, e são definidas ao final da especificação de cada coluna ou ao final do comando. Toda restrição possui um nome que pode ser definido pelo próprio usuário por meio da opção CONSTRAINT, caso contrário receberá um nome padronizado.

    Entre as restrições encontram-se:
    Chaves Primárias;
    Chaves Únicas;
    Chaves Estrangeiras;
    Identificadores de campos Obrigatórios;
    CONDIÇÕES PARA VALORES PERMITIDOS PARA DETERMINADO CAMPO 

ID
121645
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A respeito da linguagem SQL (structured query language), julgue
os próximos itens.

SQL, uma linguagem declarativa para manipulação de dados, é utilizada em sistemas de banco de dados exclusivamente como DML (data manipulation language).

Alternativas
Comentários
  •  Não só comandos DML (Linguagem de manipulação de dados), como também DDL (Linguagem de definição de dados) e DCL (Linguagem de controle de dados).

  • Os comandos SQL são divididos em quatro subgrupos, DDL, DML, DCL e TCL.  


ID
121648
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A respeito da linguagem SQL (structured query language), julgue
os próximos itens.

Uma consulta escrita em SQL consiste de cláusulas, entre as quais apenas duas são obrigatórias.

Alternativas
Comentários
  •  Em uma consulta por mais simplificada que você utilize ela terá no mínimo que selecionar dados de uma tabela, por exemplo:

    SELECT * FROM tabela

    Nesta consulta acima que omite até os campos de tabela utiliza apenas as cláusulas SELECT e FROM e permite a seleção das tuplas da tabela tabela.

  • Acho que está errada.

    Faça SELECT 1+1 em uma banco de dados que você vai receber 2.

ID
121651
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A respeito da linguagem SQL (structured query language), julgue
os próximos itens.

Em uma consulta, a cláusula HAVING é usada exclusivamente em combinação com a cláusula GROUP BY, como forma de filtrar registros.

Alternativas
Comentários
  • Acredito que a banca foi infeliz, pois a cláusula having funciona como Where na falta do Group By.

    GERALMENTE é utilizada com o Broup By, mas não SEMPRE.

    Questão fácil de ser anulada, várias bibliografias provam o contrário.

  • Bom, eu não consegui no oracle usar having sem group by...

  • No mysql eu consegui fazer um SELECT COUNT(*) FROM table HAVING count(*) > 3 sem nenhum erro.
  • Pelo menos no PostgreSQL é possível utilizar um HAVING sem o GROUP BY, o HAVING será aplicado a todo resultado como único grupo.
  • Questão ERRADA. Como nosso amigo Rafael Torres disso, há várias bibliografias que mostram que o HAVING pode ser usado sozinho, com a função do Where.


ID
121699
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Além das ferramentas para gerenciamento de banco de dados,
várias outras ferramentas de software atuam como front ends para
gerenciadores de bancos de dados, como geradores de relatórios,
geradores de consultas, geradores de formulários de entrada de
dados, ferramentas de modelagem e de dicionário de dados, de
engenharia reversa, de data warehousing, de benchmarking, de
auditoria, de recuperação de dados, entre outras. Considerando os
conceitos relacionados a essas ferramentas, julgue os itens
seguintes.

Geradores de consulta, como regra geral, realizam engenharia reversa de modelos de dados relacionais, geram esqueletos de consultas SQL, nas quais é comum o uso de cláusulas group by, e empregam templates para a geração de relatórios.

Alternativas
Comentários
  • Creio que o gabarito está errado, deveria ser alterado para "Errado". Geradores de consultas são ferramentas gráficas para auxiliar a gerarção de código SQL. Não realizam engenharia reversa de modelos relacionais(quem faz isso são as ferramentas de engenharia reversa, como o próprio enunciado da questão fala) e nem empregam templates para a geração de relatórios(quem faz isso são os geradores de relatório, como o próprio enunciado da questão fala). 

ID
122683
Banca
ESAF
Órgão
SUSEP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em relação às operações em bancos de dados SQL, é correto afirmar que Store Procedures

Alternativas

ID
126505
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Quanto à estrutura, propriedades e sintaxe da linguagem SQL, é correto afi rmar que

Alternativas
Comentários
  • Gabarito errado ! SELECT e INSERT fazem parte da DML (Linguagem de Manipulação de Dados).
  • DML - Linguagem de Manipulação de Dados
    INSERT
    UPDATE
    DELETE

    DDL - Linguagem de Definição de Dados
    ALTER TABLE
    CREATE INDEX
    ALTER INDEX
    DROP INDEX
    CREATE VIEW
    DROP VIEW
     

    DCL - Linguagem de Controle de Dados
    GRANT
    REVOKE
    ALTER PASSWORD
    CREATE SYNOMYM

    DTL - Linguagem de Transação de Dados
    BEGIN WORK / START TRANSACTION
    COMMIT
    ROLLBACK
     

     


ID
126517
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com relação às características da linguagem SQL e dos SGBD, é correto afi rmar que

Alternativas
Comentários
  • As alternativas C, D e E são absurdas. A alternativa que mais pode confundir é a B. Está errada porque na verdade a sintaxe é a seguinte:
    CREATE TRIGGER trigger_name ON TabelaFOR UPDATEAS     comandos

ID
126853
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Seja o seguinte esquema de banco de dados.

Cliente(IdCliente: Integer, NomeCliente: Varchar(120));
Produto(IdProduto: Integer, NomeProduto: Varchar(120));
Pedido(IdPedido: Integer, IdCliente: Integer referencia Cliente(IdCliente));
Item(IdPedido: Integer referencia Pedido(IdPedido), IdProduto: Integer referencia Produto(IdProduto), Quantidade: Integer);

Considere que os atributos sublinhados correspondam à chave primária da respectiva relação e os atributos que são seguidos da palavra "referencia" sejam chaves estrangeiras. Com base no esquema apresentado, qual comando SQL permite obter uma lista contendo os nomes dos clientes e dos produtos por eles comprados com a quantidade total de cada produto por cliente?

Dado:
A lista deverá conter somente clientes que já compraram pelo menos 2 produtos diferentes, independente do pedido, ou que nunca compraram nenhum produto, sendo que deverá estar ordenada pelo nome do cliente e, a seguir, pelo nome do produto.

Alternativas
Comentários
  • Apesar de ser uma questão aparentemente monstruosa, devemos gastar nosso raciocínio apenas no final de cada SELECT. Nesta questão bastaria considerar as cláusulas WHERE E HAVING. No final de pergunta foi solicitado 2 produtos diferentes ou nenhum. Daí já descartamos as alternativas B, D e E. Restando A e C, bastar lembrar do conceito de HAVING, que não consegue comparar "ou esse, ou aquele", como é o caso da resposta da C. já com o where você consegue fazer esta comparação. Portanto, a resposta certa é a alternativa A.
  • Grande Janssen,permita-me discordar. Se eu estiver errado, por favor, me corrija para eu aprender corretamente.No meu entendimento, não existe qualquer problema em usar várias condições em uma cláusula HAVING. A cláusula HAVING se comporta de forma idêntica à cláusula WHERE, exceto por um detalhe: o WHERE define o resultado que você quer buscar na sua base de dados. O HAVING opera sobre o resultado que você já buscou na base. É como se fosse uma cama de filtro superior na qual você já tem um resultado e sobre ele quer aplicar um filtro.Por este motivo a cláusula WHERE não funciona sobre Alias de tableas (count(*) as TOTAL where total>2). O alias não existe no banco. Portanto, sobre a coluna do alias (TOTAL) somente pode operar o cláusula having. Ela opera sobre um resultado que já existe, e nele conseguirá filtrar o TOTAL.Verifiquei no site do PCI e identifiquei que o gabarito é C.Aqui encontra-se as provas e os gabaritos para download:http://site.pciconcursos.com.br/download/prova14342515.zip
  • No site da Cesgranrio o gabarito está confirmado como A
  • Leoh, o alias total existe sim e para usar o HAVING a funcao agregadora deveria estar logo apos o HAVING.
  • Meus cents!
    Apesar de realmente a resposta ser a letra A, o processo de eliminação do Janssen está equivocado. Vejamos:

    Como é pedido uma lista de clientes que tenham comprado mediante uma condição ou que nunca tenham comprado, precisaremos de uma junção a esquerda. Outra não serviria pois não retornaria todos os registros a esquerda. Assim elinar-se-ia as letra C e E.

    Outra incorreção da letra C é percebida ao se analisar o jogo de parenteses feito pela banca.
    (cliente.idcliente in
                 (select idcliente from
                              (select idcliente,count(*) as total from
                                          (select distinct cliente.idcliente,item.idproduto from cliente
                                                       inner join pedido on cliente.idcliente = pedido.idcliente
                                                       inner join item on pedido.idpedido = item.idpedido
                                          ) clienteTotal
                                          group by idcliente
                              ) filtrocliente
                              having (total>=2)
                 )
    )
    select idcliente from (select idcliente,count(*) …(select distinct … ) clienteTotal group by idcliente ) filtrocliente having (total>=2)

    Notem que essa sentença nem compila pois ela insere um having sem o group by

     
    Continuando com o jogo de parenteses, diga-se de passagem: isso que dificulta a questão, deve-se atentar que o OR (Produto.NomeProduto IS NULL) é disjunção de WHERE (Cliente.IDCliente IN ... ( ()) ...)) e não de WHERE (total >= 2)))

    As outras duas opões com LEFT OUTER JOIN (B e D), não possuem o teste de produto nulo, e a D ainda faz um LEFT OUTER JOIN no select mais interno, troca os testes having/where e pior ainda, faltam parentesis para fechar.
  • Não entendi como a letra A pode trazer os clientes "que nunca compraram nenhum produto" se no filtro de clientes exite um INNER entre CLIENTE e PEDIDO. O cliente que nunca comprou produto é o cliente que nunca fez pedido (a menos que, por padrão, todos os clientes entrem na base com um pedido sem item). Se ele não tem nenhum pedido na base, ele não será selecionado quando vc fizer um INNER entre CLIENTE e PEDIDO.

    Onde tá o furo desse raciocínio? Alguem pode ajuar?

    Só por esse motivo, eu questiono a A. O restante dela me parece certo.


ID
128497
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

As constraints para as tabelas de um BD relacional podem ser especificadas quando de um

Alternativas
Comentários
  • Constraints são restrições feitas para as colunas nas tabelas contendo diversos tipos.
    Elas são utilizadas na criação de uma tabela ou mesmo junto com a keyword ALTER TABLE, onde podemos adicionar ou remover constraints.
    Tipo de constraints:
    - Primary key(PK)
    - Unique(UQ)
    - Foreign key(FK)
    - Check(CK)

    Fonte: http://marceloabibcardoso.wordpress.com/2009/03/16/sqlserver-constraints

    Portanto resposta é a letra C
  • c-

    tipos de constraints: primary key, unique key, foreign key (declarado depois de todas colunas), check, not null, null.

    Constraint pode ser definido com alter ou create table.

    create table pedido

    (num ped number (07) not null primary key,

    cod_f number(07) not null,

    dat_emis date not null,

    dat_entrg not null,

    constraint ped_f_fk foreign key (cod_f) references fornecedor(cod_f));

    Outra opção é com alter table:

    alter table add constraint ped_f_fk foreign key (cod_f) references fornecedor(cod_f));


ID
128788
Banca
FCC
Órgão
MPE-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Considere as linguagens de manipulação (DML) e definição (DDL) de dados da SQL. As cláusulas CONSTRAINT, DISTINCT, FOREIGN KEY, HAVING e RENAME são corretas e respectivamente utilizadas no âmbito da

Alternativas
Comentários
  • A cláusula CONSTRAINT é uma parte opcional da Instrução CREATE TABLE e da Instrução ALTER TABLE. A restrição é uma regra com a qual os dados devem estar em ...

    Após a lista de seleção ser processada, a tabela resultante pode opcionalmente estar sujeita à remoção das linhas duplicadas.

    cláusula HAVING restringe os resultados do GROUP BY na ExpressãoSeleção. A cláusula HAVING é aplicada a cada grupo da tabela agrupada, de forma parecida .

    Linguagem de manipulação de dados (ou DML, de Data Manipulation Language) é uma família de linguagens de computador utilizadas para a recuperação, inclusão, remoção e modificação de informações em bancos de dados

  • Alternativa A


    DDL - A cláusula CONSTRAICT faz parte da ALTER ou CREATE TABLE.

    DML - O comando
    SQL DISTINCT usado junto com a palavra-chave SELECT recupera apenas as entradas de dados única, dependendo da lista de colunas que você especificou depois.

    DDL - FOREIGN KEY  usado no CREATE TABLE.

    DML - A cláusula HAVING é usada em conjunto com a cláusula SELECT para especificar uma condição de pesquisa para um grupo ou agregado. A cláusula HAVING se comporta como a cláusula WHERE, mas é aplicável a grupos - as linhas no conjunto de resultados grupos que representam. Em contraste, a cláusula WHERE é aplicada a linhas individuais, e não para grupos.

    DDL -  Cláusula RENAME

ID
128791
Banca
FCC
Órgão
MPE-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Na frase:

A cláusula HAVING foi adicionada à expressão SQL  porque  II  não pode ser utilizada com  III  .

I, II e III podem ser corretamente substituídos, nessa ordem, por

Alternativas
Comentários
  • SELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY CustomerHAVING SUM(OrderPrice)<2000Exemplos de funções agregadas: SUM,AVG...
  • Especifica um critério de pesquisa para um grupo ou um agregado. HAVING pode ser usado somente com a instrução SELECT. HAVING é usado normalmente em uma cláusula GROUP BY. Quando GROUP BY não é usado, HAVING se comporta como uma cláusula WHEREDevemos lembrar que o HAVING é aplicado em cima do agrupamento (GROUP BY). O HAVING é como se fosse um WHERE do agrupamento. Por isso não podemos usar HAVING sem GROUP BY

ID
136273
Banca
ESAF
Órgão
MPOG
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em uma SQL

Alternativas
Comentários
  • Letra D

    DML - Data Manipulation Language (select, insert, update, delete)
    Pode ser procedural, que especifica como os dados devem ser obtidos do banco; pode também ser declarativa (não procedural), em que os usuários não necessitam especificar o caminho de acesso, isto é, como os dados serão obtidos. O padrão SQL é não procedural.
    DDL - Data Definition Language (create, drop, alter)
    DCL - Data Control Language (alter password, grant, revoke...)
    DTL - Data Transaction Language (begin work, commit, rollback)
    DQL - Data Query Language (select)

ID
136297
Banca
ESAF
Órgão
MPOG
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a processamento de consultas SQL, é correto afi rmar que

Alternativas
Comentários
  • tabelas são fragmentadas ou replicadas em BDs distribuidos.
  • Tabelas replicadas nem sempre maximizam a execução concorrente de transações.
    Por exemplo, ao atualizar, ou excluir dados de uma tabela, é preciso repetir a operação na tabela replicada...
  • "fragmentadas ou replicadas" se encaixa em desnormalização

  • Existe fragmentação horizontal e vertical de banco de dados distribuídos. Por exemplo, no BD Distribuído a fragmentação horizontal ajuda a maximizar o número de consultas.


ID
137164
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

O servidor de banco de dados corporativo de uma empresa está isolado por meio de um firewall do tipo filtro de pacotes. Com base nessa informação, analise as afirmativas a seguir.

I - Tal isolamento é efetivo na proteção de ataques do tipo SQL Injection.
II - É possível bloquear o acesso de uma única estação ao banco de dados.
III - Consultas SQL excessivamente longas podem ser bloqueadas no firewall.

Está(ão) correta(s) a(s) afirmativa(s)

Alternativas
Comentários
  • SQL Injection são ataques que iserem trechos de queries SQL em campos de formulários WEB.  Firewall não protege contra isso.

    Consultas longas e consultas curtas tanto fazem para o Firewall.  O Firewall não identifica o que está sendo enviado para alguém, e sim se regras de rede permitem acesso a determinado recurso.

  • Um roteador de filtragem de pacotes aplica um conjunto de regras a cada pacote IP que entra e sai e depois encaminha ou descarta o pacote. O roteador normalmente é configurado para filtrar pacotes entrando em ambas direções (de e para a rede interna). As regras de filtragem são baseadas nas informações contidas em um pacote da rede:
    • Endereço IP de origem
    • Endereço IP de destino
    • Endereço de origem e destino em nível de transporte (o número de porta em nível de transporte, por exemplo, TCP ou UDP), que define aplicações como SNMP ou TELNET.
    • Campo de protocolos IP.
    • Interface.
     
    O filtro de pacotes normalmente é configurado como uma lista de regras baseadas em combinações com campos no cabeçalho IP ou TCP. Se houver uma correspondência com uma das regras, essa regra é chamada para determinar se encaminhará ou descartará o pacote. Se não houver correspondência com qualquer regra, então a ação-padrão é tomada. Duas políticas-padrão são possíveis:
    Padrão = descartar: Aquilo que não é expressamente permitido é proibido.
    Padrão = encaminhar: Aquilo que não é expressamente proibido é transmitido.
    fonte: Criptografia e segurança de redes - William Stallings. - 4a. ed.
  • 1 - ERRADA

    2 - CORRETA

    3 - ERRADA


ID
137179
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Um administrador de dados de uma empresa deve, excepcionalmente, atualizar o endereço de um funcionário registrado em uma tabela do banco de dados, que não guarda histórico e registra somente o endereço atual em uma única linha. Para a atualização dos dados, que comando SQL deverá ser utilizado?

Alternativas
Comentários
  • d-

    formula do update:

    update | tabela| set |campo| = |novo valor| where |campo criterio query| = |valor para query|;

    exemplo:

    update empregado set nome = 'fulan' where nr_id = 1;


ID
137206
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Para que as chaves estrangeiras sejam avaliadas somente ao final de uma transação (no momento do COMMIT), que propriedade pode ser aplicada em uma restrição (constraint)?

Alternativas
Comentários
  • DEFERRABLE:  Controlam se as restrições podem ser postergadas. Uma restrição que pode ser postergada é verificada no final da transação.
  • a)A instrução 'ALTER TABLE ADD CONSTRAINT' pode criar uma restrição de chave estrangeira habilitada ou filtrada em um modo NOVALIDATE. Os modos de restrição NOVALIDATE impedem que o servidor do banco de dados verifique se o valor da chave estrangeira em cada linha corresponde a um valor de chave primária na tabela referenciada enquanto a restrição referencial está sendo criada.

     

    b)No gerenciamento de banco de dados, um campo que não possui valores é chamado de anulável. Dependendo do aplicativo, nullable também pode ser chamado de referência nula ou objeto nulo.

     

    c) DEFERRABLE:  Controlam se as restrições podem ser postergadas. Uma restrição que pode ser postergada é verificada no final da transação.

     

    d)A instrução EXECUTE IMMEDIATE executa uma declaração SQL dinâmica ou um bloco PL / SQL anônimo. Você pode usá-lo para emitir instruções SQL que não podem ser representadas diretamente no PL / SQL, ou para criar declarações onde você não conhece todos os nomes das tabelas, ONDE cláusulas, e assim por diante com antecedência.

     

    e)NOT NULL - Garante que a coluna não pode ter um valor NULL

     


ID
141253
Banca
ESAF
Órgão
ANA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, a cláusula check aplicada a uma declaração de domínio

Alternativas
Comentários
  • Primeiramente, entenda "declaração de domínio" como parte de um comando DDL de CREATE TABLE, que possui as definições de cada um dos atributos (ou colunas) de uma tabela.

    Em alguns casos, torna-se necessário que um determinado atributo tenha um determinado domínio, ou seja, um grupo de valores válidos. Por exemplo, posso querer que um determinado atributo "sexo" do tipo char de uma tabela "pessoa" tenha apenas os valores 'M' ou 'F', por mera questão de segurança. Para tal, utiliza-se a cláusula CHECK, da seguinte maneira:

    create table pessoa {
        id number(5) NOT NULL,
        nome char(10) NOT NULL,
        sexo char(1) CHECK (sexo IN ('M', 'F')),
    }


    Ao inserir ou atualizar uma tupla na tabela pessoa com um valor para sexo diferente de 'M' ou 'F', ocorrerá um erro.
    Sendo assim, a resposta correta para a questão é a letra a).
  • Analise das opções:

    a) correto, isso que a clausula check faz, verifica se um determinado valor esta disponivel no dominio

        create table pessoa {
        id number(5) NOT NULL,
        nome char(10) NOT NULL,
        sexo char(1) CHECK (sexo IN ('M', 'F')),  }

    b) errado, a clausula verifica apenas um valor para o campo, e nao para a tupla

    c) quem faz isso é a opcao not null

    d) nao tem nada a ver com isso

    e) errado


ID
142261
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Entity EJB e o statement SQL "SELECT FOR UPDATE" são técnicas para se implementar o padrão arquitetural

Alternativas
Comentários
  • Gabarito: C

    SELECT FOR UPDATE é bloqueio pessimista de linhas, pois todas as linhas que estão sendo modificadas são bloqueadas pelo usuário e ninguém mais pode realizar alterações até que o bloqueio (lock) seja liberado.

  •  OBS: Repare que isso não tem haver com Java e sim banco de dados. É um bloqueio pessimista por "travar" as linhas da tabela evitando seu acesso.

  • Pessoal,
    retirado diretamente do livro do Fowler:

    "Pessimistic Offline Lock

    by David Rice

    Prevents conflicts between concurrent business transactions by allowing only one business transaction at a time to access data.
    "
  • Há cinco formas modos de bloqueio JPA com LockModeType :
    OPTIMISTIC
    OPTIMISTIC_FORCE_INCREMENT
    PESSIMISTIC_READ
    PESSIMISTIC_WRITE
    PESSIMISTIC_FORCE_INCREMENT

    O código Java:
    entityManager.find(Department.class, 1, LockModeType.PESSIMISTIC_WRITE);

    Produz a seguitne tradução SQL:
    SELECT ID, NAME, VERSION FROM DEPARTMENT WHERE ID = 1 FOR UPDATE;


ID
142873
Banca
FIP
Órgão
Câmara Municipal de São José dos Campos - SP
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem SQL, a opção do comando GRANT, que permite ao usuário repassar seus direitos de acesso para outros usuários de um banco de dados, é :

Alternativas
Comentários
  • b) WITH GRANT OPTION.

    GRANT, REVOKE Executam automaticamente o COMMIT.

    GRANT Juntamente com WITH GRANT OPTION Permite ao usuário que recebeu este Privilégio... repessar.

ID
144460
Banca
CESPE / CEBRASPE
Órgão
TRE-MA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados Microsoft SQL Server 2005, existe uma tabela denominada produtos, que possui, entre outros, um campo de nome valor para armazenar o preço de venda de diferentes produtos. Os preços dos produtos são R$ 170,00, R$ 180,00, R$ 195,00 e R$ 280,00. A tabela deve ser atualizada tal que, no campo valor, nenhum produto deverá possuir preço menor que R$ 195,00, e não pode haver redução de preço nos produtos.

Assinale a opção que apresenta corretamente o comando SQL que permite realizar a atualização na tabela descrita acima.

Alternativas
Comentários
  • Muito mal formulada a questão, pois o código "...where valor <= 195" também poderia ser usado neste exemplo, já que o valor R$ 195 não seria reduzido e sim atualizado. (se fosse = 195 iria receber 195, ou seja, atualizado não reduzido)

    Acho que a banca deve consultar um dicionário.

    Acredito que tem duas respostas: B e C.

    Aguardo ajuda dos colegas!

    abs

  • Mas, a resposta mais correta, com toda certeza, é a letra B, concorda ?

     

    Abraços!

  • Concordo.  B e C são corretas.  Era pra ter sido anulada a questão.

  • As alternativas B e C produzirão o mesmo resultado final.
    Deveria ser anulada e cabe recurso.
  • O enunciado esta dizendo possuir preço menor que R$ 195,00 e não possuir preço menor ou igual!

  • Eu tô ficando louca ou ele pede todos os valores maiores que 195?


ID
148333
Banca
FCC
Órgão
TRT - 16ª REGIÃO (MA)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Um bloco de transações SQL é iniciado com BEGIN TRANSACTION e deveria executar três transações sequencialmente, porém, na segunda transação ocorre uma falha geral no sistema, o que executará

Alternativas
Comentários
  • Não entendi. :( . Alguém poderia explicar?
  • Cara... tipo ou as 3 transações que estão dentro do bloco begin transaction / end transaction são executadas ou nenhuma delas.
    Respeitando a propriedade da ATOMICIDADE!!!
  • Eu pensava que volteria para o início da segunda transação, já que ela foi executada, mas volta mesmo pro inicio do bloco. Blz, tá aprendido! :)
  • Para a operação voltar a partir da segunda transação seria necessário ter feito um COMMIT depois da primeira transação, mas isso não é falado explicitamente. Pegadinha...
  • Errei esta questão com convicção! Aí fui tentar entendê-la melhor, então a situação ficou ainda pior!. Ocorre o seguinte: as operações manipulam uma transação são:
    1- BEGIN-TRANSACTION: marca o início de uma transação;
    2- READ OU WRITE: especificam operações de leitura ou gravação em itens de bancos de dados;
    3- END_TRANSACTION: especifica que as operações de read e write terminaram.
    4- COMMIT: indica que as alterações efetuadas pela transação poderão ser efetivadas, pois elas já foram testadas e foram aprovadas;
    5- ROLLBACK: indica que as alterações efeturadas pela transação deverão se desfeitas, pois não foram aprovadas, algo deu errado.
    Em um plano de execução podem existir várias transações intercaladas. Nesse caso (intercaladas), por exemplo, um BEGIN_TRANSACTION de uma transação pode ocorrer, seguido de READs e WRITEs, uma outra transação inicia, executa seus READs e WRITEs etc. No final do plano de execução os COMMITs das várias transações podem ser executados. Se esse fosse o caso, até faria sentido o que afirma a questão, tendo em vista que expressamente nenhum COMMIT foi anunciado. Mas a questão diz explicitamente que as transações são SEQUENCIAIS. Eu entendi Isso da segunte forma: a primeira transação inicia e é efetivada (COMMIT), a segunda inicia e é efetivada, a terceira inicia e é efetivada, necessariamente nessa ordem. Portanto, concluo que se durante o processamento do plano (serial) citado na questão houve uma falha durante a segunda transação, a primeira transação já havia sido efetivada. Somente sendo executado o ROLLBACK da segunda transação.
    Não consegui ver o porquê da questão ter sido considerada correta.

ID
148336
Banca
FCC
Órgão
TRT - 16ª REGIÃO (MA)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

As pseudo colunas SQL: CURRVAL, NIVEL, NEXTVAL, ROWID, e ROWNUM são permitidas em PL/SQL somente no comando

Alternativas
Comentários
  • CURRVAL : Valor corrente de uma seqüência armazenada no banco de dados.
    NEXTVAL : Valor do próximo valor da seqüência armazenada no banco de dados.
    LEVEL : Nível na estrutura da árvore em bancos de dados.
    ROWID : Coluna que especifica a localização da linha (definido pelo Oracle).
    ROWNUM : Número da linha selecionada em uma tabela. Não é afetada pela cláusula ORDER BY.

  • Complementando o que sao pseudo colunas:

    pseudocolumn behaves like a table column, but is not actually stored in the table. You CAN select from pseudocolumns, but you cannot insert, update, or delete their values. A pseudocolumn is also similar to a function without arguments

    fonte: http://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns.htm

  • c-

    A pseudocolumn behaves like a table column, but is not actually stored in the table. You can select from pseudocolumns, but you cannot insert, update, or delete their values.

    https://docs.oracle.com/cd/A84870_01/doc/server.816/a76989/ch26.htm


ID
148747
Banca
FCC
Órgão
TJ-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A expressão SQL-ANSI
SELECT coluna
FROM tabela
WHERE coluna LIKE 'literal%'
recupera todas as

Alternativas
Comentários
  • % substitui um número qualquer de zero ou mais caracteres. Ou seja, após literal terá um número X de caracteres. Logo, se inicia com um literal.

    Letra b.

ID
149458
Banca
FCC
Órgão
TJ-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Sobre trigger aplicado em tabelas por meio da linguagem SQL pode-se afirmar que

Alternativas
Comentários
  • Ao se desobedecer alguma restrição de integridade referencial o trigger pode ser utilizado para não permitir que o banco entre em um estado inconsistente.
  • a) ERRADO. Uma tabela pode conter até 12 trigger associados aos comandos de ativação e momento de disparo. São as seis trigger do tipo row-level e seis do tipo statement-level.

    c) ERRADO. O comando INSERT pode ser utilizado.

    d) ERRADO. O comando DELETE pode ser utilizado.

    e) ERRADO. Não deve ser utilizado em SUBSELECT.


ID
149461
Banca
FCC
Órgão
TJ-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

As stored procedures são conjuntos de comandos que NÃO têm como característica

Alternativas
Comentários
  • Stored Procedure ou Procedimento armazenado é uma coleção de comandos em SQL para dispensamento de Banco de dados. Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status.

  • A letra C é a opção correta porque outros comandos, que não sejam SQL padronizados, podem ser utilizados.

    Exemplo: uma outra stored procedure pode ser invocada por outra stored procedure.

  • Cada database possui diferentes linguagens... quando é necessario fazer algum Migraçao, a parte mais trabalhosa é transformar/ajustar as procedures de um banco p/ o padrao de outro banco.... ou seja, o conceito de Stored procedure é o mesmo, mas o padrao SQL pode mudar!!

    Agora, a letra E,.... falar que fica armazeado no SERVIDOR de banco de dados??? Deixa a entender que é servidor Fisico.. e nao o Software do Database....   @#!$%$
  • Questão parecida da mesma banca

    Q37873 Questão resolvida por você.     Questão médio

    Prova: FCC - 2010 - DPE-SP - Agente de Defensoria - Administrador de Banco de Dados

    Disciplina: Banco de Dados | Assuntos: Gatilhos (Triggers)SQL

    NÃO se trata de uma característica das stored procedures:

    • a) acionar outra stored procedure.
    • b) utilizar somente comandos SQL padronizados.
    • c) receber diversos parâmetros de entrada.
    • d) propiciar maior segurança no acesso aos dados.
    • e) retornar um valor de status para indicar aceitação ou falha na execução.


ID
149464
Banca
FCC
Órgão
TJ-SE
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Sobre consultas em SQL pode-se afirmar que

Alternativas
Comentários
  • Ai Gustavo, se for so para vc ficar colando as respostas é melhor vc nao colocar nada.
    Senão for ajudar não atrapallhe!

  • Essa questão tem duas respostas!!! A letra D também está correta. Podemos usar HAVING e WHERE juntas! Exemplo:

    SELECT Customer,SUM(OrderPrice) FROM Orders
    WHERE Customer='Hansen' OR Customer='Jensen'
    GROUP BY Customer
    HAVING SUM(OrderPrice)>1500
    Fonte: http://www.w3schools.com/SQL/sql_having.asp

  • Concorco com você Zamba
  • Também concordo com os colegas, que a letra D também está correta.
  • A letra c) está errado pois "a quantidade de códigos" deveria usa count e não sum.
  • ??????

    Group by usando Having???  Group by usa colunas e Having usa funçoes agregadas!!!!!  Muitoooo Forçado este questao!!

    E dizer que Where e Having sao mutuamente exclusivas ?! que palhaçada!!! 

    Ex: Se eu quiser saber quantos acessos meu site possui em determinada hora do dia, em um feriado específico, vindo de uma regiao específica:

    SQL> select to_char(data,'HH24'), count(*)
      2  from conexao 
      3  where origem='MG'
      4  group by to_char(data,'HH24')
      5  having to_char(data,'HH24') > 22;
     
    TO   COUNT(*)
    -- ----------
    23          9

ID
149932
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL e PL/SQL, julgue os itens a seguir.

Quando se executa com sucesso o comando SQL "TRUNCATE TABLE cidades", todos os registros da tabela cidades são removidos.

Alternativas
Comentários
  • O comando TRUNCATE remove rapidamente todas as linhas da tabela. Tem o mesmo efeito do comando DELETE sem a cláusula WHERE, mas como não varre a tabela é mais rápido. É mais vantajoso para tabelas grandes.

  • + um detalhe

    TRUNCATE pertence ao DDL

    DELETE pertente ao DML

  • (DDL)=TRUNCATE - remove todos os registros de uma tabela, incluindo todos os espaços alocados para os registros são removidos;

    (DML)=DELETE- Exclui todos os registros de uma tabela de banco de dados


ID
149935
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL e PL/SQL, julgue os itens a seguir.

O comando SQL DROP TABLE permite copiar os registros de uma tabela para outra e a seleção dos registros a serem copiados deve ser especificada pelas cláusulas FROM e WHERE.

Alternativas
Comentários
  • A questão está errada. Use DROP TABLE para remover uma tabela de um banco de dados.
  • O comando DROP TABLE remove tabelas do banco de dados. Somente o criador pode remover a tabela. A tabela poderá ficar sem linhas, mas não será removida, usando o comando DELETE

  • DDL é o nome abreviado de Linguagem de Definição de Dados, que lida com esquemas e descrições de banco de dados, de como os dados devem residir no banco de dados.

    CREATE - para criar um bd e objetos como (tabela, índice, visualizações, procedimento de armazenamento, função e gatilhos)

    ALTER - altera a estrutura da base de dados existente

    DROP - exclui objetos do banco de dados

    TRUNCATE - remove todos os registros de uma tabela, incluindo todos os espaços alocados para os registros são removidos

    RENAME - renomear um objeto


ID
149938
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL e PL/SQL, julgue os itens a seguir.

O comando SQL ALTER TABLE possibilita alterar a estrutura de uma tabela, como por exemplo, adicionando ou removendo uma coluna de uma tabela.

Alternativas
Comentários
  • O comando ALTER TABLE altera a definição de uma tabela existente.

    E permite:

    * adicionar coluna à tabela
    * adicionar restrição à tabela
    * remover da tabela uma restrição existente
    * aumentar o comprimento de coluna VARCHAR, CHAR VARYING e CHARACTER VARYING
    * sobrepor o bloqueio no nível de linha para a tabela (ou remover a sobreposição)

     


ID
149941
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL e PL/SQL, julgue os itens a seguir.

O código escrito em PL/SQL pode ser executado pelo SQL *Plus.

Alternativas

ID
149944
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL e PL/SQL, julgue os itens a seguir.

A estrutura básica de um bloco PL/SQL é composta por quatro seções: DECLARE, BEGIN, EXCEPTION e END. As seções DECLARE, BEGIN e END são obrigatórias.

Alternativas
Comentários
  •   DECLARE - Seção para declaração de variáveis,tipos e subprogramas locais.
    BEGIN - Seção Executável, nesta seção ficam as instruções procedurais e SQL. Esta é a única seção do bloco que é indispensável e obrigatória.
    EXCEPTION - Seção/Setor onde ficam as instruções de tratamento de erro.
    END

  • A estrutura PL/SQL é composta por 3 seções e não por 4.

    DECLARE
       (obrigatória)
    BEGIN
       (obrigatória)
    EXCEPTION
       (opcional)
    END;

  • Estrutura de bloco PL/SQL

     

    DECLARE

    /* Seção declarativa – variáveis, tipos, cursores e subprogramas locais */

    BEGIN

    /* Seção executável - instruções SQL e procedurais entram aqui. Essa é a principal sessão do bloco PL/SQL, e é a única obrigatória. */

    EXCEPTION

    /* Seção de tratamento de exceções – instruções de tratamento de erros entram aqui. */

    END;

  • PARTES DO PL/SQL:

    DECLARE - Seção declarativa   -  Opcionalcaso não use VARIAVEIS ou CONSTANTES

    BEGIN - Seção executavel  -  Obrigatória

    EXCEPTION - Tratamento de exceções - Opcional

    END; -  Opcional

    fonte:material do Dominando TI


ID
150253
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Para obter uma única linha de cada grupo de linhas, sem repetição de um determinado conteúdo, por meio de pesquisa a uma tabela com SQL, pode-se utilizar o operador

Alternativas
Comentários
  • eXEMPLO: SELECT DISTINCT City FROM Users
  • Letra B

    DISTINCT --> comando utilizado na consulta para que não haja repetição.

    exemplo:      select distinct nome from funcionario
    Nesta consulta não vai existir nome repetido

ID
150256
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Os alunos do curso de 'Administração', ou que estejam na faixa de idade entre '35' e '45' anos inclusive, serão listados com os seus respectivos nomes e emails pelo comando SQL

Alternativas
Comentários
  • Não foi difícil encontrar a alternativa correta, no entanto:

    A cláusula  (idade >= '35' and <= '45') está correta?
    Não deveria ser (idade >= '35' and idade <= '45')?
  • Respondendo comentário anterior:
                        Não foi difícil encontrar a alternativa correta, no entanto:

                        A cláusula  (idade >= '35' and <= '45') está correta?
                        Não deveria ser (idade >= '35' and idade <= '45')?


    R--> se a condição (idade >= '35' and <= '45') não estivesse entre parênteses, era necessário acrescentar o atributo idade.
  • Quem conhece bem SQL sabe que este comando está errado... mesmo colocando entre parenteses é necessario repetir a coluna.... 

    P/ isso existe o oeprador BETWEEN....

    Abs
  • esse and <= 45 aí:

    errrrroooou kkk


ID
150265
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é

Alternativas
Comentários
  • SELECT statement built using a subquery. */SELECT ProductNameFROM Northwind.dbo.ProductsWHERE UnitPrice = (SELECT UnitPrice FROM Northwind.dbo.Products WHERE ProductName = 'Sir Rodney''s Scones')
  • Letra E

    Subconsulta (subquery)

    Exemplo:
    select   nome_colun a    from       nome_tabela
    where nome_coluna in (select nome_coluna from nome_tabela where nome_coluna > 50) --> "Esta é uma subconsulta"
  • e-

    Queries can be nested so that the results of one query can be used in another query via a relational operator or aggregation function. A nested query is also known as a subquery.

    https://en.wikipedia.org/wiki/Select_(SQL)#Subqueries


ID
150268
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Quando uma instrução SQL cujo operador lógico exige dois operandos para executá-la, este operador pode ser

Alternativas
Comentários
  • Alguém que tenha compreendido a questão poderia explicá-la? Obrigado.
  • Oi McLovin ,

    O que eu entendi foi que a questão perguntava qual das opções abaixo que contém apenas operadores que precisavam de dois operandos.

    No caso, as opções apresentavam "and", "or" e "not". Os únicos dois operadores que exigem dois operandos são "and" e "or".

    Ex.:
    X and Y
    A or B

    O "not" só exige um operando. Ex.: not A

    Abraços e bons estudos.

ID
150313
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Dadas duas relações a e b do mesmo tipo, ...... entre essas duas relações, A ...... B (nessa ordem), é uma relação do mesmo tipo, cujo corpo consiste em todas as tuplas t tais que t aparece em a e não em b.

Completa correta e respectivamente as lacunas da frase acima os termos:

Alternativas
Comentários
  • Letra C

    A - B = (a todo valor que contém em A e não contém em B)

    O comando SQL para esta operação é MINUS ou EXCEPT
  • O Operador MINUS(Oracle) ou EXCEPT(SQL Server) substraem subconjuntos de tuplas de uma tabela na outra