Artigo

Projeto zerando suas dúvidas – Parte 01 – banco de dados e business Intelligence

A temporada de Game of thrones acabou ontem e agora preciso ocupar minha mente. Não posso ficar 10 meses ansioso pela próxima temporada.

Começo hoje um novo projeto dentro do escopo de banco de dados e BI. Devo postar sistematicamente (não vou definir um período pois não tenho como calcular a demanda) questões sobre o assunto que me são enviadas por e-mail.

Começaremos hoje pela dúvida do aluno JL: “Professor aqui estão as questões que eu sinceramente não entendi nada. Poderia me ajudar? Obrigado!”

Vamos, então, comentar cada uma das questões abaixo.

Ano: 2016 Banca: FGV Órgão: CODEBA Prova: Analista Portuário – Analista de Tecnologia da Informação

Considere uma tabela T de um banco de dados relacionais, que possui dois atributos de valores numéricos, A1 e A2. Sabe-se que as seguintes dependências funcionais que devem ser observadas nas instâncias dessa tabela são:

A1 → A2

A2 → A1

O projetista do banco de dados pretende que seu esquema respeite as formas normais 3FN e BCFN, e analisou três alternativas para a criação da tabela.

  1. create table T (A1 int not null, A2 int not null)
  2. create table T (A1 int not null, A2 int not null, unique (A1,A2))
  3. create table T (A1 int not null, A2 int not null, unique (A1), unique (A2))

Assinale:

a) se somente a afirmativa I for adequada.
b) se somente a afirmativa II for adequada.
c) se somente a afirmativa III for adequada.
d) se somente as afirmativas II e III forem adequadas.
e) se somente as afirmativas I e III forem adequadas.

Comentário: Vamos lá! Precisamos saber, primeiramente, o que seria uma dependência funcional. Quando dizemos que CPF à Nome (CPF determina o Nome), estamos especificando que se recebermos um valor de CPF conseguirmos determinar ou retornar um, e apenas um, nome.

Partindo deste conceito podemos perceber que os valores de A1 e A2 na tabela da questão deve possuir a característica de ser único, individualmente. Para tornar esses valores em algo mais concreto, podemos pensar nos atributos CPF e Identidade. Ambos devem ser únicos dentro do seu conjunto de valores.

Sendo assim a alternativa que melhor se encaixa nos requisitos para a criação de uma tabela é a descrita no item III. Isso nos leva a resposta na letra C.

Gabarito: C

Ano: 2010 Banca: FGV Órgão: BADESC Prova: Analista de Sistemas

A forma normal de Boyce/codd é aplicada para relações que possuem os seguintes requisitos:

a) chaves candidatas redundantes e duas ou mais chaves candidatas.

b) duas ou mais chaves candidatas, chaves candidatas redundantes e superposição de atributos nas chaves candidatas.

c) duas ou mais chaves candidatas, chaves candidatas compostas (mais de um atributo) e chaves candidatas redundantes.

d) chaves candidatas redundantes, chaves candidatas compostas (mais de um atributo) e superposição de atributos nas chaves candidatas.

e) duas ou mais chaves candidatas, chaves candidatas compostas (mais de um atributo) e superposição de atributos nas chaves candidatas.

Comentário: A forma normal de boyce-codd é uma restrição mais severa da terceira forma normal. Ela basicamente diz que um atributo não chave não deve determinar um outro atributo que é parte de uma chave. Observem que quando isso acontece podemos dizer que é possível substituir o atributo não chave pelo atributo chave. Desta forma, podemos dizer que temos chaves candidatas sobrepostas.

Vejamos um exemplo:

A, B -> C, D, E

C -> B

Vejam que o fato de C -> B permite derivarmos a seguinte dependência:

A, C -> B, D, E

Observem também que o exemplo não fere a terceira forma normal.

Sendo assim podemos definir alguns requisitos:

  1. Duas ou mais chaves candidatas
  2. Chaves candidatas compostas
  3. Sobreposição de atributos nas chaves candidatas (atributos que são compartilhados entre as chaves)

Podemos então marcar o gabarito na alternativa E.

Gabarito: E

Por hoje é só! Espero ter ajudado.

Forte abraço,

Thiago

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja os comentários
  • Parabéns pela iniciativa de resolução de questões. As vezes recebemos muito conteúdo geral, mas acabo que não vejo tantos textos com resolução de questões comentadas.
    Bernardo em 28/06/16 às 17:55
    • Valeu Bernardo! Espero manter o ritmo das publicações. Forte abraço!
      Thiago Rodrigues Cavalcanti em 28/06/16 às 18:03