Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

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

Download "Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira"

Transcrição

1 Unidade 3 SQL Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, , prof. Otacílio José Pereira

2 Contexto na Disciplina 1 Introdução 2 Modelo Relacional 3 SQL 4 Projeto de Banco de Dados 5 Armazenamento e Indexação 6 Processamento e Otimização de Consultas 7 Gerenciamento de Transações 8 Controle de Concorrência 9 Recuperação de Falhas 10 Segurança de Banco de Dados 11 Tópicos Avançados

3 Reflexões Preliminares Uma vez com o modelo relacional estabelecido e um banco de dados montado, como manipulá-lo? Como encontrar as informações e apresentá-la de forma adequada? Como alterar as informações?

4 Roteiro Introdução Histórico Exemplo DDL Criação de tabelas Tipos de dados básicos Alteração de tabelas Exclusão de tabelas DML Select Filtros Ordenação Renomeação Junção de várias tabelas (Inner Join) Agrupamento Insert Delete Update Juncão externa Consultas aninhadas Outros

5 Já foi discutido: Onde estamos? Modelo Relacional Como estruturar as informações em tabelas (relações), colunas, linhas, chaves e outros; Álgebra Relacional Possíveis operações para manipular um modelo relacional.

6 Para onde vamos? Através da Álgebra Relacional, exploramos o modelo relacional sob uma linguagem de consulta mais pura /formal, importante para evoluir a habilidade de realizar consultas; O que faremos agora é construir consultas em um formato que possa ser processado por um SGBD para extrair ou manipular as informações que precisamos. Consultas escritas em SQL Usuário Requisita consultas ao Servidor de Banco de Dados Sistema (Cliente) Servidor processa e retorna resultados Resultados Servidor de Banco de Dados Programa do SGBD Acessa Modelo Relacional Estruturado Vendas Financeiro RH Bancos de Dados Armazenados em Disco Clientes Vendas Itens Produtos Disco Rígido

7 SQL (Structured Query Language) Linguagem IBM Sequel desenvolvida como parte do projeto System R no IBM San Jose Research Laboratory; Renomeada para Structured Query Language (SQL); Padrão SQL ANSI e ISO: SQL-86; SQL-89; SQL-92; SQL:1999 (nome da linguagem se tornou concordante com o Ano 2000!); SQL:2003; Os sistemas comerciais oferecem a maioria, se não todos, os recursos da SQL-92, além de conjuntos de recursos variáveis dos últimos padrões e recursos proprietários especiais. Nem todos os exemplos aqui podem funcionar em seu sistema específico.

8 Modelo de Dados Exemplo (1) Cliente (cod_cliente, nome, , telefone, CPF, cod_cidade) Funcionario (cod_funcionario, nome, CPF, cod_gerente) Cidade (cod_cidade, dcr_cidade, UF) Venda (cod_venda, cod_cliente, data_denda, flag_status, vlr_total, cod_fucionario) Item_Venda (cod_item, cod_venda, cod_produto, vlr_unitario, qtde, vlr_total) Produto (cod_produto, dcr_produto, vlr_unitario, qtde_estoque, cod_categoria, cod_esporte) Categoria (cod_categoria, dcr_categoria) Esporte (cod_esporte, dcr_esporte)

9 Modelo de Dados Exemplo (2)

10 Organização da SQL Quais operações desejamos realizar sobre um banco de dados? Definição de Dados: Criar tabela; Adicionar campo a tabela; Retirar campo de tabela; Excluir tabela. Manipulação de Dados: Imagine uma tela de um sistema. Quais operações são disponibilizadas para o usuário? Inserir um novo registro; Alterar um registro existente; Excluir um registro existente.

11 DDL: Criação de tabela Objetivo: Criar uma nova tabela no banco de dados; Sintaxe: create table <tabela> (<coluna 1> <tipo de dados> <nulidade>, <coluna 2> <tipo de dados> <nulidade>,... <restrição 1>,...) Exemplo: create table Cidade (cod_cidade int dcr_cidade varchar(50) uf char(2) null, primary key (cod_cidade), foreign key (uf) references Estado ) not null, not null,

12 DDL: Tipos de Dados Tipos de dados mais comumente empregados: Inteiro: int, integer Números reais: numeric(p,d) p : Número de dígitos total d : Número de casas decimais Caracteres Tamanho fixo: char(n), character(n) Tamanho variável: varchar(n), character varying(n) Data: date

13 DDL: Outros recursos na criação Auto-incremento É comum escolhermos um campo na tabela que será auto-incrementado, isto é, quando uma nova linha é criada, automaticamente o banco gera um novo número para a coluna auto-incrementada; No SQL Server: identity (i, p) i: indica o valor inicial a ser considerado p: indica o passo a ser incrementado para gerar o novo número Exemplo: create table cidade (cod_cidade int identity (1,1) not null,...) No Oracle: É utilizado o recurso de sequences No MySQL: É utilizado o auto_increment Exemplo: create table Cidade (cod_cidade int not null auto_increment,...)

14 DDL: Chave Primária Chave primária (Primary Key) é uma das restrições mais comumente utilizadas; Duas maneiras de criação: create table cidade (..., primary key (cod_cidade)) Ou -- Para nomear uma restrição create table Cidade (..., constraint PK_CIDADE primary key (cod_cidade) ) Outra restrição já vista é a obrigatoriedade dos campos. Campos que aceitam ou não valores nulos são criados com a propriedade de nulidade (NULL ou NOT NULL).

15 DDL: Alteração de tabela Adicionar coluna Sintaxe: alter table <tabela> add <coluna a adicionar> <tipo de dados> Exemplo: alter table VENDA add DATA_ENTREGA date Excluir coluna Sintaxe: alter table <tabela> drop <coluna a excluir> Exemplo: alter table VENDA drop DATA_ENTREGA

16 DDL: Excluir tabela Excluir a tabela do banco de dados, não somente as linhas e/ou colunas. A própria estrutura da tabela, com todos os seus dados associados, é excluída. Sintaxe: drop table <tabela a excluir> Exemplo: drop table ITEM_VENDA

17 Até então, os comandos envolveram apenas a estrutura da tabela, isto é, a definição da tabela (DDL); Os comandos agora envolvem a manipulação dos dados: Consultar dados; Inserir dados; Alterar dados; Excluir dados. DML: Introdução

18 DML: Select O Select é um dos comandos com maior número de variações e uso; Sintaxe básica: select <col 1>, <col 2>,..., <col n> from <tabela 1>, <tabela 2>,... where <condições> Exemplo: select nome, telefone, from cliente where cod_cliente = 10

19 DML: Select Equivalência com a Álgebra Relacional Vale destacar a equivalência da consulta com select e as consultas em Álgebra Relacional; Exemplo: select nome, telefone, (π) from cliente where cod_cliente = 10 (σ)

20 DML: Uso de filtros Os filtros (representados por P de predicado na sintaxe) permitem selecionar quais linhas devem ser recuperadas pelo comando; O critério do filtro estipula quais linhas são consideradas; select <coluna1, coluna2, coluna3,...> from <tabela1, tabela2,...> where <filtros> Como expressar filtros: <campo> operador <valor(es)> Exemplo: vlr_despesa > 20 Correlação com Álgebra Relacional: Os filtros em na claúsulawhere são equivalentes à Seleção.

21 SQL: Uso de operadores Conforme o tipo de dado do campo, podemos usar diversos tipos de operadores. Por exemplo: Para comparação: > < >= <= = <> Para operações matemáticas: + - * /

22 DML: Select com filtros Exemplos de uso de filtro: Recuperar o código, o nome e o dos usuários masculinos select cod_usuario, nome_usuario, dcr_ from cad_usuarios where tipo_sexo = M Recuperar o código, a descrição, a data e o valor das despesas com valor superior a R$15,00: select cod_despesa, dcr_despesa, data_prevista, vlr_depesa from fin_despesas where vlr_despesa > 15

23 DML: Uso de operadores Exemplos de uso de filtro: Recuperar as despesas realizadas a partir de março, aplicando um desconto de 10% select dcr_despesa, vlr_despesa * 0.9 from fin_despesas where data_prevista >= 01/03/2008 Recuperar os usuários que não moram na cidade de Vitória ( código no sistema é 2) select * from cad_usuarios where cod_cidade <> 2

24 DML: Uso do operador like O operador like é utilizado em campos de caracteres para comparar os textos de acordo com algum padrão; Exemplos: Recuperar os usuários iniciados com a letra M select * from cad_usuarios where nome_usuario like M% M% - indica palavras que iniciam-se com M e possuem quaisquer caracteres, em qualquer quantidade, a partir do M Recuperar os usuários com sobrenome Pereira select * from cad_usuarios where nome_usuario like %Pereira%

25 DML: Conectores lógicos Conectores lógicos: And, Or e Not; Exemplos: Recuperar os usuários iniciados com a letra A, do sexo masculino e que moram em Vitória (código = 2) select * from cad_usuarios where nome_usuario like A% and tipo_sexo = M and cod_cidade= 2

26 DML: Conectores lógicos Exemplos: Recuperar os usuários que não moram na cidade de Vitória select * from cad_usuarios where not (cod_cidade = 2) Recuperar os usuários que moram em Vitória ou Cariacica select * from cad_usuarios where cod_cidade = 2 or cod_cidade = 3

27 DML: Conectores lógicos Conectores lógicos podem ser combinados, possibilitando uma ampla variedade de restrições; Exemplo: Recuperar os clientes cujos nomes iniciam com A ou B, e que sejam do sexo feminino select * from cliente where (nome like A% or nome like B% ) and sexo = F

28 DML: Operadores All e Distinct O comando distinct recupera apenas valores distintos; Exemplo: Recuperar as diferentes cidades que possuem clientes cadastrados select distinct cod_cidade from cliente Explicação: All : retorna todos os valores (é o padrão); Distinct : retorna apenas valores distintos, eliminando valores duplicados.

29 DML: Operador Between O comando between permite que sejam testados intervalo de valores; Exemplos: Recuperar as vendas com valor total entre 10 e 20 select cod_venda, cod_cliente, vlr_total from venda where vlr_total between 10 and 20 Recuperar as vendas com data entre 01/09/2009 e 01/10/2009 select cod_venda, cod_cliente, vlr_total from venda where data between 01/09/2009 and 01/10/2009 Explicação: Permite linhas com valores de coluna dentro de uma faixa de valores; No caso acima, apenas as vendas com valor entre 10 e 20 serão recuperadas. É equivalente a construir: vlr_total >= 10 and vlr_total <= 20

30 DML: Operador in O comando in testa se um valor pertence a um conjunto de valores; Exemplo: Recuperar os clientes cujas cidades tenham código 1, 2, 3 ou 5 select nome from cliente where cod_cidade in (1, 2, 3, 5) Explicação: Permite avaliar se uma coluna está dentro de uma lista de valores válidos.

31 DML: Valor null O comando null é usado para testar nulidade; Exemplo: Recuperar os clientes que não tenham endereço informado select cod_cliente, nome from where cliente dcr_endereco is null Explicação: Um campo pode assumir um valor nulo (null), isto é, ele não tem valor; No caso acima a consulta está recuperando todos os clientes que não possuem endereço cadastrado (ao testar se o campo de endereço é nulo).

32 DML: Ordenação A cláusula order by é usada para ordenar os valores selecionados; Sintaxe: select <coluna 1, coluna 2,...> from <tabela 1, tabela 2,...> where <filtros> order by <coluna 1 ASC DESC, coluna 2 ASC DESC,... > Obs.: ASC (ordenação ascendente) é o padrão, não sendo obrigatório indicar a palavra-reservada ASC quando se quer tal formato.

33 DML: Ordenação Exemplos: Recuperar a lista de clientes ordenados por nome select cod_cliente, nome from cliente order by nome Recuperar a lista de vendas ordenadas por data_venda, da maior para a menor e dentro de uma mesma data, ordenada por valor total do menor para o maior select cod_venda, data_venda, vlr_total from venda order by data_venda desc, vlr_total asc Explicação: Permite ordenar os dados recuperados em uma consulta; A ordem pode ser crescente (ASC) ou decrescente (DESC); A ordem é especificada por disposição de coluna (exemplo 2).

34 DML: Renomeação É possível realizar renomeação de coluna e/ou tabela para auxiliar uma consulta; Exemplo: select cod_cliente as codigo, cli.nome, from dcr_endereco as endereço cliente as cli Explicação: Permite renomear tanto o campo de uma consulta (para ser apresentado de maneira mais amigável) quanto uma tabela (para facilitar a codificação); No caso acima, em vez de apresentar cod_cliente, será apresentado codigo e em vez de dcr_endereco será mostrado endereço.

35 SQL: Junção entre tabelas Introdução Até então, recuperamos dados apenas de uma tabela; Como em um modelo relacional as informações estão dispersas, cada uma em sua respectiva tabela, as vezes é necessário juntarmos os dados de diversas tabelas; Duas perguntas precisam ser respondidas pela consulta: Quais as tabelas envolvidas? Qual(is) critério(s) de junção entre as tabelas? Exemplo: select cod_usuario, nome, dcr_cidade from cad_usuarios as usu, cad_cidades as cid where usu.cod_cidade = cid.cod_cidade

36 SQL: Junção entre tabelas O que aconteceria se utilizássemos as tabelas somente na cláusula from (identifica a origem dos dados)? Exemplo: select cod_usuario, nome, dcr_cidade from cad_usuarios, cad_cidades Neste caso, ocorre um produto cartesiano completo, com todas as linhas de uma tabela combinadas com todas as linhas da outra tabela; Porém só interessa aqueles linhas em que existem correspondência entre as linhas envolvidas; Outra maneira de pensarmos a junção é avaliar: Percorrendo cad_usuarios, como recuperar a descrição da cidade, presente em cad_cidade? Buscando a correspondência na tabela de cad_cidades, isto é, para cada usuário pegar somente o cadastro da cidade ao qual ele está associado.

37 SQL: Inner Join (Simples) Exemplo: Consulta Precisamos unir: Os dados da tabela de usuários com a tabela de cidades, para que possamos pegar a descrição da cidade de um usuário

38 SQL: Inner Join (Simples) Um inner join (junção) retorna os registros em que os valores de uma coluna em uma tabela deve ser igual à coluna relacionada da outra tabela; Exemplo: Retornar os Usuários e Descrição das Cidades select u.nome_usuario,u.dcr_ ,c.dcr_cidade from cad_usuarios as u inner join cad_cidades as c on u.cod_cidade = c.cod_cidade order by c.dcr_cidade Observação: Perceba que as tabelas foram renomeadas... Cad_usuarios as u..., assim, qualquer coluna de cad_usuarios pode ser tratada como sendo de u (u.cod_usuario, u.nome).

39 SQL: Inner Join (várias tabelas) Para processar várias tabelas, vale pensar que cada junção de duas tabelas cria uma nova tabela; Exemplo: select u.nome_usuario,u.dcr_ , c.dcr_cidade, m.dcr_tipo_movimentacao, d.dcr_despesa, d.vlr_despesa, d.data_realizada from cad_usuarios as u inner join cad_cidades as c on u.cod_cidade = c.cod_cidade inner join fin_despesas d on u.cod_usuario = d.cod_usuario inner join fin_tipo_movimentacao m on d.cod_tipo_movimentacao = m.cod_tipo_movimentacao

40 SQL: Inner Join (várias tabelas) Resultado do processamento do exemplo:

41 SQL: Inner Join (alternativa) Existe outra forma de escrever as consultas com junção dos dados de tabelas, através da cláusula where; Exemplo: select u.nome_usuario,u.dcr_ , c.dcr_cidade from cad_usuarios as u, cad_cidades as c where u.cod_cidade = c.cod_cidade order by c.dcr_cidade

42 SQL: Outer join Não necessariamente as tabelas relacionadas no banco devem conter todos os dados equivalentes nas colunas usadas no join; Tipos: Left Join: a coluna da esquerda vale como base para o join; Right Join: a coluna da direita vale como base para o join; Exemplo: Entre Cidades e Usuários, nem todas as cidades apresenta usuários.

43 SQL: Outer join Exemplo de Left Join: select c.dcr_cidade, u.nome_usuario,u.dcr_ from cad_cidades as c left join cad_usuarios as u on c.cod_cidade = u.cod_cidade order by c.dcr_cidade

44 SQL: Outer join Resultado do select exemplo: Consulta

45 SQL: Agrupando Dados Contexto: Uso do comando TOP; Funções de agregação; Fundamentos para uso da cláusula Group By; Gerando valores agregados; Usando o Compute e Compute By.

46 Comando Top O comando topnretorna as n primeiras linhas do conjunto de resultado; Exemplo: select top 10 cod_despesa, dcr_despesa from fin_despesas order by vlr_despesa desc Explicação: No caso acima, traz apenas as dez linhas ordenadas de maneira decrescente, assim apenas as dez maiores despesas são mostradas.

47 Funções Agregadas As funções agregadas permitem fazer um cálculo sobre um conjunto de valores, retornando um único valor obtido a partir de tal conjunto. Por exemplo: O somatório dos valores de despesas; A contagem dos usuários; Analogia com Excel. No uso do Excel, é comum criarmos uma célula com base em um fórmula sobre outras células. Por exemplo: Sum(E1:E10); As funções agregadas tem característica similar, mas operam sobre um conjunto resultado de uma consulta (select).

48 Funções Agregadas As funções agregadas do SQL são: Sum(): somatório dos valores de determinada coluna; Avg(): média dos valores de uma coluna; Count(): contagem de registros; Max(): captura o maior valor de uma coluna; Min(): captura o menor valor de uma coluna.

49 Funções Agregadas - Exemplo Alunos (cod_aluno, nome, matricula, telefone, cpf) Funcionarios (cod_prof, nome, matricula, telefone, cpf, cod_cargo) Cargo (cod_cargo, dcr_cargo) Cod_cargo = 1 -> Professor Cod_cargo = 2 -> Funcionario Turmas (cod_turma, dcr_turma, cod_professor, cod_disciplina) Alunos_Turmas (cod_turma, cod_aluno, nota, freq) Disciplina (cod_disciplina, dcr_disciplina) PreRequisitos (cod_disc_pre, cod_disc_pos)

50 Funções Agregadas Exemplos de consultas com funções agregadas: Recuperar a maior nota dentro de uma determinada turma select max(nota) from alunos_turmas where cod_turma = 10 Recuperar a menor frequencia dentro de uma determinada turma select min(frequencia) from alunos_turmas where cod_turma = 10 Recuperar quantas faltas um aluno teve em todas as disciplinas que cursou select sum(frequencia) from alunos_turmas where cod_aluno = 21

51 Agrupamento Em algumas situações é desejável aplicar uma função agregada não apenas a um único conjunto de dados, mas a um grupo de conjuntos de dados. Para tal situação a SQL fornece a cláusula Group By; O(s) atributo(s) fornecido(s) na cláusula Group By são usados para formar grupos. As tuplas com o mesmo valor em todos os atributos indicados em tal cláusula são colocados em um único grupo.

52 Agrupamento Exemplos: Recuperar o aluno, sua nota média e sua frequência média para avaliar seu coeficiente de rendimento select nome, avg(nota), avg(frequencia) from alunos as a, alunos_turmas as at where a.cod_aluno = at.cod_aluno group by nome Recuperar o turma e a nota e frequência médias das turmas select dcr_turma, avg(nota), avg(frequencia) from turmas as t, alunos_turmas as at where t.cod_turma = at.cod_turma group by dcr_turma

53 Agrupamento e Having A cláusula having permite realizar um filtro sobre valores agrupados; Exemplos: Recuperar os alunos, sua nota média e sua frequência média, porém apenas dos alunos que possuem média acima de 7 select nome, avg(nota), avg(frequencia) from alunos as a, alunos_turmas as at where a.cod_aluno = at.cod_aluno group by nome having avg(nota) >= 7 Recuperar a turma, a nota e frequência médias, das turmas com rendimento abaixo de 5 select dcr_turma, avg(nota), avg(frequencia) from turmas as t, alunos_turmas as at where t.cod_turma = at.cod_turma group by dcr_turma having avg(nota) < 5

54 Subconsultas Aninhadas A SQL fornece um mecanismo para aninhar subconsultas; Uma subconsulta é uma expressão select-from-where que é aninhada dentro de outra consulta; Usos comuns de subconsultas: Realizar testes para participação de conjuntos; Fazer comparações de conjuntos; Determinar cardinalidade de conjuntos.

55 Subconsultas Aninhadas Seja o seguinte modelo de dados:

56 Subconsultas Aninhadas Exemplos: Encontre todos os clientes que possuem uma conta e um empréstimo no banco select distinct nome_cliente from tomador where nome_cliente in (select nome_cliente from depositante) Encontre todos os clientes que possuem um empréstimo no banco, mas que não têm uma conta no banco select distinct nome_cliente from tomador where nome_cliente) not in (select nome_cliente from depositante)

57 Operador Exists A construção exists retorna true se a subconsulta de argumento não é vazia. Exists: r r Ø not exists: r r = Ø Exemplo: Encontre todos os clientes que têm uma conta em todas as agências localizadas em Brooklyn select distinct S.nome_cliente from depositante as S where not exists ((select nome_agência from agência where cidade_agência = Brooklyn ) except (select R.nome_agência from depositante as T, conta as R where T.número_conta = R.número_conta and S.nome_cliente = T.nome_cliente))

58 Operador All A palavra-chave all especifica que as duplicatas não são removidas da consulta retornada; Exemplo: Recuperar todas as agência onde foram feitos empréstimos, sem excluir as agências duplicadas. select all nome_agência from empréstimo

59 Operador Some F <comp> some r t r tal que (F <comp> t ) Onde <comp> pode ser: <,, >, =, (= some) é similar ain Entretanto, ( some) não é similar anot in Exemplos: (5 < some [0,5,6] ) = verdadeiro (5 < some [0,5] ) = falso (5 = some [0,5] ) = verdadeiro (5 some [0,5] ) = verdadeiro (já que 0 5)

60 Exemplos: Comparação de Conjuntos Encontre os nomes de todas as agências que possuem ativos maiores do que o ativo de pelo menos uma agência localizada em Brooklyn. select distinct T.nome_agência from agência as T, agência as S where T.ativo > S.ativo and S.cidade_agência = Brooklyn Mesma consulta usando a cláusula > some select nome_agência from agência where ativo > some (select ativo from agência where cidade_agência = Brooklyn )

61 SQL : Inserção A operação de inserção permite que novos registros sejam acrescentados ao BD; Sintaxe inserção de um único registro: insert into <tabela> (<lista de colunas>) values (<valores na mesma ordem da lista de colunas>) Sintaxe possível inserção de mais de um registro: insert into <tabela> <select onde o retorno deve possuir os mesmos campos e tipos de dados da tabela. Também deve preservar a ordem das colunas>

62 SQL : Inserção Exemplos: Insira uma nova tupla em conta insert into conta values ( A-9732, Perryridge, 1200) ou equivalentemente insert into conta (nome_agência, saldo, número_conta) values ( Perryridge, 1200, A-9732 ) Insira uma nova tupla em conta com saldo definido como nulo insert into conta values ( A-777, Perryridge, null )

63 SQL : Inserção Ofereça uma nova conta de poupança no valor de US$ 200 como um presente para todos os clientes de empréstimo da agência Perryridge Deixe que o número de empréstimo sirva como o número de conta para a conta de poupança. insert into conta select número_empréstimo, nome_agência, 200 from empréstimo where nome_agência = Perryridge insert into depositante select nome_cliente, número_empréstimo from tomador as t, empréstimo as e where t.número_empréstimo = e.número_empréstimo and nome_agência = Perryridge A instrução select - from - where é avaliada totalmente antes de quaisquer dos seus resultados serem inseridos na relação (caso contrário, consultas como insert into tabela1 select * from tabela1 causariam problemas.

64 SQL : Alteração A operação de atualização permite que registros existentes (colunas) sejam modificados no BD; Sintaxe: update <tabela> set <coluna 1> = <novo valor>, <coluna 2> = <novo valor>, where <identificação da(s) linha(s) - filtro> OBS.: É preciso estar atento nos filtros estabelecidos para que as linhas corretas sejam atualizadas.

65 Exemplos: SQL : Alteração Aumente todas as contas com saldos acima de US$ em 6 por cento, enquanto todas as outras recebem 5 por cento. Escreva duas instruções update: update conta set saldo = saldo * 1,06 where saldo >= update conta set saldo = saldo * 1,05 where saldo <= OBS.: A ordem de execução das instruções é importante.

66 SQL : Alteração O operador case pode ser utilizada para realizar atualizações condicionais; Exemplo: Aumente todas as contas com saldos acima de US$10000 em 6 por cento, enquanto todas as outras recebem 5 por cento. update conta set saldo = case when saldo <= then saldo * 1,05 else saldo * 1,06 end

67 A operação de exclusão possibilita que registros existentes sejam excluídos / eliminados do BD; Sintaxe: SQL : Exclusão delete from <tabela> where <identificação da(s) linha(s) - filtro> OBS.: É preciso estar atento nos filtros estabelecidos para que as linhas corretas sejam excluídas.

68 SQL : Exclusão Exemplos: Exclua todas as tuplas da tabela conta pertencentes à agência Perryridge delete from conta where nome_agência = Perryridge Exclua todas as contas em cada agência localizada em Needham. delete from conta where nome_agência in (select nome_agência from agência where cidade_agência = Needham )

69 Para estudos Lista de Exercícios (disponibilizada no site); Leitura: SILBERSCHATZ, A. et.al. Sistema de banco de dados. 5.ed. Rio de Janeiro: Elsevier, Capítulo 3 SQL. Capítulo 4 SQL Avançado.

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

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

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

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

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

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

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

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

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

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

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

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

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

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

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

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

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

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

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

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

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

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

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

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

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

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

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

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 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

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

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

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

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

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

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

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

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

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas 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. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

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

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

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

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

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

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

Leia mais

DML - SELECT Agrupando Dados

DML - SELECT Agrupando Dados DML - SELECT Agrupando Dados 1. Apresentação Já conhecemos os comandos básicos de manipulação de dados: insert; delete; update e select. O comando de consulta select utilizado até aqui era aplicado sobre

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

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

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

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

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo Capítulo 4 A Linguagem SQL Murilo Silva de Camargo 1 SQL - Structured Query Language Estrutura básica Operações de conjunto Funções agregadas Valores nulos Sob consultas aninhadas Relações derivadas Visões

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

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [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

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

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

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

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 (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 (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

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

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 UMA ABORDAGEM INTERESSANTE

SQL UMA ABORDAGEM INTERESSANTE SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

Leia mais

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:

Leia mais

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

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

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

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

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

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

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

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

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

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

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 2007 Módulo III: Linguagens de Consulta. (Aula 9) Clodis Boscarioli

Banco de Dados I 2007 Módulo III: Linguagens de Consulta. (Aula 9) Clodis Boscarioli Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 9) Clodis Boscarioli Agenda: QBE (Query-by-Example) Histórico e Características; Notações; Exemplos da linguagem; Ferramentas que suportam

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 BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao... 04 Banco de Dados 1989 02 Análise 2000 01 XML

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no

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

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. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01 Banco de Dados Módulo 7 - Modelo Relacional Definição do Esquema Relacional em SQL modulo07.prz 1 10/09/01 Introdução SQL linguagem padrão para SGBDs relacionais derivada do SEQUEL (Structured English

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

Definida pelo American National Standard Institute (ANSI) em 1986 2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional

Leia mais