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.

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Transformação ODMG  Relacional
Banco de Dados Prof. Antonio.
Banco de Dados Prof. Antonio.
SQL Avançado Continuação
SQL Structured Query Language (continuação)
SQL Structured Query Language (continuação)
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof. Bruno Rafael de Oliveira Rodrigues
Elaini Simoni Angelotti
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
Sistema Gerenciador de Banco de Dados SGBD
SQL – Comandos de Agregação
Algebra relacional nomeada e não-nomeada
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Subconsultas ou Consultas Aninhadas
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consultas envolvendo relacionamentos entre tabelas
Operadores Especiais da SQL
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Eduardo Costa Gabriel Cypriano Rodrigo Calhau
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
SQL Server 2012 Introdução a Modelagem de Dados
Comandos de SQL Excel VBA II.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Banco de Dados Avançado - Prof.ª Valeria Times
Geração de Planos de Execução Planos para Consultas Aninhadas
BANCO DE DADOS UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Design Patterns / Acesso ao banco de dados (java.sql)
Otimização de Consultas em SQL Planos de Execução
Desenvolvendo um script SQL
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
Treinamento sobre SQL.
Banco de dados.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Análise de Sistemas de Informação
Baseado no material do Professor Raul Paradeda
REVISÃO Comandos SQL - DML SELECT * FROM ?.
Linguagem de Manipulação de Dados. 2 Conteúdos Introdução ao SQL Comando SELECT – Extracção de Dados  Pesquisas Simples  Restrições na pesquisa de dados.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Banco de Dados I I Comandos SQL
NOTA DE AULA SQL.
SQL Structured Query Language Linguagem de Consulta Estruturada
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
AOBD 07/08 Mini-Projecto 2 Soluções. 1) Considere que existem três relações R1=(A,B,C), R2=(C,D) e R3=(D,E) com chaves primárias A, C e D, respectivamente.
SQL (Structured Query Language)
Modelo de base de dados relacional
SQL – DML Consultas envolvendo mais de uma tabela
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
Modelo de base de dados relacional
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Introdução a Banco de Dados
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
UCSal – Bacharelado em Informática
Linguagem de definição de dados - SQL
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN
Transcrição da apresentação:

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 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?!

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)

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

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.

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.

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.

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

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 R ar1.br2.b R r1 INNER JOIN R r2 USING (a) WHERE r1.b <> r2.b Tuplos Removidos!

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 R b Q1 b Q2 b 40 Q3

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

Á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.

Á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

Á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

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.

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

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