SQL Flashcards
As instruções insert, update e delete são processadas no banco de dados após serem executadas pelo usuário, dispensando-se o uso de outro comando para a disponibilização de seus resultados a outros usuários.
Errado.
Em alguns casos, dependendo do nível de isolamento do banco, é necessário que o usuário execute explicitamente um COMMIT. Somente após esse comando é que os resultados de operações que manipulam os dados ficam visíveis a outros usuários.
O produto cartesiano é o resultado da combinação de mais de uma tabela, havendo pelo menos uma coluna em comum entre elas, de maneira que se apresentem os registros que constam simultaneamente em todas as tabelas.
Errado.
A alternativa descreveu a operação de junção. O produto cartesiano, por sua vez, gera uma nova relação com todas as combinações possíveis entre as tuplas da primeira relação e as tuplas da segunda relação.
A cláusula WHERE é a que estabelece uma condição para uma consulta.
Correto.
A cláusula WHERE é usada para filtrar registros. A cláusula WHERE é usada para extrair somente os registros que atendem uma condição especificada.
Lembrando os principais comandos SQL:
SELECT - extrai dados de um banco de dados
UPDATE - atualiza dados em um banco de dados
DELETE - exclui dados de um banco de dados
INSERT INTO - insere novos dados em um banco de dados
CREATE DATABASE - cria um novo banco de dados
ALTER DATABASE - modifica um banco de dados
CREATE TABLE - cria uma nova tabela
ALTER TABLE - modifica uma tabela
DROP TABLE - exclui uma tabela
CREATE INDEX - cria uma (chave de pesquisa) índice
DROP INDEX - exclui um índice
select * from dual where x = null
Está correto?
A comparação com NULL não deve ser feita com os operadores lógicos = ou <>, mas sim com IS NULL e IS NOT NULL. Ao comparar qualquer coisa com NULL usando os operadores lógicos comuns, será retornado um resultado desconhecido na comparação (UNKNOWN) e, por isso, não serão retornadas linhas.
SELECT employee_id,
first_name,
last_name FROM
employees WHERE
first_name LIKE ‘Ma%’
Este comando SQL é utilizado para localizar todos os nomes completos dos employees, cujos primeiros nomes começam com as letras Ma.
Correto pois o uso do operador LIKE para buscar padrão textual. O comando busca os empregados cujo primeiro nome começa com ‘Ma’. O padrão ‘Ma%’ significa justamente isso, pois % representa 0 ou mais caracteres após Ma.
Luiz é o DBA do TJRN e atendeu um chamado da equipe de desenvolvimento que pedia para criar um banco de dados com 5 Gigabytes, mas, na hora de criar, Luiz digitou 50 Gigabytes. Para apagar o banco de dados criado equivocadamente, Luiz deve utilizar o comando:
DROP.
Para apagar um banco de dados no contexto de gerenciamento de banco de dados, o comando correto a ser utilizado é o comando DROP. Esse comando é utilizado para remover um banco de dados por completo, incluindo todas as suas tabelas, índices, dados e objetos associados. Ao executar o comando DROP, o banco de dados especificado é excluído permanentemente do sistema.
O operador UNION combina os resultados das duas consultas em uma única lista, removendo automaticamente quaisquer duplicatas.
Correto.
Projeção é uma operação que permite selecionar colunas específicas de uma relação (tabela) e criar uma nova relação contendo apenas as colunas desejadas.
Correto.
SELECT é uma PROJEÇÃO
Produto é uma operação que combina duas relações (tabelas) e produz uma nova relação que
contém todas as combinações possíveis de tuplas entre as duas relações.
Correto.
FROM ,É UM PRODUTO
Seleção é uma operação que permite extrair tuplas de uma relação (tabela) que atendam a uma determinada condição.
Correto.
Exemplo: Cláusula Where
Quando queremos comparar um valor com NULL, utilizamos a cláusula “IS NULL” ou “IS NOT NULL”, em vez dos operadores “=” ou “<>”.
Correto.
Isso porque o valor NULL é considerado desconhecido, o que significa que não é igual nem diferente de qualquer outro valor, incluindo ele mesmo.
A linguagem SQL não é procedural, permitindo a criação de diferentes planos de execução.
Correto, ela é declarativa. Os diferentes planos de execução permitem chegar ao mesmo resultado com pior ou melhor desempenho.
Um SGBD trata do acesso ao banco e pode ser executado independentemente pelo Oracle, MySQL ou PostgreSQL; no entanto, cada SGBD utiliza DML (data manipulation language) e DDL (data definition language) específicas.
Correto.
ISO/IEC criou um padrão para a linguagem SQL. Esse padrão é revisado de tempos em tempos.
Os SGBDs costumam adotar a maior parte da sintaxe que está definida no padrão. No entanto, é perfeitamente possível que um SGBD implemente algum comando de uma forma sutilmente diferente.
Por exemplo: imagine que queremos alterar o tipo de dados de uma coluna. No Microsoft SQL Server, fazemos:
ALTER TABLE nome_tabela
ALTER COLUMN nome_coluna novo_tipo;
Já no Oracle 12c, temos que fazer:
ALTER TABLE nome_tabela
MODIFY nome_coluna novo_tipo;
Percebe que existe uma diferença sutil na sintaxe do comando? É por isso que dizemos que cada SGBD utiliza sua DDL/DML específica. No entanto, as mudanças não costumam ser grandes, de forma que é fácil transcrever o código de um SGBD para outro.