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

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

IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho

Apresentações semelhantes


Apresentação em tema: "IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho"— Transcrição da apresentação:

1 IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E-mail: andre@icomp.ufam.edu.brandre@icomp.ufam.edu.br Ambiente virtual: http://bdufam.wordpress.comhttp://bdufam.wordpress.com

2 Resumo  Consultas SQL complexas  Restrições como assertion e ações como gatilhos  Visões  Alterações de Schema

3 SQL mais complexos  Consultas mais complexas:  Consultas aninhadas, joins, funções agregadas e agrupamento.

4 Comparações com NULL  NULL:  Valor desconhecido  Valor não disponível ou não preenchido  Atributo não se aplica  Cada valor NULL é considerado distinto dos outros valores NULL  SQL usa lógica de três valores:  TRUE, FALSE, e UNKNOWN

5 Comparações com NULL

6  SQL permite checar se um valor é NULL  IS ou IS NOT NULL

7 Consultas aninhadas  Consultas aninhadas  select-from-where na cláusula WHERE de outra consulta  Consulta externa  Operador IN  Compara um valor v com um conjunto de valores V  TRUE se v pertence a V

8 Consultas Aninhadas

9  Comparação de tuplas com IN  Use parentesis

10  Outras comparações podem ser feitas  v = ANY (ou = SOME ) V Retorna TRUE se v é igual a algum valor do conjunto V Equivale ao in Outros operadores com ANY (ou SOME ) ou ALL: >, >=, Consultas Aninhadas

11  Evite ambiguidades com apelidos (aliases para tabelas.  Comando AS  Serve para atributos

12 Consultas correlacionadas  Correlated nested query  Para cada tupla do Select exterior, o select interior é rodado e o resultado avaliado.

13 EXISTS e UNIQUE  EXISTS e NOT EXISTS  Checa se o resultado de um select interior tem tuplas ou não  UNIQUE(Q)  TRUE se na consulta Q (um select) não existem tuplas repetidas

14 Tabelas unidas  Joined table  Une duas tabelas por um atributo.  No FROM  Exemplo abaixo gera uma única tabela

15 Join  Diferentes tipos de Join  NATURAL JOIN  Varios OUTER JOIN  NATURAL JOIN  Sem condição de união  Join é feito por par de atributos com o mesmo nome.

16 Joined Tables  Inner join  Join padrão  Tupla só é inserida no resultado se houver match nas duas relações.  LEFT OUTER JOIN  Cada tupla da tabela da esquerda deve aparecer na resposta  Se não houver match na da direita? Null é colocado em todos os atributos da resposta que vêem da tabela da direita

17 Joined Tables  RIGHT OUTER JOIN  Toda tupla da tabela da direita deve estar na resposta  Sem match na da esquerda? NULL  FULL OUTER JOIN  Tabelas “Joineadas” podem ser utilizadas em outros joins

18 Funções agregadadoras em SQL  Resumindo informações de múltiplas tuplas em um só atributo  Grouping  Cria subgrupos de tuplas antes do resumo  Funções padrão  COUNT, SUM, MAX, MIN, e AVG  Funções podem ser usadas no SELECT ou em um HAVING

19 Funções Agregadoras  Valores Nulos são descartados

20 Agrupamento  Partição da relação em conjuntos de tuplas  Baseados em atributos de agrupamento  Função agregadora é aplicada a cada elemento  GROUP BY  Especifica atributo que gerará os subgrupos  Null no atributo agrupador?  Grupo separado de todas as tuplas nulas

21 HAVING  HAVING  Adiciona uma condição ao agrupamento

22 SQL avançado

23 Assertion e Trigger  CREATE ASSERTION  Cria restrições adicionais além do escopo relacional  CREATE TRIGGER  Cria ações que serão feitas automaticamente caso uma condição seja tornada verdadeira

24 Assertion  CREATE ASSERTION  Especifica uma consulta que seleciona qualquer tupla que não se adequa a condição.  Usar em casos que o CHECK em atributos não é suficiente.

25 Gatilhos em SQL  CREATE TRIGGER  Monitora o BD  Gatilho usual tem 3 componentes:  Evento(s)  Condição  Ação  Agora Não ;)

26 Views  Conceito de Visão em SQL  Tabela derivada de outras tabelas  Considerada uma tabela virtual

27 Views  CREATE VIEW  Nome da tabela, atributos e uma consulta que criará a tabela

28 Views  View sempre está atualizada  Responsibilidade do SGBD  DROP VIEW  Remove uma view

29 Implementação e atualização  Implementação de View é um problema complexo  Query modification  Modifica a consulta feita na view para a original  Desvantagem: ineficiente para Views complexas feitas com muitas tabelas grandes

30 Implementação de view  View materialization  Cria uma tabela temporária fisicamente quando a view é chamada pela primeira vez  Manter a tabela enquanto assumir que outras consultas por ela virão  Atualização pode ser problemática pois a view física deve ser atualizada

31 Implementação  Incremental update  SGBD determina quando uma atualização deve ser feita na tabela materializada.

32 Mudanças de esquema  Comandos de alteração de esquema  Podem ser feitos enquanto o sistema está rodando.  Não precisam de recompilação de nada

33 Comando Drop  DROP  Remove elementos do esquema  Opções de comportamento  CASCADE e RESTRICT  Exemplo:  DROP SCHEMA COMPANY CASCADE;

34 Comando ALTER  Alter table  Adicionar ou remover coluna (atributo)  Mudar a definição da coluna  Adicionar ou remover restrições  Exemplo:  ALTER TABLE COMPANY.EMPLOYEE ADD COLUMN Job VARCHAR(12);  Remover coluna  CASCADE ou RESTRICT

35 Comando Alter  Mudar restrições


Carregar ppt "IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho"

Apresentações semelhantes


Anúncios Google