Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FCC 2016

Banco de DadosMySQL
Código
fc028451
Banca
FCC
Órgão
CREMESP
Ano
2016
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Banco de Dados
O MySQL 5.7 possui diversas tabelas do sistema que contêm informações sobre contas de usuário e os privilégios por eles detidos. A tabela que contém os privilégios no nível do Bando de Dados é
  1. Adatabase_priv.
  2. Bcolumns_priv.
  3. Cprocs_priv.
  4. Ddb.
  5. Eproxies_priv.
Revelar gabarito e comentário

GabaritoD — db.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Tabelas de Privilégios no MySQL

Gabarito: letra D. A tabela mysql.db (ou simplesmente db) armazena os privilégios concedidos em nível de banco de dados. As demais alternativas correspondem a tabelas que gerenciam privilégios em outros níveis (coluna, procedure/proxy) ou não existem.

O MySQL 5.7 possui um conjunto de tabelas no banco mysql que controlam a segurança. Cada uma cobre um escopo específico: global, banco de dados, tabela, coluna, rotinas (procedures/functions) e proxy. A questão testa justamente o conhecimento do escopo de cada tabela.

Tabela do Sistema

Escopo de Privilégio

Função Principal

Exemplo de Uso

db

Banco de dados

Armazena privilégios concedidos a usuários para bancos de dados específicos

SELECT, INSERT, UPDATE em um banco específico

columns_priv

Coluna

Armazena privilégios em nível de coluna de uma tabela

Permissão de SELECT em uma coluna específica

procs_priv

Stored procedures/functions

Armazena privilégios sobre rotinas armazenadas

Execução de uma procedure específica

proxies_priv

Proxy

Gerencia privilégios de proxy (usuários que podem assumir identidade de outros)

Usuário A pode atuar como usuário B

database_priv

Não existe no MySQL 5.7

Distrator criado pela banca

1Nível global
user
2Nível de banco
db
3Nível de tabela
tables_priv
4Nível de coluna
columns_priv
5Nível de rotina
procs_priv
6Nível de proxy
proxies_priv
Tabelas de privilégios (MySQL 5.7)
LEVELsoulevel.com.br
Tabelas de privilégios (MySQL 5.7): Nível global (user); Nível de banco (db); Nível de tabela (tables_priv); Nível de coluna (columns_priv); Nível de rotina (procs_priv); Nível de proxy (proxies_priv)

Alternativa A — ❌ Incorreta

database_priv não é uma tabela real do sistema. A banca criou esse nome como distrator. A tabela correta para nível de banco de dados é db.

Alternativa B — ❌ Incorreta

columns_priv é a tabela que armazena privilégios em nível de coluna de uma tabela, não de banco de dados. O candidato pode confundir o escopo.

Alternativa C — ❌ Incorreta

procs_priv é a tabela que armazena privilégios sobre stored procedures e stored functions, não sobre bancos de dados.

Alternativa D — ✅ Correta ⟵ GABARITO

A tabela db (no banco mysql) contém os privilégios concedidos a usuários para bancos de dados específicos. Cada linha associa um usuário a um banco e lista os privilégios (SELECT, INSERT, etc.) naquele banco.

Alternativa E — ❌ Incorreta

proxies_priv é a tabela que gerencia privilégios de proxy (usuários que podem assumir a identidade de outros), não se aplica a nível de banco de dados.

PEGA ESSA DICA!

Para memorizar, relacione o sufixo ao escopo:

  • dbdatabase (banco de dados)

  • columns_privcolunas

  • procs_privprocedures

  • proxies_privproxy

  • tables_privtabelas (não listada, mas existe)

  • user → nível global (não listada)

Gabarito: letra D.

Link permanente: /questoes/fc028451