Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Reescreva as sentenças abaixo adequando-as à teoria de banco de dados. Ao apresentar a sentença reescrita, você deve considerar todos os aspectos que estão em discussão na sentença original. 1. Uma das diretrizes informais para a obtenção de um bom projeto de banco de dados diz que, se um esquema de relação corresponde a uma mistura de entidades e relacionamentos, deve existir uma justificativa direta para o seu significado. Contudo, se a relação corresponde a um tipo entidade ou a um tipo relacionamento, haverá perda de significado semântico e a relação não poderá ser explicada facilmente. RESPOSTA: Uma das diretrizes informais para a obtenção de um bom projeto de banco de dados diz que, se um esquema de relação corresponde a um tipo entidade ou a um tipo relacionamento, deve existir uma justificativa direta para o seu significado. Contudo, se a relação corresponde a uma mistura de entidades e relacionamentos, haverá ambiguidades semânticas e a relação não poderá ser explicada facilmente. 2. Em um bom projeto de banco de dados, nós devemos criar relações básicas livres de anomalias de inserção, exclusão ou atualização. Eventualmente, esses bons projetos são formados por diversas relações básicas que, frequentemente, aparecem em operações de junção nas consultas implementadas para extração de informação. Quando isso ocorre, é interessante especificar visões que estabeleçam tais junções. Essa prática aumenta o número de junções usadas em consultas, tornando as respectivas redações (especificações em SQL) mais complexas, porém melhora o desempenho no que diz respeito à execução de tais consultas. RESPOSTA: Em um bom projeto de banco de dados, nós devemos criar relações básicas livres de anomalias de inserção, exclusão ou atualização. Eventualmente, esses bons projetos são formados por diversas relações básicas que, frequentemente, aparecem em operações de junção nas consultas implementadas para extração de informação. Quando isso ocorre, é interessante especificar visões que estabeleçam tais junções. Essa prática reduz o número de junções usadas em consultas, tornando as respectivas redações (especificações em SQL) EXERCÍCIOS DE APOIO Apenas para praticar. Não vale nota. mais simples, e também melhora o desempenho no que diz respeito à execução de tais consultas. 3. Tuplas espúrias, ou tuplas ilegítimas, representam informação errada e inválida. Essas tuplas podem ser criadas a partir de junções com condição de igualdade que estão especificadas sobre atributos que representam chaves primárias ou estrangeiras. RESPOSTA: Tuplas espúrias, ou tuplas ilegítimas, representam informação errada e inválida. Essas tuplas podem ser criadas a partir de junções com condição de igualdade que não estão especificadas sobre atributos que representam chaves primárias ou estrangeiras. 4. Um projeto de banco de dados com muitos atributos que, frequentemente, assumem valores NULL está, provavelmente, desperdiçando espaço de armazenamento e gerando dificuldades para o projetista quando ele precisa construir consultas que usam operações de renomeação e operações de união/interseção/diferença envolvendo tais atributos. RESPOSTA: Um projeto de banco de dados com muitos atributos que, frequentemente, assumem valores NULL está, provavelmente, desperdiçando espaço de armazenamento e gerando dificuldades para a projetista quando ele precisa construir consultas que usam operações de agregação e operações de junção envolvendo tais atributos. 2. Considere a seguinte relação genérica e hipotética: A B C D a b c d a b c d a b c d a b c d a b c d 1. Indique quais dependências funcionais essa instância de relação satisfaz. Considere apenas dependências funcionais que possuem um atributo em cada um de seus lados. 1 1 1 1 1 2 1 2 2 2 2 2 2 3 2 3 3 3 2 4 RESPOSTA: A → C D → B 2. Indique quais dependências funcionais, com certeza, não valem no esquema de relação referente a essa instância de relação. Considere apenas dependências funcionais que possuem um atributo em cada um de seus lados. RESPOSTA: A → B A → D B → C B → D C → D B → A C → A D → A C → B D → C 3. A partir da instância de relação do exercício 2, nós podemos afirmar que nenhum atributo isolado pode ser chave para o esquema de relação correspondente. Porém, percebemos que a dependência funcional {AB} C,D está sendo satisfeita pela instância de relação. Então, poderíamos afirmar que, considerando apenas o contexto dessa instância, o conjunto de atributos {AB} é uma chave para a relação. Explique por que a existência dessa dependência funcional é suficiente para tal afirmação. RESPOSTA: É suficiente porque o subconjunto de atributos AB determina funcionalmente todos os atributos da relação, pois a dependência nos diz que ele determina CD, e nós sabemos que AB AB (dependência funcional trivial). Se AB determina todos os atributos da relação, a repetição de valores no conjunto de atributos AB obrigaria a repetição de valores no conjunto ABCD, o que levaria à criação de tuplas iguais. Tuplas iguais não são permitidas pela teoria de SGBDs relacionais. Logo, o conjunto de atributos AB não poderá assumir o mesmo valor em tuplas distintas, fazendo dele um conjunto de atributos chave. 4. Questão somatória A resposta de uma questão somatória é um único número. Esse número é a soma dos números associados a todas as alternativas que correspondem às respostas corretas para a questão. Para resolver a questão, você deve somar os números associados a todas as alternativas que considera corretas e então apresentar APENAS o resultado dessa soma como resposta. Você conseguirá a pontuação total na questão se você apresentar a soma esperada, ou seja, se você inseriu na sua somatória todas as alternativas corretas. Você conseguirá a pontuação parcial na questão se você incluir em sua somatória apenas algumas, ou uma, das alternativas corretas. Sua pontuação será proporcional à quantidade de alternativas corretas que você identificou. Você receberá zero na questão se você incluir alguma alternativa incorreta em sua somatória. Sobre as formas normais, é correto afirmar que: (1) A primeira forma normal foi definida como impedimento para criação de atributos multivalorados, atributos compostos e combinações entre eles. Assim, essa forma normal impede que relações sejam criadas dentro de relações ou que relações sejam estabelecidas como valores de outras relações. (2) A segunda forma normal é mais restritiva que a terceira forma normal, e a BCNF é mais restritiva que a terceira forma normal. (04) Um esquema de relação que está na terceira forma normal ainda pode apresentar problemas se ele não estiver na segunda forma normal. (08) Considere o esquema de relação R{aluno, curso, instrutor} no qual valem as dependências funcionais a seguir. Nesse esquema de relação, {aluno,curso} é uma chave candidata. – {aluno, curso} instrutor – instrutor curso (16) Considerando o mesmo esquema de relação e dependências funcionais da situação do item (08), podemos dizer que a decomposição {aluno, instrutor} e {aluno, curso} é uma decomposição sem perdas na junção. (32) Considerando o mesmo esquema de relação e dependências funcionais da situação do item (08), podemos dizer que a decomposição {curso, instrutor} e {curso, aluno} é uma decomposição sem perdas na junção. (64) Considerando o mesmo esquema de relação e dependências funcionais da situação do item (08), podemos dizer que a decomposição {instrutor, curso} e {instrutor, aluno} é uma decomposição sem perdas na junção. RESPOSTA: SOMA: 73 Resultados parciais: 01 (vale um terço do valor da questão) 08 (vale um terço do valor da questão) 64 (vale um terço do valor da questão) 09 (vale dois terços do valor da questão) 65 (vale dois terços do valor da questão) 72 (vale dois terços do valor da questão) Alternativas erradas: (2) A segunda forma normal é menos restritiva que a terceira forma normal. Para que um esquema de relação esteja na terceira forma normal, ele precisasatisfazer tanto as regras da segunda forma normal quanto as regras da terceira forma normal. (4) Não há como um esquema de relação estar na terceira forma normal e não estar na segunda forma normal. Para que um esquema de relação esteja na terceira forma normal, ele precisa satisfazer tanto as regras da segunda forma normal quanto as regras da terceira forma normal. (16) A decomposição {aluno, instrutor} e {aluno, curso} é uma decomposição com perdas na junção pois o atributo de junção natural é aluno, o qual não é chave em nenhum dos dois esquemas de relação. (32) A decomposição {curso, instrutor} e {curso, aluno} é uma decomposição com perdas na junção pois o atributo de junção natural é curso, o qual não é chave em nenhum dos dois esquemas de relação. 5. Considerando os esquemas de relação a seguir e as dependências funcionais listadas na sequência, explique se os esquemas de relação estão, ou não, na segunda forma normal: BOLETIM {matricula_aluno, codigo_materia, numero_prova, nota, nome_aluno} PROVA {codigo_materia, numero_prova, data_da_prova} MATERIA {codigo_materia, nome_materia} {matricula_aluno, codigo_materia, numero_prova} nota, nome_aluno {codigo_materia, numero_prova } data_da_prova matricula_aluno ! nome_aluno codigo_materia ! nome_materia RESPOSTA: O esquema de relação BOLETIM não está na segunda forma normal, pois possui uma dependência funcional parcial da chave. O atributo nome_aluno depende de matricula_aluno, o qual é um atributo que participa de uma chave do esquema de relação. 6. Assinale a alternativa que não indica um critério para determinar a qualidade de um esquema de relação de banco de dados: 1. Evitar que atributos de diferentes entidades formem uma única relação/entidade. 2. Anular a possibilidade de geração de tuplas repetidas ou incorretas. 3. Evitar repetir a mesma informação entre diferentes tuplas e relações. 4. Reduzir a ocorrência de valores NULL nas tuplas. 5. Evitar o uso de chaves estrangeiras em relações n-árias. RESPOSTA: A resposta correta é a alternativa e) "Evitar o uso de chaves estrangeiras em relações n-árias." 7. Sobre dependências funcionais, assinale a alternativa incorreta: 1. A dependência A → B não implica, necessariamente, que B → A. 2. Uma dependência funcional pode ser criada a partir da instância de uma relação. 3. Uma dependência funcional descreve, de maneira mais detalhada, o esquema de uma relação a partir de restrições em seus atributos, que devem ser sempre garantidas. 4. Em uma dependência X → Y, para quaisquer tuplas t1 e t2 em uma relação R que possua t1[X] = t2[X], essas tuplas devem possuir também t1[Y] = t2[Y]. RESPOSTA: A resposta correta é a alternativa b) "Uma dependência funcional pode ser criada a partir da instância de uma relação." 8. Considere a seguinte relação e as seguintes dependências funcionais (FD) especificadas pelo projetista do banco de dados: ENDERECO CEP numero rua cidade estado - FD1: {CEP, numero} → rua FD2: CEP → rua FD3: CEP → cidade FD4: CEP → estado Informe a qual forma normal a relação acima não obedece: 1. Primeira forma normal. 2. Segunda forma normal. 3. Terceira forma normal. 4. Forma normal de Boyce-Codd. 5. Nenhuma das alternativas. RESPOSTA: A resposta correta é a alternativa b) "Segunda forma normal." 9. Considere a seguinte relação e as seguintes dependências funcionais (FD) especificadas pelo projetista do banco de dados: CARRO num_serial modelo cor fabricante preco - FD1: {num_serial} → {modelo, cor, fabricante, preco} FD2: {modelo, cor, fabricante} → preco Informe a qual forma normal a relação acima não obedece: 1. Primeira forma normal. 2. Segunda forma normal 3. Terceira forma normal. 4. Forma normal de Boyce-Codd. 5. Nenhuma das alternativas. RESPOSTA: A resposta correta é a alternativa c) "Terceira forma normal." 10. Uma relação não deve ter um atributo não-chave dependente de outro atributo não-chave. Essa definição faz parte da: 1. 1NF 2. 2NF 3. 3NF 4. BCNF 5. Nenhuma das alternativas. RESPOSTA: A resposta correta é a alternativa c) "3NF" ESCONDER GABARITO
Compartilhar