Considerando o organograma ilustrado na figura acima, julgue...

Próximas questões
Com base no mesmo assunto
Q351705 Banco de Dados
Considerando o organograma ilustrado na figura acima, julgue os itens a seguir.

A expressão SQL abaixo cria uma tabela com estrutura que permite armazenar informações acerca dos órgãos e sua hierarquia.

create table orgao (
codigo integer,
sigla char(10),
codigo_pai integer,
constraint pk_orgao primary key (codigo),
constraint fk_orgao foreign key (codigo_pai) references orgao
)
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

A questão aborda o conceito de auto-relacionamento em bancos de dados, utilizado para representar hierarquias ou relações onde um registro pode estar relacionado a outro da mesma tabela. No contexto do SQL, isso é comumente implementado através de uma chave estrangeira que referencia a própria tabela.

O comando CREATE TABLE é utilizado para criar uma nova tabela no banco de dados. A tabela 'orgao' contém as colunas 'codigo', 'sigla' e 'codigo_pai'. A coluna 'codigo' é definida como chave primária (PRIMARY KEY), garantindo a unicidade de cada órgão. Já a coluna 'codigo_pai' é uma chave estrangeira (FOREIGN KEY) que referencia a própria tabela 'orgao', permitindo associar cada órgão a um órgão superior (seu "pai").

Esse modelo de tabela é adequado para representar a hierarquia indicada pelo organograma da questão, pois permite armazenar informações de órgãos em diferentes níveis de uma estrutura organizacional. Um órgão pode ser pai de outro órgão, estabelecendo uma relação hierárquica. Por exemplo, um ministério (pai) pode ter várias secretarias (filhos), cada uma com seu próprio código, mas tendo o código do ministério vinculado como 'codigo_pai'.

A resposta está correta porque o comando SQL apresentado cria com sucesso uma estrutura que pode armazenar os dados dos órgãos e respectivas hierarquias, evidenciando que quem elaborou a questão possui conhecimento em estruturação de banco de dados e na linguagem SQL, particularmente no que diz respeito ao design de tabelas e relações de chave primária e chave estrangeira.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Resposta: C.

No caso, trata-se de um auto-relacionamento.

http://bancodedadossql.blogspot.com.br/2011/10/self-join-ou-auto-relacionamento.html

Para ser primary key, a coluna código não deveria ser NOT NULL?

Darliton Carvalho, quando você define  a coluna codigo como primary key, já está aplicando essa regra; mais especificamente a regra de restrinção de entidade.

Darliton, isso que vc falou é só no caso de adicionar a chave primária em um ALTER TABLE. Na hora de criar a chave primária na criação da tabela, aí não tem problema. Mas, em ambos os casos, a(s) coluna(s) da chave primária passa(m) a ser NOT NULL.

Não está faltando (codigo) após "orgao" ?  

 constraint fk_orgao foreign key (codigo_pai) references orgao (codigo)

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo