SQL para entrevistas: 20 perguntas e respostas essenciais!

A Linguagem de Consulta Estruturada (SQL) é a ferramenta padrão utilizada por administradores de bancos de dados e analistas de dados para interrogar bancos de dados. Sua aplicação é vasta, abrangendo desde a programação de sites e aplicativos até diversas outras plataformas.

O SQL possibilita o acesso e a manipulação de dados em um banco de dados, abrangendo a criação e alteração de tabelas e colunas, além da consulta de informações por meio de comandos específicos.

Este artigo visa fornecer informações valiosas, especialmente para quem busca perguntas e respostas para se preparar para entrevistas de emprego na área de SQL. Candidatos a engenheiros de dados, analistas de dados, administradores de bancos de dados e outras posições similares podem se deparar com as seguintes questões:

Quais são os Comandos SQL Fundamentais?

Entre os comandos SQL mais importantes, destacam-se:

  • SELECT – Obtém dados de um banco de dados.
  • CREATE TABLE – Elabora uma nova tabela.
  • DELETE – Remove dados de um banco de dados.
  • INSERT INTO – Inclui novos dados em um banco de dados.
  • ALTER DATABASE – Modifica um banco de dados existente.
  • CREATE DATABASE – Estabelece um novo banco de dados.
  • UPDATE – Atualiza os dados de um banco de dados.

Quais são as Quatro Instruções SQL Essenciais?

As principais instruções SQL são divididas nas seguintes categorias:

  • Instruções de Linguagem de Definição de Dados (DDL)
  • Instruções de Linguagem de Manipulação de Dados (DML)
  • Instruções de Linguagem de Controle de Dados (DCL)
  • Instruções de Linguagem de Controle de Transações (TCL)

Qual o Significado de Chave Primária no SQL?

A chave primária é uma coluna (ou conjunto delas) que garante a identificação única de cada linha em um banco de dados. As chaves primárias são cruciais nos bancos de dados SQL, pois fornecem um identificador exclusivo para cada registro. Uma chave primária pode ser composta por um ou mais campos, e cada tabela pode ter apenas uma chave primária.

O que são os Tipos de Dados em SQL?

Um tipo de dado é um atributo que define a natureza dos dados que um objeto pode armazenar, como sequências binárias, valores numéricos, caracteres, informações financeiras, datas e horários, entre outros.

No SQL, os tipos de dados são agrupados da seguinte forma:

  • Números exatos
  • Números aproximados
  • Data e hora
  • Cadeias de caracteres
  • Cadeias de caracteres Unicode
  • Strings binárias

Onde Nomes de Usuário e Senhas são Armazenados no SQL Server?

Os nomes de usuário e as senhas são armazenados nas tabelas sys.server_principals e sys.sql_logins, respectivamente. É importante notar que as senhas não são armazenadas em formato de texto simples.

O que é Injeção de SQL?

Ataques de injeção de SQL são uma das ameaças cibernéticas mais recorrentes na atualidade. Eles permitem que invasores acessem dados, manipulando o banco de dados de um aplicativo. As consequências podem ser graves, desde prejuízos financeiros até o vazamento de dados confidenciais. A melhor estratégia de defesa contra esses ataques é a prevenção.

O que é um Trigger no SQL e Quais seus Tipos?

Um trigger é um tipo especial de procedimento armazenado que é executado automaticamente quando ocorre um evento no servidor de banco de dados. Triggers são empregados para analisar dados antes ou depois de modificações, utilizando instruções DDL e DML.

Existem três tipos de triggers: LOGON, DDL e DML.

  • Triggers LOGON: Disparados quando um usuário inicia um evento de login.
  • Triggers DDL: Acionados sempre que um comando DDL, como CREATE, ALTER ou DROP, é executado.
  • Triggers DML: Ativados sempre que um comando DML modifica dados, como INSERT, UPDATE e DELETE.

Como Distinguir Funções de Linha Única de Funções de Múltiplas Linhas?

Funções de linha única operam em uma linha por vez, retornando um único resultado para cada linha. Funções de conversão de comprimento e caixa são exemplos de funções de linha única.

Já as funções de múltiplas linhas atuam em várias linhas simultaneamente, também conhecidas como funções de grupo, processando várias linhas antes de retornar um único resultado.

O que é Normalização de Banco de Dados e Quais seus Quatro Tipos Principais no SQL?

A normalização de banco de dados é um processo de organização de dados que visa otimizar o acesso e reduzir a redundância. Durante a normalização, colunas e tabelas de um banco de dados são estruturadas para assegurar que as dependências sejam corretamente mantidas pelas restrições de integridade do banco de dados.

Os quatro tipos de processos de normalização de banco de dados são:

  • Primeira Forma Normal (1FN)
  • Segunda Forma Normal (2FN)
  • Terceira Forma Normal (3FN)
  • Forma Normal de Boyce Codd (FNBC ou 4FN)

O que são Índices e Restrições no SQL?

Índices são elementos cruciais no SQL, que facilitam a localização rápida de linhas de dados em grandes bancos de dados. Eles também ajudam a impor restrições, que são regras que definem o comportamento do banco de dados em certas condições.

Índices são utilizados para melhorar o desempenho das consultas, acelerando a busca de informações em tabelas, além de aumentar a legibilidade dos dados. As restrições, por sua vez, delimitam o tipo de dado que pode ser inserido em uma tabela, garantindo a precisão e confiabilidade dos dados. Uma ação é interrompida se houver uma violação entre a restrição e a operação de dados.

Quais as Restrições SQL Mais Utilizadas?

As restrições SQL mais comuns incluem:

  • CREATE INDEX: Cria índices para tabelas, agilizando a recuperação de dados.
  • FOREIGN KEY: Estabelece uma conexão entre tabelas com atributos semelhantes.
  • DEFAULT: Fornece um valor padrão para campos de uma coluna caso nenhum valor seja fornecido.
  • UNIQUE: Assegura que cada valor em uma coluna seja distinto.
  • PRIMARY KEY: Identifica exclusivamente cada linha de uma tabela.
  • NOT NULL: Garante que as colunas não aceitem valores NULL.
  • CHECK: Assegura que cada campo de coluna atenda a um requisito predefinido.

NULL é Igual a 0 no SQL?

Um valor NULL em SQL indica um valor ausente ou não atribuído, não sendo equivalente a um espaço (” “) ou zero (0). O valor NULL não pode ser comparado com outros valores usando operadores como “=” ou “>”, pois ele não é igual ou diferente de qualquer outro valor.

Como Prevenir Ataques de Injeção de SQL?

Além de verificações constantes e testes de penetração, métodos de segurança como validação de entrada, higienização, instruções preparadas e consultas SQL parametrizadas são essenciais para evitar ataques de injeção de SQL. Defesas como firewalls também auxiliam na proteção do banco de dados.

O que é SQL Dinâmico e Quando Usá-lo?

SQL dinâmico é uma funcionalidade que permite modificar consultas em tempo de execução, baseando-se em um ou mais critérios, como a data ou hora atual, ou outros critérios personalizados. Essa capacidade permite alterar consultas de forma significativa, ajudando a alcançar objetivos ou aprimorar habilidades de programação. Seja para criar um novo aplicativo, aprimorar um banco de dados ou adicionar funcionalidades de data warehouse, o SQL dinâmico pode ser uma ferramenta valiosa.

Quais São os Diferentes Tipos de Chaves no SQL?

Chave Primária: Um campo que identifica unicamente cada linha em uma tabela de banco de dados. Esse campo não pode conter valores NULL, e cada tabela possui apenas uma chave primária, que pode ser composta por um ou mais campos.

Chave Estrangeira: Um campo (ou grupo de campos) em uma tabela que se relaciona com a chave primária de outra tabela. Tabelas com chaves primárias são consideradas “tabelas pai”, enquanto tabelas com chaves estrangeiras são “tabelas filhas”.

Super Chave: Uma chave ou conjunto de chaves que auxilia na identificação de registros em uma tabela. Nem todos os atributos são necessários para identificar um registro, portanto, uma superchave pode incluir um ou mais deles.

Chave Candidata: Um subconjunto de superchaves que podem ser usados para identificar registros em um banco de dados, com base em um ou mais atributos. Diferentemente da Superchave, todos os atributos de uma chave candidata são necessários para identificar um registro.

Chave Composta: Uma combinação de duas ou mais colunas em uma tabela utilizada para identificar linhas. Uma chave composta é uma chave primária que inclui outros atributos ou colunas.

Quais São os Tipos de Índices no SQL?

Os tipos de índices em SQL incluem:

  • Índice de hash
  • Índice não clusterizado otimizado para memória
  • Índice clusterizado
  • Índice não clusterizado
  • Índice único
  • Índice de armazenamento de colunas
  • Índice com colunas incluídas
  • Índice em colunas computadas
  • Índice filtrado
  • Índice espacial
  • Índice XML
  • Índice de texto completo

O que é um Pool de Buffer e Quais seus Benefícios?

Em SQL, um pool de buffers, também conhecido como cache de buffer, é utilizado por todos os recursos para armazenar em cache suas páginas de dados. Ao configurar uma instância do SQL Server, o tamanho do pool de buffers pode ser especificado, determinando quantas páginas ele pode conter.

Os benefícios de um pool de buffer incluem:

  • Melhorias no desempenho de E/S
  • Aumento na taxa de transação
  • Redução na latência de E/S
  • Melhora no desempenho de leitura

O que é Dependência e Quais São os Tipos de Dependências?

Uma dependência entre objetos é estabelecida quando um objeto é referenciado por nome em uma instrução SQL mantida em outro objeto. O objeto que aparece na expressão SQL é a “entidade referenciada”, enquanto o objeto que contém a expressão SQL é a “entidade de referência”.

Os tipos de dependências em SQL são:

  • Dependência funcional
  • Dependência totalmente funcional
  • Dependência multivalorada
  • Dependência transitiva
  • Dependência parcial

O que são Junções SQL e Quais as Junções Mais Populares?

Junções são fundamentais no gerenciamento de dados em SQL, permitindo unir duas ou mais tabelas para criar uma tabela unificada para análise de dados. Elas também proporcionam meios de filtrar resultados com base em critérios em uma única tabela.

Os quatro tipos principais de junções SQL são: INNER JOIN, OUTER JOIN, CROSS JOIN e SELF JOIN.

Quais São os Operadores de Conjunto no SQL?

Operadores de conjunto combinam dados de uma ou mais tabelas de mesmo tipo. Embora similares às junções SQL, existem algumas diferenças importantes. Operadores de conjunto SQL coletam registros de consultas diferentes, enquanto junções SQL combinam colunas de tabelas distintas. Consultas SQL compostas incluem operações de conjunto.

Conclusão

Espera-se que este conjunto de perguntas sirva como um guia para entrevistas na área de SQL. Para se destacar nesse cenário, é crucial um estudo aprofundado de SQL e prática constante. Além de aprimorar o conhecimento teórico, é recomendável praticar perguntas de entrevista sobre consultas SQL e aprofundar-se nos principais princípios da linguagem.

Para obter mais informações sobre consultas SQL, visite a folha de dicas SQL. Para praticar consultas SQL, explore estas plataformas de prática.