Questão nº 77
Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 77)
No contexto de metadados de bancos de dados, assinale o comando SQL que, tanto no Oracle como no MS SQL Server, retorna a lista de tabelas no escopo corrente.
- Aselect * from dbo.tables
- Bselect * from tables
- Cselect * from sys.tables (alternativa correta)
- Dselect * from system_dbo_tabelas
- Eselect * from system_tables
Resposta comentada
Gabarito Alternativa C
Metadados de banco de dados são informações que descrevem a estrutura do banco de dados, como nomes de tabelas, colunas e seus tipos, índices, etc., em vez dos dados reais armazenados. Cada Sistema Gerenciador de Banco de Dados (SGBD) possui um catálogo de sistema (ou dicionário de dados) onde esses metadados são armazenados e expostos através de visões e tabelas específicas.
(A) Incorreta: Embora `dbo` seja um esquema comum e padrão no MS SQL Server, `dbo.tables` não é uma visão de sistema para listar tabelas. A armadilha aqui é que `dbo` é um esquema real, mas a visão `tables` sob ele para metadados não existe.
(B) Incorreta: `tables` não é um nome de visão de sistema padrão em nenhum dos SGBDs mencionados para listar tabelas sem qualificação de esquema.
(C) Correta: No MS SQL Server, `sys.tables` é a visão de catálogo de sistema padrão e correta para listar todas as tabelas no banco de dados corrente. No Oracle, embora as visões exatas para listar tabelas sejam `ALL_TABLES`, `USER_TABLES` ou `DBA_TABLES`, o esquema `SYS` é o proprietário do dicionário de dados (onde os metadados são armazenados). Portanto, `sys.` é um prefixo que remete a objetos de sistema em ambos os SGBDs, tornando esta a alternativa mais próxima de uma solução "comum" ou a mais correta entre as opções para o propósito de acessar metadados de tabelas, especialmente sendo a forma exata no SQL Server.
(D) Incorreta: `system_dbo_tabelas` não é um nome de visão de sistema padrão em nenhum dos SGBDs. Parece um nome inventado.
(E) Incorreta: `system_tables` não é um nome de visão de sistema padrão em nenhum dos SGBDs para listar tabelas.
Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.