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.
- create table T (A1 int not null, A2 int not null)
- create table T (A1 int not null, A2 int not null, unique (A1,A2))
- 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:
- Duas ou mais chaves candidatas
- Chaves candidatas compostas
- 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,