Pular para o conteúdo principal

Questão de Banco de Dados — Catálogo de um banco de dados — FUNDATEC 2023

Banco de DadosCatá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.
  1. ASYS.INDEXES – SYS.COLUMNS – SYS.PARAMETERS
  2. BSYS. INDEXES _KEYS – SYS.TYPES – SYS.PARAMETERS
  3. CSYS.INDEXES – SYS. COLUMNS – SYS.PROCEDURES_EXTENDED
  4. DSYS.INDEXES – SYS.TYPES – SYS.PARAMETERS
  5. ESYS.PRIMARY_KEYS – SYS.TYPES – SYS.PROCEDURES_EXTENDED
Revelar gabarito e comentário

GabaritoA — SYS.INDEXES – SYS.COLUMNS – SYS.PARAMETERS

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.

Link permanente: /questoes/qq890111