Questão nº 43
Questão de Tecnologias da Informação · FCC SEFAZ-SC 2018 - Conhecimentos Específicos (P3) (nº 43)
Atenção: Para responder às questões de números 42 a 44, considere o seguinte caso hipotético:
Uma adequada modelagem de dados é necessária antes da construção dos bancos de dados para que estes sejam suficientemente consistentes enquanto fontes de consulta pela fiscalização.
Um modelo de dados-exemplo para atender o controle de arrecadação tributária contém:
− CONTRIBUINTE (Pessoa Física ou Jurídica):
Dados dos contribuintes, como:
−
cpfoucnpj(chave)−
endereço-contribuinte− ARRECADAÇÃO:
Dados de arrecadação de tributo exigível, como:
−
tipo-tributo−
objeto-tributo−
num-ocorrência-pagamento−
mês-ano-competência−
valor-tributo−
data-vencimento−
data-pagamento− REGRAS DE NEGÓCIO:
−
tipo-tributoé o que identifica um tributo (ex. IPVA, ICMS).−
objeto-tributoé um número de identificação sobre o qual incide o tributo (ex. Número Renavam, Número Inscrição Estadual).−
num-ocorrência-pagamentoé um número sequencial dentro do ano, usado no caso de cotas ou parcelamento do mesmo tributo, i.e. mesmo tipo, mesmo objeto, mesma competência.−
ContribuinteeArrecadaçãorelacionam-se em um-para-muitos, cujo relacionamento tem o nome deExigível.
Considerando as entidades Contribuinte e Arrecadação, que serão convertidas para tabelas relacionais e o correspondente relacionamento entre elas, também a ser convertido em tabela relacional, bem como os atributos envolvidos, o projeto de banco de dados relacional normalizado deve, no mínimo, prever em sua estrutura, uma ligação
Este texto de apoio vale também pra questão nº 42, questão nº 44.
- A1:n entre `Contribuinte` e `Exigível` e uma ligação n:1 entre `Exigível` e `Arrecadação`. A chave primária de `Exigível` será composta pelas chaves primárias de `Contribuinte` e `Arrecadação`. (alternativa correta)
- Bn:m entre `Contribuinte` e `Exigível` e uma ligação m:n entre `Exigível` e `Arrecadação`. A chave primária de `Exigível` será composta pelas chaves primárias de `Contribuinte` e `Arrecadação`.
- Cn:1 entre `Contribuinte` e `Exigível` e uma ligação m:n entre `Exigível` e `Arrecadação`. A chave primária de `Exigível` será composta pelas chaves primárias de `Contribuinte` e `Arrecadação`.
- Dm:n entre `Contribuinte` e `Exigível` e uma ligação n:1 entre `Exigível` e `Arrecadação`. A chave primária de `Exigível` será composta por uma chave própria e pelas chaves primárias de `Contribuinte` e `Arrecadação`.
- E1:1 entre `Contribuinte` e `Arrecadação` e m:n entre `Exigível` e `Arrecadação`. A chave primária de `Exigível` será composta por uma chave própria e pelas chaves primárias de `Contribuinte` e `Arrecadação`.
Resposta comentada
Gabarito Alternativa A
Quando modelamos um banco de dados relacional, as entidades (coisas importantes sobre as quais queremos guardar informações) se tornam tabelas. As chaves primárias são colunas que identificam unicamente cada linha em uma tabela. Os relacionamentos entre entidades também são convertidos: em um relacionamento um-para-muitos (1:N), a chave primária da entidade do lado "um" é adicionada como uma chave estrangeira na tabela da entidade do lado "muitos". Se o relacionamento em si tiver atributos ou se for um relacionamento muitos-para-muitos (N:M), ele é convertido em uma tabela associativa separada, cuja chave primária é geralmente composta pelas chaves primárias das entidades que ela conecta.
Neste caso, o texto diz que Contribuinte e Arrecadação se relacionam em um-para-muitos, e o relacionamento se chama Exigível, que será convertido em tabela. Isso sugere que Exigível é uma tabela associativa que detalha a arrecadação de um tributo para um contribuinte. Para que a alternativa A esteja correta, precisamos interpretar Arrecadação como a definição do tributo (ex: IPVA para um tipo de veículo), e Exigível como a instância específica desse tributo para um contribuinte em um dado período e ocorrência (a "conta" de IPVA de um contribuinte para um ano específico).
- Entidade
Contribuinte: PK écpfoucnpj. - Entidade
Arrecadação(interpretação como "definição do tributo"): PK seria (tipo-tributo,objeto-tributo). - Tabela
Exigível(representando a instância da arrecadação): Conteria os dados específicos da arrecadação (mês-ano-competência,num-ocorrência-pagamento,valor-tributo,data-vencimento,data-pagamento) e chaves estrangeiras paraContribuinteeArrecadação.- A PK de
Exigívelseria composta por (Contribuinte.cpf_cnpj,Arrecadação.tipo-tributo,Arrecadação.objeto-tributo,mês-ano-competência,num-ocorrência-pagamento).
- A PK de
Análise das alternativas:
-
(A) Correta:
- 1:n entre
ContribuinteeExigível: UmContribuintepode ter muitasExigível(muitas contas de tributos). Isso está correto. - n:1 entre
ExigíveleArrecadação: MuitasExigível(muitas contas de tributos) referem-se a umaArrecadação(uma definição de tributo). Isso também está correto sob a interpretação deArrecadaçãocomo definição. - A chave primária de
Exigívelserá composta pelas chaves primárias deContribuinteeArrecadação: A PK deExigívelseria (cpf_cnpjdo Contribuinte,tipo-tributoeobjeto-tributoda Arrecadação-definição, maismês-ano-competênciaenum-ocorrência-pagamento). Essa PK inclui as chaves primárias deContribuinteeArrecadação(definição), o que é uma forma comum de descrever a chave primária de uma tabela associativa que também possui atributos próprios para sua identificação única.
- 1:n entre
-
(B) Incorreta: A relação original é 1:N, não N:M. As cardinalidades n:m e m:n são para relacionamentos muitos-para-muitos, o que não é o caso aqui.
-
(C) Incorreta: A ligação n:1 entre
ContribuinteeExigívelestá errada; um contribuinte tem muitas exigibilidades (1:N), não o contrário. A ligação m:n entreExigíveleArrecadaçãotambém não se encaixa na interpretação que leva à resposta correta. -
(D) Incorreta: A ligação m:n entre
ContribuinteeExigívelestá errada. A afirmação de que a chave primária deExigívelserá composta por "uma chave própria e pelas chaves primárias deContribuinteeArrecadação" geralmente se aplica a entidades fortes, não a tabelas associativas cuja PK é tipicamente derivada das entidades relacionadas. -
(E) Incorreta: A ligação 1:1 entre
ContribuinteeArrecadaçãocontradiz a informação do texto-base de que o relacionamento é "um-para-muitos".
Fonte: FCC SEFAZ-SC 2018 - Conhecimentos Específicos (P3) Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.