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
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.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo