Questão de Banco de Dados — Catálogo de um banco de dados — FUNDATEC 2023
Banco de Dados›Catálogo de um banco de dados
Código
qq890111
Banca
FUNDATEC
Órgão
BRDE
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas - Administração de Banco de Dados
O DBA de um banco de dados SQL Server 2019 precisou procurar no catálogo algumas definições existentes sobre um esquema da base de dados específico para executar o seu trabalho. Ele descobriu que:• Para procurar as tabelas existentes, deveria consultar a SYS.TABLES, e para encontrar as chaves primárias existentes, poderia consultar a tabela _____________;• Encontraria na tabela _________ o identificador do tipo de dado associado aos atributos de uma dada tabela;• Para encontrar os procedimentos armazenados na base de dados, precisava consultar a SYS.PROCEDURES, e que se quisesse saber detalhes dos parâmetros de um dado procedimento armazenado, poderia encontrá-los na ___________;Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
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”.
SQL Server 2019 – Catalog Views
Gabarito: letra A. O catálogo do SQL Server armazena metadados sobre objetos do banco. Para encontrar chaves primárias, consulta-se sys.indexes (onde is_primary_key = 1); para obter o identificador do tipo de dado das colunas, consulta-se sys.columns; e para detalhes dos parâmetros de um procedimento armazenado, consulta-se sys.parameters. A única alternativa que preenche correta e respectivamente as lacunas é a A.
A banca testa o conhecimento das principais exibições de catálogo (system catalog views) do SQL Server. Analisamos cada alternativa a seguir.
Critério / Função
sys.indexes
sys.columns
sys.parameters
sys.types
sys.procedures_extended
Encontrar chaves primárias (is_primary_key = 1)
✅ Sim
❌ Não
❌ Não
❌ Não
❌ Não
Identificador do tipo de dado de atributos de uma tabela
❌ Não
✅ Sim (system_type_id)
❌ Não
❌ Não (lista tipos, não associa a colunas)
❌ Não
Detalhes dos parâmetros de um procedimento armazenado
❌ Não
❌ Não
✅ Sim
❌ Não
❌ Não (view inexistente)
Alternativa A – ✅ Correta ⟵ GABARITO
SYS.INDEXES – As chaves primárias são implementadas como índices únicos. A view sys.indexes contém uma linha por índice, incluindo a coluna is_primary_key que identifica se é uma chave primária.
SYS.COLUMNS – Para cada coluna de uma tabela, sys.columns armazena o system_type_id (identificador do tipo de dado) e outros metadados.
SYS.PARAMETERS – Os parâmetros de procedimentos armazenados e funções são listados em sys.parameters, com nome, tipo e direção.
Portanto, a sequência está perfeitamente alinhada com a documentação do SQL Server.
Alternativa B – ❌ Incorreta
SYS.INDEXES_KEYS – Esta view não existe no SQL Server (a view correta para colunas de índice é sys.index_columns). Além disso, o segundo item utiliza SYS.TYPES, que lista tipos de dados definidos pelo usuário, mas não o identificador do tipo associado a um atributo específico (isso está em sys.columns). Apesar de o terceiro (SYS.PARAMETERS) estar correto, os dois primeiros estão errados.
Alternativa C – ❌ Incorreta
Os dois primeiros itens estão corretos (SYS.INDEXES e SYS.COLUMNS), mas o terceiro utiliza SYS.PROCEDURES_EXTENDED, que não é uma view de catálogo padrão do SQL Server. A view correta para parâmetros é sys.parameters. Portanto, falha no preenchimento.
Alternativa D – ❌ Incorreta
O primeiro item (SYS.INDEXES) está correto, e o terceiro (SYS.PARAMETERS) também. No entanto, o segundo item utiliza SYS.TYPES em vez de sys.columns. Embora sys.types contenha informações sobre tipos, o identificador do tipo de dado associado a uma coluna específica é obtido através da coluna system_type_id de sys.columns, e não diretamente de sys.types. Assim, a alternativa não preenche a lacuna corretamente.
Alternativa E – ❌ Incorreta
SYS.PRIMARY_KEYS – Não existe tal view; as chaves primárias são encontradas em sys.indexes com is_primary_key = 1. O segundo item (SYS.TYPES) novamente não é a view correta para o identificador de tipo de coluna. O terceiro (SYS.PROCEDURES_EXTENDED) é inexistente.
NÃO CAIA NESSA!
A banca explora a confusão entre sys.columns (que armazena o tipo de cada coluna de uma tabela) e sys.types (que apenas lista tipos disponíveis). A alternativa D, por exemplo, usa SYS.TYPES no lugar de SYS.COLUMNS – fique atento: o identificador do tipo de dado de um atributo vem de sys.columns, não de sys.types.
NÃO CAIA NESSA!
Memorize as principais views de catálogo do SQL Server: sys.tables, sys.columns, sys.indexes, sys.parameters, sys.procedures, sys.types, sys.objects. A banca costuma cobrar a view exata para cada tipo de metadado – não confunda sys.columns com sys.types, nem sys.indexes com supostas views como sys.primary_keys.
Gabarito: letra A – sequência SYS.INDEXES – SYS.COLUMNS – SYS.PARAMETERS.