Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Instituto Federal de Goiás Banco de Dados Aula 5Aula 5 SQL Avançado Revisão � História � Destaque Edgar Frank e IBM � SQL � DML � DDL � SGBDs e criação do banco de dados � Tipos de dados� Tipos de dados � DDLs � Create table � Restrições (Constraints) � Índices 2 Revisão �DML �Insert �Insert into nomeTabela (coluna1,coluna2 ... colunaN) (select * from nomeTabela) �Update�Update �Delete �Select 3 Revisão �Operadores �Aritméticos �Comparação � LógicosLógicos �Especiais � DDL �Alter table [add,(modify|alter),drop] column nomeColuna 4 Revisão �Joins �Inner join �Full join�Full join �Left join �Right join 5 Comandos UNION, INTERSECT, MINUS �Junção de conjuntos �Compatíveis para união �Quantidade de atributos iguais�Quantidade de atributos iguais �Tipo de dados compatíveis 6 Comando UNION � Agrupa registros retirando as duplicidades � Conjunto exclusivos de registros Consulta UNION {all} Consulta � Fundir dois conjuntos de dados 7 Comando INTERSECT � Apenas os registros duplicados nos conjuntos irão aparecer Consulta INTERSECT Consulta � Pode ser usado para saber quais registros estão duplicados em � Pode ser usado para saber quais registros estão duplicados em uma consulta que usa union. 8 Comando MINUS � Subtrai um conjunto do outro Consulta minus Consulta � Em algumas implementações podem constar a palavra except� Em algumas implementações podem constar a palavra except 9 Comando JOINS �Cross join �Nature join �JOIN USING�JOIN USING 10 Comando Cross JOIN �Retorna o produto cartesiano das tabelas select * from t1 CROSS JOIN t2select * from t1 CROSS JOIN t2 11 Comando NATURE JOIN �Retorna as linhas que possuam atributos exatamente iguais. select * from t1 NATURE JOIN t2 �Caso não seja encontrado atributos iguais �Caso não seja encontrado atributos iguais (nome,tipo) para fazer o join então é retornado o produto carteziano. 12 Comando JOIN USING �Utiliza um atributo para fazer a junção. �Este atributo deve estar presente em ambas tabelastabelas select * from t1 join t2 using (id) 13 Subconsultas e Consultas relacionadas � Processar dados baseados em outros dados � Consulta no interior de outra � Expressa entre parênteses � Consulta externa � Consulta Interna� Consulta Interna � Saída da consulta interna é usada como entrada para externa � Consulta integrada 14 Subconsultas e Consultas relacionadas �Usar a subconsulta nas DMLs �Insert �Update�Update �Delete 15 Subconsultas e Consultas relacionadas �Retorna �Linha �Lista de valores�Lista de valores �Uma tabela virtual 16 Subconsultas e Consultas relacionadas �Where �In, Any, All �Having�Having �FROM �Lista de atributos 17 Subconsultas e Consultas relacionadas Where �Ela é utilizada geralmente como um valor ou como lista Select * from T1 where T1 in (select id fromSelect * from T1 where T1 in (select id from t2) 18 Subconsultas e Consultas relacionadas In, Any, All � É usado para interagir com subconsultas que retornam listas � In � Está dentro da lista � All � Todos da Lista� Todos da Lista � Any � Qualquer um da lista 19 Subconsultas e Consultas relacionadas Having �Como lista ou valor 20 Subconsultas e Consultas relacionadas FROM �Como tabela virtual select * from T1 inner join (select t1_id, count(*) from T2 group by t1_id) T2_v oncount(*) from T2 group by t1_id) T2_v on (T1.id = T2_v.t1_id) 21 Subconsultas e Consultas relacionadas �Where �In, Any, All �Having�Having �FROM �Lista de atributos 22 Subconsultas Correlacionadas �A consulta externa influência na consulta interna. �Aplica-se alias as tabelas�Aplica-se alias as tabelas �Executa para todas as linhas da consulta externa 23 Funções SQL � Decomposição e derivação de dados � Data por exemplo: dia, mês e ano � Podem aparecer em qualquer lugar do comando sql � Exemplos � Aritméticas� Aritméticas � Trigonométricas � Caractere � Data e hora 24 Função de Data � to_date �Extract �To_char �Tipo interval�Tipo interval �now() �Conversão usando :: 25 Função de Numéricas �ABS �ROUND �CEIL�CEIL �FLOOR 26 Função de Caracteres � UPPER � LOWER � INITCAP � LENGTH � TRANSLATE � REPEAT� REPEAT � REPLACE � TRIM � SPLIT_PART � SUBSTRING 27 Função de Conversão �:: �as �to_date�to_date �to_char �to_number 28 Sequência � Serial � CREATE SEQUENCE nome START WITH n INCREMENTE BY � Funções � setval(‘nome’)� setval(‘nome’) �nextval(‘nome’) � currval(‘nome’) � Drop SEQUENCE nome 29 Visões Atualizáveis � Vimos visões nas aulas anteriores create view nome_visao as (consulta) � São visões que podem atualizar tabelas � Restrições � Não permite expressões grup by e funções agregação� Não permite expressões grup by e funções agregação � Não é possível ultilizar operadores union, intersect e minus � É necessário que as chaves primárias sejam retornadas apenas uma vez pela visão. 30 Perguntas ? 31