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

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

BANCO DE DADOS II Professor: Marcus Sampaio Monitor: Eduardo Santiago Moura.

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS II Professor: Marcus Sampaio Monitor: Eduardo Santiago Moura."— Transcrição da apresentação:

1 BANCO DE DADOS II Professor: Marcus Sampaio Monitor: Eduardo Santiago Moura

2 Keyword, clause e statement Keyword: faz referência a um elemento SQL individual. Ex: SELECT, FROM. Clause: é uma parte de um statement SQL. Ex: SELECT employee_id, last_name,... Statement: é uma combinação de duas ou mais clauses. Ex: SELECT * FROM employees 2

3 SQL Statements SELECTRecupera dados da base INSERT UPDATE DELETE MERGE Cria novas linhas, modifica linhas existentes e remove linhas de tabelas da base de dados, respectivamente. Conhecidas como data manipulation language (DML) CREATE ALTER DROP RENAME TRUNCATE Cria, modifica e remove estruturas das tabelas. Conhecidas como data definition language (DDL) COMMIT ROLLBACK SAVEPOINT Manipula as modificações feitas pelas DML statements GRANT REVOKE Concede ou remove direito de acesso a base de dados. Conhecidas como data control language (DCL) 3

4 Select Clause SELECTÉ uma lista de uma ou mais colunas *Seleciona todas as colunas DISTINCTElimina duplicatas column | expressionSeleciona o nome da coluna ou expressão aliasRenomeia as colunas selecionadas FROM tableTabela contendo as colunas selecionadas 4

5 Expressões Aritméticas * / + - : podem ser usados em qualquer cláusula de um statement exceto na cláusula FROM, com a respectiva precedência. 5

6 Usando ALIAS Renomeia uma coluna, muito útil para cálculos. 6

7 Where Clause A cláusula WHERE pode comparar valores em colunas, valores literais, expressões aritméticas ou funções. 7

8 Comparison Conditions =Igual >Maior >=Maior igual Diferente BETWEEN... AND...Entre dois valores (inclusive) IN (lista)Comparação com qualquer valor da lista LIKEComparação com um padrão de caracter IS NULLVerifica se o valor é null 8

9 Comparison Conditions 9

10 % : denota zero ou mais caracteres _ : denota um caracter 10

11 Expressões Lógicas AND, OR e NOT 11

12 Order By Clause Ordena as linhas de maneira: ASC: ascedentes (ordem default) DESC: ordem descendente Podem ser ordenados colunas que não estão no SELECT 12

13 Single-row functions 13

14 Single-row functions Number functions: DUAL: é uma tabela dummy que pode ser usada para ver resultados de funções ou cálculos. 14

15 Single-row functions Date functions: MONTHS_BETWEENNúmero de meses entre duas datas ADD_MONTHSAdiciona meses a data NEXT_DAYPróximo dia da data especificada LAST_DAYÚltimo dia da data especificada ROUNDArredonda a data TRUNCTrunca a data 15

16 Single-row functions Date functions: SYSDATE: é uma função que retorna a data e hora corrente 16

17 Single-row functions Conversion functions: a conversão de tipos de dados pode ser feita de duas formas: Conversão Implícita (feita automaticamente pelo Oracle) Conversão Explícita Implícita DePara VARCHAR2 ou CHARNUMBER VARCHAR2 ou CHARDATE NUMBERVARCHAR2 DATEVARCHAR2 17

18 Single-row functions Explícita TO_CHAR com datas 18

19 Single-row functions Date Format Model Existem inúmeros outros formatos, favor consultar material YYYYAno completo em números YEARNome do ano falado MMValor do mês com 2 dígitos MONTHNome do mês completo MONAbreviação do mês com 3 letras DYAbreviação do dia da semana com 3 letras DAYNome do dia da semana completo DDDia do mês numérico 19

20 Single-row functions Explícita TO_CHAR com números 20

21 Single-row functions Number Format Model ElementoDescriçãoExemploResultado 9Qtd de 9s indica o tamanho do número exibido Exibe 0s iniciais $Exibe o $ inicial$999999$1234 LExibe o símbolo monetário localL999999FF1234.Coloca ponto na posição desejada ,Coloca vírgula na posição desejada999,9991,234 MIMenos na direita MI1234- PRColoca parentizador999999PR EEEENotação científica99.999EEEE1.234E+03 VMultiplica por 10 n vezes (n = num 9s depois do V)9999V BExibe valores zero em branco, não 0B

22 Single-row functions Explícita TO_NUMBER TO_DATE 22

23 Single-row functions General functions: NVL (expr1, expr2)Converte um valor null para um valor atual NVL2 (expr1, expr2, expr3)If expr1 é null, NVL2 retorna expressão expr2. If expr1 é null, retorna expr3. NULLIF (expr1, expr2)Compara as duas expressões e retorna null if forem iguais ou expr1 se diferentes COALESCE (expr1,..., exprn)Retorna a primeira expressão not-null da lista 23

24 Single-row functions General functions: 24

25 Single-row functions Conditional functions: 25

26 Single-row functions Conditional functions: 26

27 Cartesian Products É formado quando: A condição de join é omitida A condição de join é inválida Todas as linhas das tabelas casam 27

28 Join Simple Join: Usualmente, na condição de join são usadas as colunas de chave primária e chave estrangeira A condição de join é especificada na cláusula Where Regra geral: para fazer join de n tabelas são necessárias no mínimo n-1 condições de join 28

29 Join Regra geral: 29

30 Equijoin Equijoin: quando a primary key de uma tabela é exatamente igual a foreign key da outra. Também chamado de simple join e inner join 30

31 Equijoin Equijoin: 31

32 Table Aliases Vantagens: Simplifica as consultas Aumenta performace (muitas vezes os nomes da tabelas são grandes e usando alias, o SQL fica menor usando menos memória) 32

33 Nonequijoin Nonequijoin: Quando não há colunas comuns nas tabelas envolvidas em um relacionamento Consiste em um relacionamente obtido com um operador que não é o de igualdade (=), como, por exemplo, o BETWEEN 33

34 Nonequijoin Nonequijoin: 34

35 Outerjoin Outerjoin: Quando deseja-se retornar linhas que não válidas na condição do join Declarado pelo operador (+), colocado no lado do join deficiente de informação Para retornar inclusive linhas faltantes da tabela1 Para retornar inclusive linhas faltantes da tabela2 35

36 Outerjoin Outerjoin: Restrições: O operador só pode aparecer em 1 lado da condição do join Na condição envolvendo o outerjoin não podem ser usado os operadores IN ou OR. 36

37 Outerjoin 37

38 Selfjoin Selfjoin: O nome do gerente de cada empregado? 38

39 Selfjoin Selfjoin: O nome do gerente de cada empregado? 39

40 Group Functions _ = default AVG ( [DISTINCT | ALL] n )Média do valor de n, ignorando valores nulos COUNT ( {* | [DISTINCT | ALL] expr} )Número de linhas, onde expr avalia alguma coisa diferente de null ( contando todas as linhas usando *, incluindo duplicatas e linhas com valores nulos) MAX ( [DISTINCT | ALL] expr )Valor máximo da expr, ignorando valores nulos MIN ( [DISTINCT | ALL] expr )Valor mínimo da expr, ignorando valores nulos STDDEV ( [DISTINCT | ALL] x )Desvio padrão de x, ignorando valores nulos SUM ( [DISTINCT | ALL] n )Soma dos valores de n, ignorando valores nulos VARIANCE ( [DISTINCT | ALL] n )Variância de n, ignoranodo valores nulos 40

41 Group Functions Avg e Sum para tipos numéricos Max e Min para qualquer tipo de dados 41

42 Group Functions Count (*) retorna o nº de linhas da tabela Count (expr) retorna o nº de linhas com valores não-nulos da expr 42

43 Group Functions Group Functions ignoram valores nulos nas colunas, para forçar sua inclusão pode-se utilizar NVL 43

44 Group by Clause Objetivo: Dividir linhas da tabela em grupos menores Sintaxe: Todas as colunas do SELECT que não estiverem em Group Functions, deve ser declaradas no Group by 44

45 Group by Clause Order by: por default as linhas tem ordenação ascendente, mas podem ser modificados através da cláusula Order by 45

46 Group by Clause Illegal Queries: ao utilizar uma mistura de campos simples (colunas) e funções de agregação é obrigatório incluir os campos simples na cláusula do group by 46

47 Group by Clause Gropu by de múltiplas colunas 47

48 Having by Clause Objetivo: Restringir grupos Sintaxe: Apenas os grupos que satisfazerem a condição são retornados 48

49 Subquery A subquery (inner query) é executada primeiro que a query principal O resultado da subquery pode ser usado na query principal (outer query) Sintaxe: 49

50 Subquery Problema: Consulta Principal: Quais empregados tem o salário maior que o de Abel? Consulta Interna: Qual é o salário de Abel? 50

51 Types of Subqueries Single-row: consulta interna que retorna uma única linha do SELECT interno Multiple-row: consulta interna que retorna mais de uma linha do SELECT interno 51

52 Single-row Subqueries Operadores de comparação: =Igual >Maior >=Maior igual Diferente 52

53 Single-row Subqueries 53

54 Having Clause with Subqueries O servidor Oracle executa as subqueries primeiro O servidor Oracle retorna o resultado para a cláusula HAVING da consulta principal 54

55 Multiple-row Subqueries Operadores de comparação: INIgual a qualquer menbro da lista ANYCompara o valor com cada valor retornado da subquery ALLCompara o valor todos os valores retornados da subquery 55

56 Multiple-row Subqueries 56

57 Data Manipulation Language (DML) Um statement DML é executado quando: Adiciona-se uma linhas em uma tabela Modifica-se linhas existentes de uma tabela Remove-se linhas existentes de uma tabela Uma transação consiste de um coleção de statements DML que formam uma unidade lógica de trabalho 57

58 Insert Statement Sintaxe: Com essa sintaxe um único valor pode ser inserido por vez 58

59 Insert Statement Método implícito: omissão de colunas Método explícito: ao omitir as colunas, deve-se inserir NULL para colunas indesejadas Copiando valores: 59

60 Update Statement Sintaxe: Com essa sintaxe uma ou mais linhas podem ser inseridas por vez 60

61 Update Statement 61

62 Delete Statement 62 Sintaxe: Exemplos:

63 Create Table Statement 63 Sintaxe: Exemplo:

64 Data Types 64

65 Datetime Data Types 65 TIMESTAMP: é uma extensão do tipo Date Armazena o ano, mês, dia, mais a hora, minuto e segundo

66 Alter Table Statement 66 Usado: Adicionar uma nova coluna Modificar uma coluna existente Definir o valor default de uma coluna Drop de uma coluna

67 Alter Table Statement 67

68 Drop Statement 68 Atenção: Todos os dados e estruturas da tabela são deletados Qualquer transação pendente é commitdada Todos os índices são deletados Comentários (tabela ou colunas):

69 Constraints 69 NOT NULLEspecifica que a coluna não pode conter valores nulos UNIQUEEspecifica que a coluna ou um conjunto de colunas contenham valores únicos para todas as linhas da tabela PRIMARY KEYIdentifica únicamente cada linha da tabela FOREIGN KEYEstabelece uma chave de relacionamento entre colunas da referente tabela e da tabela referenciada CHECKEspecifica que a condição deve ser verdadeira Definindo constraints:

70 Not Null 70 Garante que valores nulos não são permitidos para a especificada coluna

71 Unique 71 Garante que cada valor em uma coluna ou conjunto de colunas seja único

72 Primary Key e Check 72

73 Foreign Key 73

74 Foreign Key 74


Carregar ppt "BANCO DE DADOS II Professor: Marcus Sampaio Monitor: Eduardo Santiago Moura."

Apresentações semelhantes


Anúncios Google