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