A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AULA DE DÚVIDAS 9 de Abril de 2013. Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.

Apresentações semelhantes


Apresentação em tema: "AULA DE DÚVIDAS 9 de Abril de 2013. Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações."— Transcrição da apresentação:

1 AULA DE DÚVIDAS 9 de Abril de 2013

2 Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações envolvendo o conjunto de entidades mais geral. bi DocentesAlunos Pessoas ISA disjunta nome obs … Autorização Espaços e Pessoas binome…obs 1Sofia…xxx 2Pedro…yyy 3João…zzz Docentes bi 3 Alunos bi 1 2 nome…obs Sofia…xxx Pedro…yyy nome…obs João…zzz 1Sofia…xxx Redundancia! 4Ana…vvv Onde colocar? Autorização bie 1II.127 3II.252 Chave estrangeira referindo que tabela?!

3 Conversão entre Modelo de Entidades e Relações e Modelo Relacional Qual das seguintes relações pode pertencer ao conjunto de relações obtido através da conversão do Modelo de Entidades e Relações para o Modelo Relacional apresentada nas aulas? Ent7(...) Chave de Ent4: a1,a2,a4 Chave de R1: a1,a2 Chave de Ent7: a1,a2,a4 Ent7(a1,a2,a4,a7)R5(a1,a2,a4,a3,a8)Ent7(a1,a2,a4,a3,a7,a8)

4 Conversão entre Modelo de Entidades e Relações e Modelo Relacional Chave de Ent4: a5,a1 Chave de Ent3: a1 Chave de R3: a4 Ent6(a4,a6) R2(a4,a6,a1,a5) ou R2(a1,a5,a4,a6) Ent6(a4,a6, a1,a5) Chave de Ent6: a6,a4 Chave de R2: a1,a5 ou a4,a6

5 SQL II.5. Considere o seguinte esquema de base de dados (com apenas uma tabela) e consulta: CREATE TABLE r( a INT PRIMARY KEY,SELECT a, MIN(b), SUM(c) b INT,FROM r c INT,WHERE b > 5 d INT,GROUP BY a e INT);HAVING Condição; Qual das seguintes frases é verdadeira? (A) Condição não pode ser d = 5; (B) Condição não pode ser a = sum(e); (C) O valor de min(b) pode ser menor do que 6; (D) Nenhumas das anteriores i.e., todas as frases anteriores são falsas.

6 SQL II.14. Com R(a,b) e S(a,b), considere as consultas: Q1: (SELECT * FROM R) INTERSECT ALL (SELECT * FROM S); Q2: (SELECT * FROM R) NATURAL INNER JOIN (SELECT * FROM S);  Se R contiver n tuplos para um dado (a,b) e S contiver m desses tuplos, então:  INTERSECT ALL contém min(n,m) tuplos para esse (a,b)  NATURAL INNER JOIN contém n*m tuplos para esse (a,b) Ora, min(n,m) ≤ n*m A resposta a Q1 está sempre contida na resposta a Q2.

7 SQL  II.16. Com R(a), considere as consultas: Q1: SELECT rr.a FROM R AS rr WHERE NOT EXISTS(SELECT * FROM R WHERE a > rr.a); Q2: SELECT MAX(a) FROM R;  A consulta Q2 devolve um tuplo com o valor máximo do atributo a.  A consulta Q1 devolve n tuplos, um para cada tuplo de R que tenha como valor de a o valor máximo do atributo a.  A resposta a Q2 está sempre contida na resposta a Q1.

8 SQL  Considere as instancias de R(A,B,C) e S(C,D) e a consulta SELECT A, SUM(B+D) FROM R NATURAL INNER JOIN S GROUP BY A;  Qual a soma dos valores não nulos de todos os atributos em todas as linhas do resultado da consulta anterior? ABC 12x 15y NULL3x 21 4x R CD 3 x3 y2 y S ABCD 12x3 15y2 15y 3x3 4x3 R  S B+D 5 7 NULL 6 7 A SUM(B+D) 112 NULL13 A G A,SUM(B+D) (R  S) 26

9 SQL  Considere a tabela R criada com o seguinte comando SQL: CREATE TABLE R(a INT NOT NULL, b INT NOT NULL); e a instância de R apresentada.  A tabela é actualizada com o seguinte comando SQL: DELETE FROM R WHERE a IN (SELECT a FROM R r1 INNER JOIN R r2 USING (a) WHERE r1.b <> r2.b);  Qual das seguinte afirmações é verdadeira:  O comando dá erro por não ser possível fazer remoções baseadas no conteúdo da própria tabela.  O comando dá erro por existirem tuplos duplicados em R.  O comando remove 8 tuplos.  O comando remove 6 tuplos.  O comando remove 5 tuplos.  O comando remove 4 tuplos.  O comando remove 0 tuplos. ab 12 13 21 23 24 25 35 35 R ar1.br2.b 123 132 213 214 215 231 234 235 241 243 245 251 253 254 R r1 INNER JOIN R r2 USING (a) WHERE r1.b <> r2.b Tuplos Removidos!

10 SQL  Considere a tabela criada com o seguinte comando SQL: CREATE TABLE R( a INT NOT NULL PRIMARY KEY, b INT NOT NULL);  Considere as seguintes consultas: Q1: SELECT b FROM R WHERE b >= SOME (SELECT b from R); Q2: SELECT b FROM R as R1 WHERE b > ALL (SELECT b FROM R as R2 WHERE R2.a <> R1.a); Q3: SELECT max(b) AS b FROM R;  Qual das seguintes frases é verdadeira?  Q1 e Q2 e Q3 são todas equivalentes.  Q1 e Q2 são equivalentes; Q3 pode produzir uma resposta diferente nalgumas instâncias de R.  Q1 e Q3 são equivalentes; Q2 pode produzir uma resposta diferente nalgumas instâncias de R.  Q2 e Q3 são equivalentes; Q1 pode produzir uma resposta diferente nalgumas instâncias de R.  Q1, Q2 e Q3 podem todas produzir respostas diferentes nalgumas instâncias de R. ab 130 240 3 R b 30 40 Q1 b Q2 b 40 Q3

11 Redundância em Modelos ER  Considerando o seguinte diagrama ER, quais dos conjuntos de relações são necessariamente redundantes?

12 Álgebra Relacional  Considere duas relações r e s, definidas sobre um mesmo esquema (que tem pelo menos o atributo a), e as consultas Q1: Q2:  Q1 e Q2 produzem sempre a mesma resposta, contendo todos os valores de “a” presentes num tuplo de r ou s.

13 Álgebra Relacional  Considere duas relações r e s, definidas sobre um mesmo esquema (que tem pelo menos o atributo a), e as consultas Q1: Q2:  Q2 contém valores de “a” que apareçam num tuplo de r e num tuplo de s;  Q1 contém valores de “a” que apareçam no mesmo tuplo de r e s;  tudo o que está em Q1 está também em Q2, mas não o contrário

14 Álgebra Relacional  Considere duas relações r e s, definidas sobre um mesmo esquema (que tem pelo menos o atributo a), e as consultas Q1: Q2:  Q2 contém valores de “a” que apareçam num tuplo de r e não num tuplo de s;  Q1 contém valores de “a” que apareçam num tuplo de r e não no mesmo tuplo de s;  tudo o que está em Q2 está também em Q1, mas não o contrário

15 Várias Especializações  Como resolver uma situação com várias especializações onde, aparentemente, necessitamos de “herança múltipla”.  Base de Dados para uma empresa:  Todos são contribuintes.  Os contribuintes dividem-se em pessoas e empresas (especialização disjunta).  Depois há clientes e fornecedores (especialização sobreposta).  Alguns clientes serão empresas e outros pessoas.  Alguns fornecedores serão empresas e outros pessoas.  Por fim, algumas das pessoas são funcionários.

16 Várias Especializações nif nome morada contribuinte funcionário salário ISA clientefornecedor prazo de entrega desconto pessoa sexo empresa cap.social ISA disjoint ISA X

17 Várias Especializações contribuinte(nif,nome,morada) cliente(nif,desconto) nif é chave ext de contribuinte fornecedor(nif,prazo_de_entrega) nif é chave ext de contribuinte empresa(nif,cap_social) nif é chave ext de contribuinte pessoa(nif,sexo) nif é chave ext de contribuinte funcionário(nif,salário) nif é chave ext de pessoa nif nome morada contribuinte funcionário salário ISA clientefornecedor prazo de entrega ISA desconto pessoa sexo empresa cap.social ISA disjoint


Carregar ppt "AULA DE DÚVIDAS 9 de Abril de 2013. Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações."

Apresentações semelhantes


Anúncios Google