Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEster Canto Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.