APOSTILA DE SQL. Para Aulas de Laboratório. Prof. Alan F Sousa

Tamanho: px
Começar a partir da página:

Download "APOSTILA DE SQL. Para Aulas de Laboratório. Prof. Alan F Sousa"

Transcrição

1 SQL

2 APOSTILA DE SQL Para Aulas de Laboratório Prof. Alan F Sousa 2

3 ÍNDICE [R1] Comentário: Este índice é do tipo Formal. Selecionar Inserir índice e selecionar Formal. INTRODUÇÃO AO SQL, SQL*PLUS E PL/SQL (ORACLE)...4 COMANDOS SQL...4 SQL*PLUS...6 EXEMPLO DE UM BLOCO PL/SQL...7 COMANDO SELECT...8 COMO SELECIONAR LINHAS DE UMA ÚNICA TABELA...8 COMO ORDENAR E LIMITAR AS LINHAS SELECIONADAS...10 FUNÇÕES APLICADAS A LINHAS...14 COMO SELECIONAR DADOS DE MAIS DE UMA TABELA...18 FUNÇÕES DE GRUPO...21 A CLÁUSULA GROUP BY...23 A CLÁUSULA HAVING...24 A RECUPERAÇÃO DE DADOS COM SUBCONSULTAS (SUBQUERIES)...26 A RECUPERAÇÃO DE DADOS COM SUBCONSULTAS CORRELACIONADAS...28 SCRIPTS REUTILIZÁVEIS...33 CRIAÇÃO DE TABELAS...35 DICIONÁRIO DE DADOS...40 COMANDOS DE MANIPULAÇÃO DE DADOS...43 O COMANDO INSERT...43 O COMANDO UPDATE...45 O COMANDO DELETE...46 CONTROLE DE TRANSAÇÕES...48 ALTERANDO TABELAS E CONSTRAINTS...51 SEQÜÊNCIAS...56 VISÕES...59 ÍNDICES...64 CONTROLANDO O ACESSO DOS USUÁRIOS AO BANCO DE DADOS...69 TIPOS DE PRIVILÉGIOS...69 GERENCIANDO ROLES...73 UTILIZAÇÃO DE ROLE COM PASSWORD...73 ROLES QUE JÁ VEM DE FÁBRICA...74 INFORMAÇÕES SOBRE ROLES NO DICIONÁRIO DE DADOS...75 ROLES ASSOCIADAS AO SISTEMA OPERACIONAL...75 LISTAS DE EXERCÍCIOS...77 BIBLIOGRAFIA

4 INTRODUÇÃO AO SQL, SQL*Plus e PL/SQL (Oracle) Comandos SQL, SQL*Plus e PL/SQL são utilizados para acessar e manipular dados armazenados em um servidor de Banco de Dados Oracle. Linguagem ou Ferramenta SQL SQL*Plus PL/SQL Descrição Uma linguagem não procedural para a comunicação com Bancos de Dados Relacionais a partir de ferramentas ou aplicações. Uma ferramenta Oracle que reconhece e submete comandos SQL e PL/SQL para execução no servidor. Edita comandos SQL com um editor de linha, formata o resultado de queries, controla variáveis de ambiente, etc. Para executar estas tarefas o SQL*Plus possui seus próprios comandos. Uma linguagem procedural da Oracle para controlar a lógica de aplicações. Comandos SQL Comando SELECT INSERT UPDATE DELETE CREATE ALTER DROP RENAME TRUNCATE COMMIT ROLLBACK SAVEPOINT GRANT REVOKE Descrição Recupera dados do Banco de Dados. Insere novas linhas, altera linhas existentes e remove linhas de tabelas do banco de dados, respectivamente. Estes comandos são conhecidos como comandos DML (Data Manipulation Language). Cria, altera e remove objetos do banco de dados. São conhecidos como comandos DDL (Data Definition Language). Gerenciam as modificações realizadas pelos comandos DML. As modificações efetuadas pelos comandos DML podem ser agrupadas em transações lógicas. Atribuem e removem direitos de acesso ao banco de dados e aos objetos a ele pertencentes. São conhecidos como comandos DCL (Data Control Language). 4

5 Tipos de Dados Oracle NUMBER NUMBER(p,s) DATE CHAR(s) VARCHAR2(s) LONG RAW LONG RAW Número ponto flutuante com precisão de 38 dígitos significativos Valor numérico com um número máximo de dígitos igual a p, e com s posições decimais. Data e Hora String de caracteres de tamanho fixo igual a s. O valor de s pode variar de 1 a 255. String de caracteres de tamanho variável. Tamanho máximo igual a s. O valor de s pode variar de 1 a String de tamanho variável até 2 gigabytes. Somente uma coluna deste tipo é permitida por tabela. Utilizado para armazenar dados binários limite: 2MB Utilizado para armazenar dados binários limite: 2GB 5

6 SQL*PLUS Connect de Conexão Comandos SQL*PLUS para a Edição de Linhas no Buffer L - Lista todas as linhas no buffer n - Torna corrente a linha especificada C/valor anterior/novo valor - Modifica um string no buffer R ou / - Executa o comando SQL que se encontra no buffer Del n - Apaga a n-ésima linha no buffer Comandos SQL*PLUS para a Manipulação de Arquivos SAVE Nome_do_Arquivo GET Nome_do_Arquivo START Nome_do_Arquivo EDIT Nome_do_Arquivo EXIT Obs.: Só comandos SQL vão para o buffer do SQL*PLUS, isto é, comandos SQL*PLUS não vão para o buffer. Consultando a Descrição de uma Tabela Desc Nome_da_Tabela O comando (SQL*Plus) Describe exibe a estrutura de uma tabela. São exibidos os nomes de colunas, as colunas NOT NULL e o tipo de cada coluna. Criando as Tabelas a serem Utilizadas ao Longo do Curso Utilizando o SQL*PLUS conecte-se ao Banco de Dados. Na janela de logon no servidor de banco de dados digite na caixa de textos Conta o string AlunoX, na caixa de textos password digite AlunoX e no string de conexão digite ORACLE. Digite no 6

7 Exemplo de um bloco PL/SQL CREATE OR REPLACE REMOVE_PROFESSORES (V_Nome_Depart IN VARCHAR2) IS V_Numero_Depart NUMBER BEGIN -- Este procedimento tem como objetivo remover, da tabela de professores, todos os -- professores lotados em um determinado departamento. O procedimento recebe o -- nome do departamento e, após descobrir o número associado a este departamento, -- remove todos os empregados que possuem este numero na coluna relativa ao número -- do departamento, na tabela de empregados. SELECT Numero_Depart INTO V_Numero_Depart FROM Tab_Departamentos WHERE Nome_Depart = V_Nome_Depart; DELETE FROM Tab_Professores WHERE Tab_Professores.Numero_Depart = V_Numero_Depart; COMMIT; EXCEPTION END; WHEN OTHERS THEN ROLLBACK; 7

8 COMANDO SELECT Como Selecionar Linhas de uma única Tabela Exemplo 1: É preciso informar as colunas desejadas da tabela. SELECT TABLE_NAME FROM USER_TABLES; DESC EMPREGADOS SELECT NUMERO, NOME ; Exemplo 2: Utilizando a cláusula DISTINCT para suprimir linhas duplicatas. SELECT CARGO ; SELECT DISTINCT CARGO ; Exemplo 3: Utilizando a cláusula DISTINCT com várias colunas. SELECT DISTINCT CARGO, NUMERO_DEPT ; Exemplo 4: Utilizando a cláusula * para listar todas as colunas da tabela. SELECT * ; Exemplo 5: Utilizando operadores aritméticos ( +, -, *, / ) na cláusula Select. SELECT NOME, SALARIO * 12, DT_ADMISSAO ; Exemplo 6: Utilizando Alias. SELECT NOME, SALARIO * 12 AS SAL_ANUAL, DT_ADMISSAO ; 8

9 OU SELECT NOME, SALARIO * 12 SAL ANUAL, DT_ADMISSAO ; Exemplo 7: Utilizando operador de concatenação. SELECT NOME SOBRENOME ; Exemplo 8: Como formatar relatórios simples. COL[UMN] Nome HEADING Nome do Empregado FORMAT A9 COL[UMN] Salario HEADING Salário FORMAT $99, SELECT NOME, SALARIO ; COL Nome CLEAR COL Salario CLEAR OU CLEAR COL 9

10 Como Ordenar e Limitar as Linhas Selecionadas Exemplo 1: Ordenando as linhas selecionadas com a cláusula ORDER BY SELECT NOME, SALARIO ORDER BY SALARIO; OU SELECT NOME, SALARIO ORDER BY SALARIO DESC; Obs: Na ordenação ascendente, valores NULOS aparecem no final. Exemplo 2: Ordenando pela posição da coluna selecionada SELECT NOME, SALARIO * 12 ORDER BY SALARIO * 12; OU SELECT NOME, SALARIO * 12 ORDER BY 2; Exemplo 3: Selecionando apenas os empregados lotados no departamento 20. SELECT NOME, NUMERO_DEPT, SALARIO WHERE NUMERO_DEPT = 20 ORDER BY SALARIO; 10

11 Exemplo 4: Selecionando apenas o empregado denominado SMITH. SELECT NOME, NUMERO_DEPT, SALARIO WHERE NOME = CELIO ; Observações: 1. Usar aspas simples quando a comparação for com um literal. 2. literal é Case Sensitive. 3. default para datas é DD-MON-YY Exemplo 5: Selecionando com operadores lógicos. SELECT NOME, NUMERO_DEPT, SALARIO WHERE SALARIO > 1000; Observações: 1. Operadores para comparações lógicas: = > >= <= <> 2. Outros comparadores: - BETWEEN... AND... ou NOT BETWEEN - IN (Lista) ou NOT IN - LIKE ou NOT LIKE - IS NULL ou IS NOT NULL 3. Operadores lógicos: - AND - OR - NOT Exemplo 6: Selecionando linhas com BETWEEN... AND... SELECT NOME, DT_ADMISSAO WHERE DT_ADMISSAO BETWEEN 28-SEP-90 AND 30-JAN-91 ; 11

12 Exemplo 7: Selecionando linhas com a cláusula IN. SELECT NOME, NUMERO_DEPT, SALARIO WHERE NUMERO_DEPT IN (10, 20) ORDER BY NUMERO_DEPT, SALARIO; Exemplo 8: Selecionando linhas com a cláusula LIKE. SELECT NOME, SALARIO WHERE NOME LIKE S% ORDER BY NOME; OU SELECT NOME, SALARIO WHERE NOME NOT LIKE %I% ORDER BY NOME; OU SELECT NOME, SALARIO WHERE NOME LIKE _A% ; Observações: - % representa nenhum ou muitos caracteres. - _ representa um único caracter. 12

13 Exemplo 9: Selecionando linhas com a cláusula IS NULL. 1. A coluna Num_supervisor contém o número do empregado que supervisiona o empregado corrente. SELECT NUMERO, NOME, CARGO, NUM_SUPERVISOR ; 2. Com esta Query recuperamos o único empregado da empresa que não é gerenciado por ninguém, isto é, o Presidente da empresa. SELECT NOME, CARGO, NUM_SUPERVISOR WHERE NUM_SUPERVISOR IS NULL; Observação: O resultado da cláusula Where abaixo é sempre falso pois um valor nulo não pode ser igual ou diferente de outro valor, mesmo que este outro valor seja nulo. Se valores nulos forem comparados por operadores que não o IS NULL o resultado será sempre falso. SELECT NOME, CARGO, NUM_SUPERVISOR WHERE NUM_SUPERVISOR = NULL; Exemplo 10: Selecionando linhas com operadores lógicos. SELECT NOME, SALARIO, NUMERO_DEPT WHERE SALARIO >= 3000 AND (NUMERO_DEPT = 10 OR NUMERO_DEPT = 30); [R2] Comentário: AQUI ENTRA A LISTA DE EXERCÍCIOS NÚMERO 1. 13

14 Funções Aplicadas a Linhas Há dois tipos de funções: - Funções de linhas - Funções de grupos Um função de linha retorna um resultado por linha da tabela acessada. Já uma função de grupo retorna um resultado por grupo de registros. [R3] Comentário: Por enquanto vamos ver apenas as funções de linhas. Funções de grupo serão vistas mais adiante quando estivermos estudando comandos SQL que lidam com grupos. Exemplos de Funções de Linha: - LOWER ( UFF ) uff - UPPER ( uff ) UFF - INITCAP ( UNIVERSIDADE FEDERAL ) Universidade Federal - CONCAT ( String1, String2 ) String1String2 - SUBSTR ( String, 1, 3) Str - LENGTH ( UFF ) 3 - NVL (SAL, 0) Se SAL for NULO seu valor será convertido para zero. - ROUND (78.731, 2) (Até 4 p/ baixo, Acima de 4 p/ cima) - ROUND (78.731, 0) 79 - TRUNC (78.731, 2) TRUNC (78.731) 78 - MOD (100, 30) 10 [R4] Comentário: Com relação à função NVL, se o primeiro argumento é numérico o segundo também deverá ser numérico. Isto é, não posso escrever: NVL(SAL, NADA ). Por outro lado se o primeiro argumento é um string então devo colocar como segundo argumento outro string. Exemplo 1: Utilização da função UPPER em uma sentença SQL. SELECT NOME, SALARIO, NUMERO_DEPT WHERE UPPER (NOME) = CELIO ; Exemplo 2: Utilização da função CONCAT em uma sentença SQL. SELECT CONCAT (CONCAT(NOME, ), SOBRENOME) NOME ; 14

15 Exemplo 3: Utilização das funções SUBSTR e LENGTH em uma sentença SQL. SELECT NOME, LENGTH (NOME) WHERE SUBSTR (NOME, 1, 3) = CEL ; Exemplo 4: Utilização das funções ROUND e TRUNC em uma sentença SQL. SELECT ROUND (78.731, 2), TRUNC (78.731) ; SELECT ROUND (78.731, 2), TRUNC (78.731) FROM SYS.DUAL; DESC SYS.DUAL SELECT DUMMY FROM SYS.DUAL; Observação: Dual é uma tabela (dummy) do usuário SYS que pode ser utilizada quando se deseja, por exemplo, buscar a data do sistema. Formato de Data As datas no Oracle são armazenadas em um formato numérico interno que representa o século, o ano, o mês, o dia, a hora, o minuto e os segundos. O formato de exibição default é DD-MON-YY Exemplos de Funções de Linha que manipulam Datas: - SYSDATE Retorna a data do sistema no formato DD-MMM-YY - MONTHS_BETWEEN ( 10-JAN-97, 10-JAN-98 ) 12 - ADD_MONTHS ( 03-MAR-98, -3) 03-DEC-97 - NEXT_DAY ( 03-MAR-98, SATURDAY ) 07-MAR-98 Exemplo 1: Utilização da função SYSDATE em uma sentença SQL. SELECT SYSDATE FROM SYS.DUAL; 15

16 Para mudar o formato de uma data na sessão corrente ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YY'; Exemplos de Funções de Linha que Realizam Conversões de Dados: - TO_CHAR Converte um número ou uma data para VARCHAR2. Um formato pode ser especificado. - TO_NUMBER Converte um string contendo dígitos para NUMBER - TO_DATE Converte um string representando uma data para DATE de acordo com o formato especificado. O formato default é DD-MON-YY. [R5] Comentário: Para se mudar permanentemente a data na máquina do usuário é preciso acessar o registry do Windows e alterar ou incluir em HKEY_LOCAL_MACHINE\SOF TWARE\ORACLE a entrada NLS_DATE_FORMAT (acho) com o valor DD/MM/YY. Exemplo 1: Utilização da função TO_CHAR. Como exibir uma data no formato DD/MM/AA. SELECT NOME, TO_CHAR (DT_ADMISSAO, DD/MM/YY ) ADMISSÃO ; Observações: - Por default, a largura de uma coluna que resulta de uma expressão é de 80 posições. - YYYY ou YYY ou YY ou Y Os últimos 4, 3, 2 ou 1 dígitos do ano. - MM O mês representado em 2 dígitos. - MON O nome do mês abreviado em 3 letras. - DDD ou DD ou D Dia do ano, mês ou semana. - DAY O nome do dia por extenso, completado com brancos até 9 caracteres. - MM/AA Apenas o mês e o ano são exibidos. Exemplo 2: Utilização da função TO_CHAR para exibir o dia da semana. SELECT NOME, TO_CHAR (DT_ADMISSAO, DAY ) ADMISSÃO ; Exemplo 3: Utilização da função TO_CHAR para exibir a data no formato completo. SELECT NOME, TO_CHAR (DT_ADMISSAO, DD-MM-YY HH:MI:SS ) ADMISSÃO ; 16

17 Exemplo 4: Utilização da função TO_CHAR para formatar um valor numérico. SELECT NOME, TO_CHAR (SALARIO, $99, ) SALÁRIO ; Obs: Através do formato na função TO_CHAR não há como trocar o separador decimal para a vírgula. Geralmente este tipo de coisa é configurada no próprio software que será utilizado para exibir os dados. Ex. Delphi. Exemplo 5: Utilização da função TO_CHAR SELECT O funcionário NOME recebeu TO_CHAR(SALARIO*0.2, fm$999, ) As Gratificação ; Obs: O fm no formato da coluna SALARIO é utilizado para retirar espaços em branco. Exemplo 6: Utilização da função TO_CHAR SELECT NOME, TO_CHAR(DT_ADMISSAO, fmdd de Month de YYYY. ) Admissão ; Observações: - fm (full mode) no formato utilizado para retirar espaços em branco. - Aspas ponto e aspas seguido de um plic fecham o formato da data. Exemplo 6: Utilização da função TO_NUMBER. Somando um a DT_ADMISSAO. SELECT NOME, TO_NUMBER(TO_CHAR(DT_ADMISSAO, YYYY )) + 1 Admissão + 1 ; Exemplo 7: Outra maneira de somar um a DT_ADMISSAO. SELECT NOME, TO_CHAR(ADD_MONTHS(DT_ADMISSAO, 12), YYYY ) Admissão + 1 ; Exemplo 8: Utilizando a função TO_DATE. SELECT NOME, DT_ADMISSAO WHERE DT_ADMISSAO = TO_DATE( February 20, 1991, Month dd, YYYY ); [R6] Comentário: AQUI ENTRA A LISTA DE EXERCÍCIOS NÚMERO 2. 17

18 Como selecionar dados de mais de uma tabela Para se exibir dados de mais de uma tabela, através de um comando SQL, é preciso definir condições de junção. (Joins) Os joins geralmente ocorrem entre valores de chave primária e de chave estrangeira. Tipos de Joins: Equijoin Non-equijoin Outer join Self Join Set operators Um produto cartesiano geralmente ocorre quando a condição de junção é omitida ou inválida. Para evitar produtos cartesianos é preciso incluir, na cláusula Where, condições de junção válidas. Exemplo 1: Uma junção simples entre a Tabela de Empregados (Emp) e a tabela de Departamentos (Dept). SELECT EMPREGADOS.NOME, NUMERO_DEPT, DEPARTAMENTOS.NOME, DEPARTAMENTOS WHERE EMPREGADOS.NUMERO_DEPT = DEPARTAMENTOS.NUMERO; Obs: Haverá um ganho de desempenho e de clareza se você sempre qualificar as colunas com o nome das tabelas às quais elas pertencem. [R7] Comentário: Ocorrerá tb um produto cartesiano quando todas as linhas da primeira tabela se relacionarem com todas as linhas da Segunda tabela. [R8] Comentário: É preciso informar de que tabela vem DEPTNO uma vez que esta coluna existe nas duas tabelas com o mesmo nome. Caso contrário ocorrerá um erro. Exemplo 2: Uma junção simples entre a Tabela de Empregados e a tabela de Departamentos considerando apenas aqueles empregados que ganham mais de 2500,00. SELECT EMPREGADOS.NOME, EMPREGADOS.NUMERO_DEPT, DEPARTAMENTOS.NOME, DEPARTAMENTOS WHERE EMPREGADOS.NUMERO_DEPT = DEPARTAMENTOS.NUMERO AND EMPREGADOS.SALARIO > 2500; OU SELECT E.NOME, E.NUMERO_DEPT, D.NOME E, DEPARTAMENTOS D WHERE E.NUMERO_DEPT = D.NUMERO AND E.SALARIO > 2500; [R9] Comentário: Aliases. 18

19 Exemplo 3: Uma junção entre a tabela de Empregados, a tabela de Departamentos e a tabela de Dependentes. SELECT E.NOME, E.NUMERO_DEPT, DPT.NOME, DEP.NOME E, DEPARTAMENTOS DPT, DEPENDENTES DEP WHERE E.NUMERO_DEPT = DPT.NUMERO AND E.NUMERO = DEP.NUMERO_EMP; Exemplo 4: Uma junção com maior que e menor que (Between). SELECT E.NOME, E.CARGO, E.SALARIO, F.NIVEL E, FAIXA_SALARIAL F WHERE E.SALARIO BETWEEN F.MENOR_SAL AND F.MAIOR_SAL; Exemplo 5: Um exemplo de junção do tipo Outer Join. Recuperar o Nome de todos os empregados seguido do nome do departamento onde o empregado se encontra lotado. Caso o empregado não esteja lotado em nenhum departamento o nome do empregado deve aparecer seguido de um espaço em branco. SELECT E.NOME Nome, D.NOME Nome do Depto E, DEPARTAMENTOS D WHERE E.NUMERO_DEPT = D.NUMERO(+); Nome Nome do Depto INGO COMPRAS TERESA COMPRAS CHICO COMPRAS CELIO VENDAS JOSE VENDAS LUIZA MARKETING ARMANDO MARKETING WALTER VENDAS MARTA COMPRAS TUTTI JAMES PESQUISA JOHN SEBASTIAN COMPRAS ABELARDO VENDAS SILVIO VENDAS 15 rows selected. 19

20 Observações: - Observe que o empregado Tutti não está lotado em nenhum departamento. - O sinal de + deve ficar do lado do valor nulo. - O sinal de + não pode ser colocado em ambos os lados da cláusula Where. O que aconteceria se o comando fosse escrito conforme vem abaixo? SELECT E.NOME Nome, D.NOME Nome do Depto E, DEPARTAMENTOS D WHERE E.NUMERO_DEPT(+) = D.NUMERO; Exemplo 6: Junção de uma tabela com ela própria. [R10] Comentário: Na verdade o valor nulo está na coluna Numero_dept na tabela de empregados. [R11] Comentário: Caso haja um departamento sem empregado, ficará em branco o nome do empregado e ao lado o nome do departamento. Recuperar o Nome de todos os empregados seguido do nome de seu respectivo supervisor. SELECT E1.NOME Supervisor, E2.NOME Empregado E1, EMPREGADOS E2 WHERE E1.NUMERO = E2.NUM_SUPERVISOR; Supervisor Empregado INGO TERESA INGO CHICO INGO CELIO TERESA JOSE TERESA LUIZA CHICO ARMANDO CHICO WALTER CHICO MARTA CHICO TUTTI CHICO JAMES CELIO JOHN JOSE SEBASTIAN LUIZA ABELARDO LUIZA SILVIO 14 rows selected. O que precisaria ser feito para que o empregado Ingo (que é o presidente) apareça na coluna de empregados, porem sem Supervisor? [R12] Comentário: SELECT E1.NOME Supervisor, E2.NOME Empregado E1, EMPREGADOS E2 WHERE E1.NUMERO(+) = E2.NUM_SUPERVISOR; 20

21 Funções de Grupo Funções de grupo operam com um conjunto de linhas para dar um resultado por grupo de linhas. Um conjunto de linhas pode ser uma tabela inteira ou linhas desta tabela divididas em grupos. Funções de grupo podem aparecer tanto na cláusula Select quanto na cláusula Having. A cláusula Group By divide as linhas de uma ou mais tabelas em grupos de linhas. A cláusula Having seleciona os grupos que serão aceitos. Funções de Grupo Existentes: AVG COUNT MAX MIN STDDEV SUM VARIANCE Observações: A cláusula Distinct pode ser utilizada para que sejam considerados apenas valores não duplicatas. Todas as funções de grupo ignoram valores nulos. Para substituir um valor nulo por outro valor utilize a função NVL. Exemplo 1: Utilização de funções de grupo, considerando todas as linhas de uma tabela um único grupo. SELECT AVG(SALARIO), MAX(SALARIO), MIN(SALARIO), SUM(SALARIO) ; OU SELECT MIN(NOME), MAX(NOME) ; Exemplo 2: Um único grupo definido através da cláusula Where. SELECT AVG(SALARIO), MAX(SALARIO), MIN(SALARIO), SUM(SALARIO) WHERE CARGO LIKE VEND% ; Exemplo 3: Utilização da função COUNT para contar o número de empregados lotados no departamento número

22 SELECT COUNT(*) WHERE NUMERO_DEPT = 10; Exemplo 4: Utilização da função COUNT para contar o número de empregados que possuem percentual de comissão diferente de nulo. SELECT COUNT(PERC_COMISSAO) ; Exemplo 5: Utilização da função COUNT para contar o número de empregados na tabela. SELECT COUNT(NVL(PERC_COMISSAO, 0)) ; Observações: COUNT(*) conta o número de linhas na tabela. COUNT(PERC_COMISSAO) conta o número de linhas com percentual de comissão diferente de nulo. COUNT(NUMERO) conta o número de linhas na tabela uma vez que a coluna NUMERO é a chave primária da tabela e toda chave primária não pode conter valores nulos. 22

23 A cláusula Group By Exemplo 6: Utilização da cláusula GROUP BY e da função COUNT para se contar quantos empregados estão lotados em cada departamento. SELECT NUMERO_DEPT, COUNT(*) GROUP BY NUMERO_DEPT; Observações: Qualquer coluna incluída na cláusula SELECT, se não estiver em uma função de grupo, deverá constar da cláusula GROUP BY. Com a cláusula WHERE é possível excluir determinadas linhas dos grupos. Por default as linhas são ordenadas ascendentemente conforme a lista de colunas especificada na cláusula GROUP BY. Para modificar este comportamento é preciso utilizar a cláusula ORDER BY. Exemplo 7: Utilização da cláusula Group By, da função COUNT e de um JOIN para se contar quantos empregados estão lotados em cada departamento. SELECT D.NOME DEPARTAMENTO, COUNT(*) QTD E, DEPARTAMENTOS D WHERE E.NUMERO_DEPT = D.NUMERO GROUP BY D.NOME; Exemplo 8: Utilização da cláusula Group By e da função COUNT para se contar quantos empregados estão lotados em cada departamento. SELECT D.NOME DEPARTAMENTO, COUNT(*) QTD E, DEPARTAMENTOS D WHERE E.NUMERO_DEPT = D.NUMERO GROUP BY D.NOME ORDER BY 2; [R13] Comentário: Não é possível fazer o Group By por Numero_Dept e na cláusula Select colocar o Nome do Departamento. [R14] Comentário: Não é possível fazer o Group By por Numero_Dept e na cláusula Select colocar o Nome do Departamento. [R15] Comentário: Normalme nte esta query estaria ordenada ascendentemente por D.Nome. 23

24 Exemplo 9: A query abaixo está correta? A intenção é listar o número dos departamentos seguido da média salarial. No entanto, deseja-se listar apenas aqueles departamentos cuja média salarial é superior a SELECT NUMERO_DEPT, AVG(SALARIO) WHERE AVG(SALARIO) > 2000 GROUP BY NUMERO_DEPT; A cláusula Having Para se restringir a inclusão de grupos não se pode utilizar a cláusula WHERE. A cláusula WHERE deve ser utilizada para se restringir a inclusão de linhas em um grupo. Para se omitir a inclusão de grupos inteiros do resultado de uma query deve-se utilizar a cláusula HAVING. Exemplo 10: A utilização da cláusula HAVING para listar o número dos departamentos seguido da média salarial de seus empregados. No entanto, deseja-se listar apenas aqueles departamentos cuja média salarial é superior a SELECT NUMERO_DEPT, AVG(SALARIO) GROUP BY NUMERO_DEPT HAVING AVG(SALARIO) > 2000; Exemplo 11: A utilização da cláusula GROUP BY para listar a quantidade de empregados por departamento/cargo. Isto é, grupos dentro de grupos. Não deve ser exibido Número de Departamento NULO. SELECT NUMERO_DEPT, CARGO, COUNT(*) GROUP BY NUMERO_DEPT, CARGO HAVING NUMERO_DEPT IS NOT NULL; 24

25 Exemplo 12: A utilização da cláusula GROUP BY para listar a quantidade de empregados por departamento/cargo. Só devem ser exibidos os grupos de departamentos/cargo com mais de 1 empregado. SELECT NUMERO_DEPT, CARGO, COUNT(*) GROUP BY NUMERO_DEPT, CARGO HAVING COUNT(*) > 1; As cláusulas do comando Select são avaliadas na seguinte ordem: 1. Se o comando SQL contem a cláusula WHERE, o SGBD seleciona as linhas candidatas. 2. O SGBD identifica os grupos especificados pela cláusula GROUP BY. 3. A cláusula HAVING restringe os grupos resultantes que não estão de acordo com os critérios especificados nesta cláusula. 25

26 A recuperação de dados com subconsultas (Subqueries) Uma subconsulta é um comando SELECT embutido em uma cláusula de outro comando SQL. Quando e como utilizar: Escreva subconsultas para recuperar dados baseados em critérios desconhecidos. Pode ser muito útil quando se necessita selecionar linhas de uma tabela com uma condição que depende dos dados que estão na própria ou em outra tabela. Subconsultas não podem conter a cláusula ORDER BY. Duas classes de operadores de comparações são utilizadas em subconsultas: Operadores de uma única linha: >, =, >=, <, <=, <> Operadores de multiplas linhas: IN e NOT IN. Como uma subconsulta é processada? Primeiramente é executado o comando SELECT aninhado. Em seguida o resultado é utilizado em uma condição da consulta principal. Exemplo 1: A utilização de uma subconsulta aninhada para recuperar o nome e salário de todos os empregados que trabalham no mesmo departamento que o JOSE trabalha. SELECT NOME, SALARIO WHERE NUMERO_DEPT = (SELECT NUMERO_DEPT WHERE NOME = JOSE ); [R16] Comentário: Primeiro é executada esta query para em seguida executar a query principal. Exemplo 2: A utilização de uma subconsulta aninhada para recuperar o nome e salário de todos os empregados que ganham mais do que a média salarial da empresa. SELECT NOME, SALARIO WHERE SALARIO > (SELECT AVG(SALARIO) ); 26

27 Exemplo 3: A utilização de uma subconsulta aninhada para recuperar o nome, número do departamento e salário de todos os empregados que trabalham no departamento situado no RIO ou no departamento denominado VENDAS. SELECT NOME, NUMERO_DEPT, SALARIO WHERE NUMERO_DEPT = (SELECT NUMERO FROM DEPARTAMENTOS WHERE LOCAL = RIO OR NOME = VENDAS ); Exemplo 4: A utilização de uma subconsulta aninhada para recuperar o nome, número do departamento e salário de todos os empregados que trabalham no departamento situado no RIO ou no departamento denominado VENDAS. [R17] Comentário: Isso não funciona se a subquery recuperar mais de um número de departamento. Correção da query anterior com a utilização da cláusula IN uma vez que esta subconsulta retorna mais de uma linha. SELECT NOME, NUMERO_DEPT, SALARIO WHERE NUMERO_DEPT IN (SELECT NUMERO FROM DEPARTAMENTOS WHERE LOCAL = RIO OR NOME = VENDAS ); Exemplo 5: A utilização de uma subconsulta aninhada para recuperar o número do departamento e sua média salarial. Devem ser recuperados apenas os departamentos cuja média salarial é maior do que a média salarial do departamento número 30. SELECT NUMERO_DEPT, AVG(SALARIO) GROUP BY NUMERO_DEPT HAVING AVG(SALARIO) >= (SELECT AVG(SALARIO) WHERE NUMERO_DEPT = 30); Exemplo 6: A utilização de uma subconsulta aninhada para recuperar, por departamento, o nome e o salário do empregado mais bem pago. SELECT NOME, SALARIO WHERE (SALARIO, NUMERO_DEPT) IN (SELECT MAX(SALARIO), NUMERO_DEPT GROUP BY NUMERO_DEPT); 27

28 A recuperação de dados com subconsultas correlacionadas O exemplo abaixo difere do anterior (Exemplo 6 da pág. anterior) uma vez que neste caso a subconsulta é executada uma vez para cada linha da tabela de empregados na consulta mais externa. Exemplo 1: A utilização de uma subconsulta correlacionada para recuperar, por departamento, o nome e o salário do empregado mais bem pago. SELECT NOME, SALARIO E1 WHERE SALARIO = (SELECT MAX(SALARIO) E2 WHERE E1.NUMERO_DEPT = E2.NUMERO_DEPT); Exemplo 2: A utilização de uma subconsulta correlacionada para recuperar o nome dos empregados que trabalham no projeto numero 2. SELECT NOME E WHERE 2 IN ( SELECT NUMERO_PROJ FROM TRABALHAM WHERE NUMERO_EMP = E.NUMERO); Exemplo 3: A mesma query acima sem a utilização de subconsulta correlacionada. SELECT NOME E, TRABALHAM T WHERE E.NUMERO = T.NUMERO_EMP AND T.NUMERO_PROJ = 2; 28

29 Quantificador Existencial Exists representa o quantificador existencial, uma noção emprestada da lógica formal. Em SQL, um predicado existencialmente quantificado é representado pela expressão da forma EXISTS (SELECT * FROM... ). Essa expressão será verdadeira se o resultado do cálculo da subconsulta representado por SELECT * FROM... não estiver vazio, isto é, se existir pelo menos um registro na tabela FROM da subconsulta que satisfaz a condição WHERE dessa mesma subconsulta. Quanquer consulta que utilize IN pode alternativamente ser formulada com EXISTS, porém o inverso não é verdadeiro. Exemplo 1: Obter o nome dos empregados que trabalham no projeto nº 2. SELECT NOME E WHERE EXISTS (SELECT * FROM TRABALHAM WHERE NUMERO_EMP = E.NUMERO AND NUMERO_PROJ = 2); OU SELECT NOME E, TRABALHAM T WHERE E.NUMERO = T.NUMERO_EMP AND T.NUMERO_PROJ = 2; Exemplo 2: Obter o nome dos empregados que não trabalham no projeto nº 2. SELECT NOME E WHERE NOT EXISTS (SELECT * FROM TRABALHAM WHERE NUMERO_EMP = E.NUMERO AND NUMERO_PROJ = 2); OU 29

30 SELECT NOME MINUS SELECT NOME E, TRABALHAM T WHERE T.NUMERO_EMP = E.NUMERO AND T.NUMERO_PROJ = 2; Exemplo 3: Obter o nome dos empregados que trabalham em todos os projetos. SELECT NOME E WHERE NOT EXISTS (SELECT * FROM PROJETOS P WHERE NOT EXISTS (SELECT * FROM TRABALHAM T WHERE T.NUMERO_EMP = E.NUMERO AND T.NUMERO_PROJ = P.NUMERO)); Observações: - Deve ser selecionado um nome de empregado quando não existir um projeto no qual ele não trabalhe. Exemplo 4: Obter o nome dos empregados que trabalham em todos os projetos nos quais o empregado 7521 trabalha. SELECT NOME E WHERE NOT EXISTS (SELECT * FROM TRABALHAM T1 WHERE NUMERO_EMP = 7521 AND NOT EXISTS (SELECT * FROM TRABALHAM T2 WHERE T2.NUMERO_EMP = E.NUMERO AND T2.NUMERO_PROJ = T1.NUMERO_PROJ)); 30

31 União (Union e Union All) Linhas duplicatas são eliminadas do resultado de uma união a não ser que o operador UNION inclua explicitamente o quantificador ALL. Assim, no exemplo nº 1, o projeto nº 3 é selecionado em ambos os SELECTS, mas só aparece uma vez no resultado final. Já o exemplo nº 2 retornará os números de projeto 2, 3 e 3. Qualquer número de SELECTS pode ser unido pelo UNION. Quando sabemos que não haverá elementos duplicados no resultado é conveniente utilizarmos UNION ALL para que o sistema não seja forçado a eliminar duplicidades, desnecessariamente. Exemplo 1: Obter o número dos projetos que, ou se iniciaram após 31-JUL-97, ou possuem o empregado 7566 nele trabalhando. União sem repetição. SELECT NUMERO FROM PROJETOS WHERE DT_INICIO > 31-JUL-97 UNION SELECT NUMERO_PROJ FROM TRABALHAM WHERE NUMERO_EMP = 7566; Exemplo 2: Obter o número dos projetos que, ou se iniciaram após 31-JUL-97, ou possuem o empregado 7566 nele trabalhando. União com repetição. SELECT NUMERO FROM PROJETOS WHERE DT_INICIO > 31-JUL-97 UNION ALL SELECT NUMERO_PROJ FROM TRABALHAM WHERE NUMERO_EMP = 7566; 31

32 Exemplo 3: A possibilidade de incluirmos constantes numa cláusula SELECT é frequentemente útil quando a cláusula UNION é utilizada. Por exemplo, para indicar qual das duas condições WHERE foi atendida para a inclusão do elemento no resultado final. SELECT NUMERO, DT_INICIO > 07-JAN-90 CONDIÇÃO FROM PROJETOS WHERE DT_INICIO > 07-JAN-90 UNION ALL SELECT NUMERO_PROJ, NUMERO_EMP = 7566 FROM TRABALHAM WHERE NUMERO_EMP = 7566; Resultado: NUMERO CONDIÇÃO DT_INICIO > 07-JAN-90 3 DT_INICIO > 07-JAN-90 4 DT_INICIO > 07-JAN-90 3 NUMERO_EMP =

APOSTILA DE SQL. Para Aulas de Laboratório do Curso de Projeto de Banco de Dados. Prof. Carlos Ribeiro

APOSTILA DE SQL. Para Aulas de Laboratório do Curso de Projeto de Banco de Dados. Prof. Carlos Ribeiro APOSTILA DE SQL Para Aulas de Laboratório do Curso de Projeto de Banco de Dados Prof. Carlos Ribeiro ÍNDICE [R1] Comentário: Este índice é do tipo Formal. Selecionar Inserir índice e selecionar Formal.

Leia mais

TRIBUNAL DE JUSTIÇA DO ESTADO DO RIO DE JANEIRO DIRETORIA GERAL DE TECNOLOGIA DA INFORMAÇÃO DEPARTAMENTO DE SISTEMAS DE INFORMAÇÃO.

TRIBUNAL DE JUSTIÇA DO ESTADO DO RIO DE JANEIRO DIRETORIA GERAL DE TECNOLOGIA DA INFORMAÇÃO DEPARTAMENTO DE SISTEMAS DE INFORMAÇÃO. TRIBUNAL DE JUSTIÇA DO ESTADO DO RIO DE JANEIRO DIRETORIA GERAL DE TECNOLOGIA DA INFORMAÇÃO DEPARTAMENTO DE SISTEMAS DE INFORMAÇÃO SQL Básico Cláudio da Costa Blanco Zanoni da Conceição Maia Jr. ÍNDICE

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

BANCO DE DADOS II LINGUAGEM SQL - STRUCTURED QUERY LANGUAGE. Prof.: Elvis Bloemer Meurer

BANCO DE DADOS II LINGUAGEM SQL - STRUCTURED QUERY LANGUAGE. Prof.: Elvis Bloemer Meurer BANCO DE DADOS II LINGUAGEM SQL - STRUCTURED QUERY LANGUAGE Prof.: Elvis Bloemer Meurer ORLEANS, 2011 1 CAPITULO 6: FUNÇÕES DE GRUPO...4 6.1 OBJETIVOS DESTE CAPÍTULO...4 6.2 FUNÇÕES DISPONÍVEIS...4 6.3

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

SQL e PL/SQL Oracle Dicas de preparação para certificação

SQL e PL/SQL Oracle Dicas de preparação para certificação - 1 - SQL e PL/SQL Oracle Dicas de preparação para certificação Selection: para escolher linhas em uma tabela Projection: para escolher colunas em uma tabela Join: pode trazer simultaneamente dados que

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Linguagem SQL. Bancos de Dados II Linguagem SQL

Linguagem SQL. Bancos de Dados II Linguagem SQL Linguagem SQL Bancos de Dados II Linguagem SQL SQL - Principais conceitos Machado cap.14 Introdução Importância da linguagem SQL; 1970 - Fundamentada no modelo relacional de CODD; 1974 1ª versão - SEQUEL

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO.

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO. Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Curso Oracle 10g Prof. MSc. Luciano Blomberg lblomberg@uol.com.br 2011/1

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

DML. SQL (Select) Verificando estrutura da tabela

DML. SQL (Select) Verificando estrutura da tabela SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2 SQL (Select) PROF: EDSON THIZON DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina Introdução Banco de Dados SQL Fernando Fonseca Ana Carolina SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta, permitindo definição (DDL)

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de banco

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS)

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Banco de Dados I Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Exemplo - pedido Diagrama Entidade-Relacionamento N Pedido N possui N Produto N faz tira 1 Cliente 1 Vendedor

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL SQL, é uma linguagem de programação que foi desenvolvida para questionar bases de dados relacionais

Leia mais

SQL comando SELECT. SELECT [DISTINCT] FROM [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL) CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Oracle 10g Dicas de PL/SQL. Conteúdo

Oracle 10g Dicas de PL/SQL. Conteúdo Oracle 10g Dicas de PL/SQL Conteúdo Objetivos... 2 Comentários... 2 Declarações... 2 Conversões de variáveis... 2 DDL Criar, alterar ou apagar tabelas Create, Alter or Drop table... 3 Restrições na criação

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

Fundamentos de Banco de Dados (Prática)

Fundamentos de Banco de Dados (Prática) Fundamentos de Banco de Dados (Prática) Graduação Tecnológica: Tecnologia da Informação Autor: Prof. Carlos Eduardo Gertners de Magalhães SUMÁRIO SUMÁRIO... 2 LISTA DE FIGURAS... 3 1.1 Definições iniciais...

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

Leia mais

Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho 1 Trabalhando com DATAS A Data é armazenada em um formato numérico interno, contendo: Século, ano, mês,

Leia mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33 Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

DICIONÁRIO DE DADOS. Contém detalhes dos objetos pertencentes ao usuário.

DICIONÁRIO DE DADOS. Contém detalhes dos objetos pertencentes ao usuário. DICIONÁRIO DE DADOS Podemos dizer que dicionário de dados, é um conjuto de tabelas e views somente leitura, utilizado pelo banco de dados Oracle. Este conjunto é criado e mantido pelo Oracle e contém informações

Leia mais

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2005/2006. Aula 5 Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

MySQL - Operações com SQL básico

MySQL - Operações com SQL básico MySQL - Operações com SQL básico Para testar se o MySQL esta instalado corretamente, execute a seguinte linha no prompt do DOS: c:\mysql\bin\mysql Se tudo estiver nos seus devidos lugares você vai receber

Leia mais

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais