A área administrativa de um Tribunal de Contas pretende sub...
Foram estabelecidas as seguintes condições:
I. Cada contrato possui identificação própria e pode ter um ou mais servidores designados para sua fiscalização, inclusive simultaneamente, ao longo da vigência;
II. Um mesmo servidor pode fiscalizar vários contratos, inclusive em períodos coincidentes;
III. Para cada designação, devem ser registrados o servidor, o contrato, a data de início e, quando encerrada, a data de término;
IV. O encerramento ou a substituição de uma designação não deve apagar os registros das atuações anteriores; e
V. O sistema deverá permitir identificar o servidor ou os servidores que fiscalizavam determinado contrato em uma data passada.
Durante a modelagem do banco de dados, foram apresentadas diferentes propostas para armazenar as designações dos fiscais.
A proposta compatível com as condições estabelecidas consiste em
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C
Fundamento decisivo: As condições I a V exigem apurar quem atuava em uma data passada, preservando designações encerradas e simultâneas. Portanto, era necessária uma proposta que mantivesse os períodos de atuação consultáveis.
- Verifique a multiplicidade nos dois sentidos: vários servidores por contrato e vários contratos por servidor exigem representar separadamente os vínculos.
- Quando houver consulta em data passada, confira se cada vínculo mantém seu período de atuação e se os registros encerrados são preservados.
- Não trate a data de alteração de um registro como equivalente às datas de início e término da atuação.
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
Questão cabeluda da moléstia.
A alternativa correta é a C: criar um registro próprio para cada designação, relacionando um contrato a um servidor e armazenando as datas de início e de término da respectiva designação.
Por que esta é a proposta correta?
Para atender a todas as condições do Tribunal de Contas, a modelagem precisa de uma tabela associativa (ou de relacionamento) específica para as designações:
- Atende I e II (Relacionamento Muitos-para-Muitos): Como um contrato pode ter vários fiscais e um servidor pode fiscalizar vários contratos ao mesmo tempo, não se pode colocar o ID do fiscal direto na tabela de Contratos (A) nem uma lista dentro da tabela de Servidores (B).
- Atende III e IV (Histórico sem apagamento): Criando uma linha exclusiva para cada designação com data_inicio e data_termino, o encerramento de uma fiscalização apenas preenche a data de término, mantendo o registro passado intacto no banco de dados.
- Atende V (Consulta retroativa): Para descobrir quem fiscalizava o contrato em uma data passada, basta fazer uma consulta filtrando as linhas onde a data desejada esteja entre a data_inicio e a data_termino daquela designação.
Acertei, mas vai ser ferrar essa questão
Sem apresentar as alternativas, mas apenas o enunciado, o chatgpt deu uma solução técnica que se encaixa perfeitamente com a letra C:
"""Criar uma tabela de designações, relacionada às tabelas de servidores e contratos, contendo as chaves estrangeiras do servidor e do contrato e as datas de início e término da designação, preservando cada designação encerrada para fins de histórico."""
LETRA C: "criar um registro próprio para cada designação, relacionando um contrato a um servidor e armazenando as datas de início e de término da respectiva designação."
Pensei em marcar a letra C, mas nela diz "relacionando um contrato a um servidor" e fiquei com medo de ser pegadinha, já que no enunciado diz que um contrato pode ser designado pra mais de um servidor.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo