T301B S Q L. Structure Query Language. Luis Fernando Calábria Erick Franklin Leonardo Bandeira

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

Download "T301B S Q L. Structure Query Language. Luis Fernando Calábria Erick Franklin Leonardo Bandeira"

Transcrição

1 T301B S Q L Structure Query Language Luis Fernando Calábria Erick Franklin Leonardo Bandeira

2 Sumário 1. INTRODUÇÃO SOBRE SQL VISÃO GERAL DE UM BANCO DE DADOS RELACIONAL COLUNAS E LINHAS ENTIDADES E CHAVE PRIMÁRIA CHAVE PRIMÁRIA COMPOSTA 5 2. A LINGUAGEM SQL CRIANDO UMA TABELA IDENTIFICADORES E ATRIBUTOS TIPOS DE DADOS DADOS CARACTERES STRINGS DADOS NUMÉRICOS DADOS DATA E HORA INCLUINDO DADOS 8 3. QUERIES: OBTENDO OS DADOS DESEJADOS CLÁUSULAS SELECT E FROM CLÁUSULA WHERE PREDICADOS RELACIONAIS OUTROS PREDICADOS RELACIONAIS VINCULANDO VÁRIOS PREDICADOS: AND E OR QUERIES: MANIPULANDO DADOS OPERADORES ARITMÉTICOS FUNÇÕES FUNÇÕES AGREGADAS FUNÇÕES NÃO AGREGADAS FUNÇÕES DE SEQÜÊNCIAS DE CARACTERES FUNÇÕES DE DATA E HORA ORGANIZANDO O RESULTADO CLÁUSULA GROUP BY CLÁUSULA HAVING CLÁUSULA ORDER BY JUNÇÕES: QUERIES QUE ENVOLVEM MAIS DE UMA TABELA EQUIJUNÇÕES JUNÇÕES EXTERNAS AUTO-JUNÇÕES OUTROS TIPOS DE JUNÇÕES QUERIES EM OUTRAS DECLARAÇÕES DECLARAÇÃO UNION UTILIZANDO QUERIES PARA INCLUIR DADOS 23 Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 1

3 8. ALTERANDO TABELAS E DADOS ALTERANDO OS DADOS ATUALIZANDO DADOS EM UMA LINHA ELIMINANDO LINHAS GRAVANDO E DESFAZENDO ALTERAÇÕES ALTERANDO UMA TABELA ELIMINANDO UMA COLUNA INCLUINDO UMA COLUNA MODIFICANDO UMA COLUNA TROCANDO O DE UMA TABELA OU COLUNA ELIMINANDO UMA TABELA UTILIZANDO ÍNDICE PARA MELHORAR A PERFORMANCE UTILIZANDO UM ÍNDICE UTILIZANDO UM ÍNDICE ÚNICO UTILIZANDO UM ÍNDICE CONCATENADO APAGANDO UM ÍNDICE PROGRAMANDO EM SQL PORQUE SQL EMBUTIDA UTILIZANDO A FERRAMENTA ACCESS 30 Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 2

4 1.Introdução 1.1. Sobre SQL Um banco de dados é como um arquivo eletrônico, ou seja, tem a mesma função que qualquer outro arquivo armazenar registros. A única diferença é que no banco de dados os registros são armazenados eletronicamente. Para termos acesso aos registros armazenados ou mesmo cadastrar novos registros, precisamos de um sistema que gerencie o banco de dados. Este sistema gerenciador de banco de dados é que torna possíveis as operações com o conteúdo do arquivo, como Traga-me este arquivo, Atualize este registro. Existem vários tipos de sistemas de gerenciamento de banco de dados (SGBD ou DBMS), representando diversas abordagens relativas às tarefas de acesso às informações contidas no banco de dados, preservação da integridade dos dados, acompanhamento dos usuários e manutenção da segurança. Para o nosso estudo, porém, podemos classificar todos os sistemas em dois tipos: relacionais e não relacionais, embora seja visível o predomínio da abordagem relacional nos novos sistemas do mercado. Em um sistema relacional, os dados são armazenados e representados exclusivamente em tabelas. Em nenhum momento faz-se necessário recorrer a outras estruturas, como árvores hierárquicas, para ter acesso aos dados. A linguagem SQL o nome é a sigla de Structured Query Language (Linguagem de Query Estruturada) é uma linguagem para gerenciar um sistema de banco de dados relacional. Não só é uma linguagem, como também tem sido tão utilizada que pode ser considerada um padrão. Consiste de uma série de declarações, adotadas de comum acordo, que nos permitem realizar diversas operações. Temos que usar a expressão comum acordo porque, embora uma SQL padrão tenha sido criada pelo Instituto de Padrões Nacionais Americanos (ANSI), todas as implementações particulares da SQL personalizam a linguagem de várias formas. Tais implementações complementam a linguagem padrão com novos tipos de declarações ou expressões e muitas vezes adaptam as declarações padronizadas às necessidades específicas Visão Geral de um Banco de Dados Relacional Sistemas relacionais caracterizam um grande avanço no armazenamento e no gerenciamento de grandes quantidades de dados. A principal razão para isso é que, em um sistema relacional, pode-se reduzir bastante o armazenamento de dados redundantes. Na verdade, idealmente falando, em um sistema projetado segundo os princípios teóricos da abordagem relacional, a redundância não deve existir. Nenhum relacionamento entre dois itens de dados (uma pessoa possui um endereço, por exemplo) deve aparecer mais de uma vez em cada um banco de dados. Na prática, os sistemas apenas se aproximam deste ideal, por várias razões, e podemos dizer que normalmente contêm alguns dados repetidos em vários lugares. Mas mesmo em um sistema relacional que apenas se aproxime da situação ideal, minimizar a redundância dos dados acarreta dois benefícios básicos: em primeiro lugar, os dados podem ser reorganizados e combinados de forma mais facilmente em novos relacionamentos; não ficam presos aos relacionamentos em que foram armazenados. Em segundo lugar, a atualização torna-se muito mais fácil, pois poucos itens de dados têm que ser atualizados, o que reduz a incidência de erros. Todos os dados de um sistema relacional são armazenados e exibidos em tabelas. Programas de planilhas e sistemas de banco de dados não relacionais também usam tabelas, portanto não é uma característica exclusiva dos sistemas relacionais. Mas há algo que distingue a forma como os sistemas relacionais usam tabelas. Esta distinção deriva-se da definição e da utilização do banco de dados segundo certos princípios teóricos da abordagem relacional. Mais adiante iremos abordar tais princípios. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 3

5 1.3. Colunas e Linhas Qualquer informação refere-se a qualquer coisa, e talvez o primeiro princípio da abordagem relacional seja o de todas as informações contidas em uma tabela devem estar sempre relacionadas a exemplos de um tipo de coisa. Este princípio destingue o uso relacional de tabelas. Por exemplo, a tabela HOSPEDES abaixo contém informações sobre os sócios de um clube de tratamento da forma física, selecionado, conceituado e imaginário chamado Visual Spa (fig. 1.1). Fig HOSPEDES SEXO BIOTIPO ALTURA JOSÉ AUGUSTO M M 1,67 MAURÍCIO DE SOUZA M M 1,72 BIANCA OLIVEIRA F G 1,65 JANE FYUNDAI F G 1,80 STELLA SHIELDS F M 1,65 ROGÉRIO NUNES M M 1,78 A tabela possui quatro colunas, SEXO, BIOTIPO e ALTURA e 6 linhas. Contém informações sobre os hóspedes do Spa; cada coluna vertical possui dados referentes a uma característica ou atributo dos hóspedes. Os atributos em que estamos interessados são nome, sexo, biotipo e altura de cada hóspede; por isso destinamos uma coluna a cada um deles. Esta é a função das colunas verticais de uma tabela: conter informações sobre os atributos das entidades a que se refere a tabela. Cada linha horizontal da tabela HOSPEDE contém as informações sobre todos os atributos referentes a um determinado hóspede. Portanto, enquanto a coluna exibe os nomes de todos os hóspedes da tabela e a coluna SEXO o sexo de todos os hóspedes e assim por diante em relação às outras colunas, a linha em que aparece o nome José Augusto contém informações apenas referentes aos atributos do hóspede chamado José Augusto. Mais adiante introduziremos um novo conceito relacional: o de chave primária Entidades e Chave Primária No mundo real, você teria inúmeras razões para querer tratar cada hóspede do Visual Spa individualmente: se você não considerá-los separadamente, não poderá designar os quartos adequadamente, elaborar os programas de emagrecimento segundo as necessidades de cada um, preparar as faturas corretamente, e assim por diante. Pelas mesmas razões, você terá que ter os hóspedes também individualizados no banco de dados. Em termos práticos, isto significa que as linhas da tabela devem ser diferenciadas. Se você não puder diferenciar a linha de José Augusto da de Maurício de Souza, o banco de dados não lhe dará condições para designar os quartos adequadamente, elaborar os programas de emagrecimento segundo as necessidades de cada um, preparar as faturas corretamente, e assim por diante. Para que uma linha possa se distinguir das outras, tem que ser de alguma forma diferente, ou seja, tem que ter uma característica que a identifique. Em um sistema relacional, esta característica identificadora não pode ser identificador externo, como a posição que a linha ocupa em relação às outras; tem que ser um dos próprios componentes da linha. Como a linha só consiste de itens de dados, temos que tentar localizar dentre os dados da linha aquele que poderá identificá-la univocamente. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 4

6 Em outras palavras, temos que procurar por uma coluna (ou grupo de colunas) que apresente um conteúdo diferente em cada linha dados que são duplicados em duas linhas. Esta característica então servirá para identificar a linha da mesma forma que usamos um nome para identificar uma pessoa. Volte à tabela HÓSPEDE (fig. 1.1). Observe que nem todos os atributos, ou colunas, são igualmente suficientes para identificar as linhas. Por exemplo, não basta saber apenas o sexo de um hóspede que você queira identificar se este atributo é compartilhado por metade dos seus hóspedes. Da mesma forma, se soubermos o biotipo de um hóspede teremos um grupo mais reduzido mas não conseguiremos localizar um hóspede em particular. O problema é que as colunas SEXO e BIOTIPO contêm valores duplicados. Quando duas linhas contêm o mesmo atributo, este atributo não pode ser usado para distinguir as linhas entre si. Concluindo, a única coluna que pode servir de atributo identificador é a coluna. Como não contém valores duplicados, as informações nela contidas são por si só suficientes para distinguir a linha de um hóspede na tabela. Descrevemos, na realidade, uma diferença entre os dois tipos de colunas. O primeiro tipo está baseado em um atributo que identifique univocamente ou defina uma linha. O segundo tipo baseia-se em atributos descritivos que fornecem informações, mas não são suficientes para identificar uma linha ou entidade. A coluna (ou grupo de colunas) baseada em um atributo identificador de uma linha é chamada de Chave ou Chave Primária. A chave de uma tabela lhe permite identificar as linhas individualmente, definindo também as entidades às quais a tabela se refere. Um banco de dados relacional todas as tabelas tem que ter uma chave primária que identifique cada linha Chave Primária Composta A chave primária pode consistir de mais de uma coluna, as vezes não podemos distinguir as linhas uma das outras usando apenas uma coluna, mais sim mais de uma. O exemplo a seguir lista o nome de todos os hóspedes que chegaram ou saíram no período entre 01 e 27/08/97; a data de chegada de cada hóspede, a data de saída se houver, o quarto e o técnico de cada hóspede e por último o desconto se houver. Fig. 1.2 LISTA DE HÓSPEDES QUARTO TÉCNICO CHEGADA SAÍDA DESCTO JANE FYUNDAI 4 JÚLIO MARCELO FREITAS 2 BRUNA ALEXANDRE GOMES 1 RICARDO JOSÉ AUGUSTO 3 JÚLIO MAURÍCIO DE SOUZA 5 RICARDO BIANCA OLIVEIRA 6 BRUNA JANE FYUNDAI 7 SERENA STELLA SHIELDS 8 SERENA ALEXANDRE GOMES 9 BRUNA Nenhuma das colunas por si só poderá funcionar como chave primária, pois todas elas possuem valores duplicados, inclusive : Alexandre Gomes e Jane Fyundai estiveram hospedados duas vezes e por isso aparecem duas vezes na lista. Para estabelecermos uma chave para esta tabela, teremos que usar duas ou mais colunas conjuntamente. Este tipo de chave, envolvendo duas ou mais colunas, denomina-se chave composta ou chave primária composta. No exemplo (Fig. 1.2) as colunas que melhor se candidatam a formar chave composta são e CHEGADA. O e a CHEGADA combinados lhe permite distinguir uma linha da outra, ou seja, não há linhas com os valores de e CHEGADA iguais. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 5

7 2.A Linguagem SQL SQL é uma linguagem própria para a realização de operações relacionais. Em linhas gerais, é uma linguagem para gerenciar um sistema relacional. Através das declarações SQL, dados são recuperados, atualizados ou eliminados, colunas são alteradas, tabelas são criadas e eliminadas, e qualquer outras modificações são efetuadas na estrutura de um banco de dados. As declarações em SQL podem ser subdivididas em quatro categorias: queries, definição de dados, manipulação de dados e controle de dados Criando uma Tabela Usamos a declaração CREATE TABLE para criar uma tabela. As declarações abaixo criam as duas tabelas que já vimos anteriormente HÓSPEDES e LISTA DE HÓSPEDES. A tabela HÓSPEDES contém os dados de todos os hóspedes do Visual Spa, passados e atuais. A tabela LISTA DE HÓSPEDES registra as datas de entrada e saída, quartos ocupados, etc., de todas as pessoas que se hospedaram no spa no período de 01 e 27/08/1997. Observe que as declarações a seguir apenas criam as tabelas. Preenchê-las com dados constitui uma outra operação, que veremos posteriormente. CREATE TABLE HOSPEDES ( VARCHAR(25) NOT NULL, SEXO VARCHAR(1), BIOTIPO VARCHAR(1), ALTURA DECIMAL(3,2)); CREATE TABLE LISTA_DE_HOSPEDES ( VARCHAR(25) NOT NULL, QUARTO VARCHAR(3), TECNICO VARCHAR(8), CHEGADA DATE NOT NULL, SAIDA DATE, DESCONTO DECIMAL(2,2); As tabelas HOSPEDES e LISTA_DE_HOSPEDES já existem, embora vazias. A tabela HOSPEDES consiste das quatro colunas, SEXO, BIOTIPO e ALTURA; a LISTA_DE_HOSPEDES consiste das seis colunas, QUARTO, TECNICO, CHEGADA, SAIDA e DESCONTO. Observe que ambas das declarações CREATE TABLE terminam com um ponto e vírgula (;). Este é o sinal de que a declaração terminou. Embora esta não seja propriamente uma característica da SQL, todas as implementações interativas da SQL exigem um sinal indicativo de final de declaração. Algumas interfaces interativas, oferecem duas formas de marcar o término de uma declaração. A primeira e colocar um ponto e vírgula seguido de um retorno <ENTER> no final da última linha da declaração; a segunda e colocar na linha seguinte à última linha da declaração uma barra (/) e um retorno <ENTER> como mostramos nos exemplos abaixo: SELECT, ALTURA FROM HOSPEDES; ou SELECT, ALTURA FROM HOSPEDES / Ambos os métodos são muito usados, nesta apostila terminamos as declarações normalmente com o ponto e vírgula. Não existe regra quanto ao número de linhas de uma declaração SQL. Poderíamos ter escrito a declaração toda em uma linha só, o que ocuparia menos espaço. O ponto e vírgula ou a barra é obrigatório somente no final da última linha da declaração. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 6

8 2.2. Identificadores e Atributos Observe os dois traços sublinhados ( ) ligando as três palavras que compões o nome da tabela LISTA_DE_HOSPEDES. O traço sublinhado é um meio convencional para representar o espaço nos nomes de tabelas ou colunas que contêm mais de uma palavra. Ele têm por finalidade ligar uma palavra à outra, fazendo com que formem apenas um conjunto de caracteres, podendo se reconhecidas portanto como partes integrantes de um único nome Tipos de Dados A SQL padrão da ANSI reconhece dois tipos genéricos de dados seqüências ( strings ) de caracteres de dados numéricos, e oferece vários tipos particulares com diferentes características para atender às necessidades de cada coluna. Estes incluem CHAR (ou CHARACTER), para seqüências de caracteres, e os tipos NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION, para dados numéricos. Existem diversos tipos de dados implementados para duas outras categorias de dados. Uma delas abrange os dados tipo data e hora, representados em SQL Base pelos tipos DATE, TIME, TIMESTAMP; a outra é o tipo de dado LONG VARCHAR ou LONG, tipo genérico que pode armazenar qualquer categoria de dados, inclusive dados binários. Em SQL Base, os dados do tipo LONG podem ter um tamanho virtual qualquer (bilhões de bytes); em outras implementações, o limite normalmente é de 64 Kbytes Dados Caracteres Strings O tipo CHAR armazena seqüências de caracteres de tamanho fixo que consistem de letras, caracteres especiais ou dígitos, e cujo tamanho não pode ultrapassar 254 bytes. O tamanho máximo (até 255 caracteres) a ser aceito em uma coluna deve ser definido quando, ao criá-la, especificamos o atributo de tamanho. Todos os dados desta coluna são armazenados com o tamanho indicado quando da sua definição. Em SQL padrão, quando um dado possui um tamanho menor ao especificado para a coluna, espaços em branco são acrescentados à direita. Em SQL Base, estes dados podem definidos como CHAR ou VARCHAR Dados Numéricos O tipo NUMBER armazena números de 1.0E-100 a 1.0E+100, com, no máximo, 22 dígitos decimais de precisão. As colunas deste tipo não possuem indicações de precisão e escala em suas definições. O tipo DECIMAL armazena números de 1.0E-100 a 1.0E+100, com no máximo 22 dígitos decimais de precisão, mas, ao contrário do tipo NUMBER, as colunas DECIMAL têm que ter indicações de precisão e escala em suas definições. O tipo INTEGER armazena um número com até dez dígitos de precisão. Não são aceitos dígitos fracionários; os algarismos à direita do ponto decimal são truncados. O tipo SMALLINT armazena um número com até cinco dígitos de precisão. Da mesma forma que o tipo INTEGER, não são aceitos dígitos fracionários, os quais são truncados. O tipo FLOAT armazena um número decimal de ponto flutuante de dupla precisão ou precisão simples, dependendo da especificação de tamanho. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 7

9 Dados Data e Hora O tipo DATE armazena datas, que podem ser codificadas e exibidas em diversos formatos. O tipo TIME armazena horas, registrando até os microssegundos, sendo que podem também ser codificados e exibidas em diversos formatos. O tipo TIMESTAMP é usado em colunas criadas para armazenar data e hora ao mesmo tempo. Este tipo é uma combinação dos formatos DATE e TIME, sendo que os dados contêm ambos os componentes data e hora. Veja na tabela seguinte os formatos de datas convencionais mais importantes: Tabela Formatos de Datas Nome Formato Exemplo Organizações de Padrões Intern. aaaa-mm-dd Padrão IBM EUA (USA) mm/dd/aaaa 10/30/1998 Padrão IBM Europa (EUR) dd.mm.aaaa Padrão Industrial Japonês (JIS) aaaa-mm-dd Veja na tabela seguinte os formatos de datas convencionais mais importantes: Tabela Formatos de Horas Nome Formato Exemplo Organizações de Padrões Intern. hh.mm.ss Padrão IBM EUA (USA) hh:mm AM ou PM 2:30 PM Padrão IBM Europa (EUR) hh.mm.ss Padrão Industrial Japonês (JIS) hh:mm:ss 14:30: Incluindo Dados A declaração CREATE TABLE mostrada no início apenas criou as tabelas HOSPEDES e LISTA_DE_HOSPEDES, sem preenchê-las com dados. Para incluir dados nas tabelas, usamos uma outra declaração ou comando. Na linguagem SQL a única forma de incluir dados é através da declaração INSERT, que normalmente inclui uma única linha de cada vez. Só pode ser utilizada para incluir várias linhas se nela for inserida uma query que recupere de outra tabela os dados a serem incluídos. A declaração SQL abaixo ilustra a inclusão de uma única linha de dados na tabela LISTA_DE_HOSPEDES. A linha consiste de seis itens de dados, separados por vírgulas um item para cada uma das seis colunas da tabela LISTA_DE_HOSPEDES. O primeiro item de dados é incluído na primeira coluna da tabela, o segundo item na segunda coluna, e assim por diante, como se segue: INSERT INTO LISTA_DE_HOSPEDES (, QUARTO, TECNICO, CHEGADA, SAIDA, DESCONTO) VALUES ( CLOVIS ALMEIDA, 3, JULIO, , ,.2; Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 8

10 Como estamos incluindo dados em todas as colunas da tabela LISTA_DE_HOSPEDES, poderíamos omitir a lista dos nomes das colunas após o nome da tabela. Esta lista só é indispensável caso estejamos incluindo dados em apenas algumas colunas e não em todas; temos então que indicar os nomes das colunas que receberão dados. Nomeamos todas as colunas neste exemplo simplesmente para facilitar análise da declaração. Observe que os dados referentes às colunas, QUARTO e TECNICO estão entre apóstrofes ( ). Isto se deve ao fato de que os dados das três colunas são do tipo VARCHAR. Dados CHAR ou VARCHAR usados em declarações SQL devem aparecer entre apóstrofes. 3.Queries: Obtendo os Dados Desejados A query é o meio através do qual podemos pesquisar e obter dados das tabelas de um banco de dados. A seguir abordamos os seus elementos básicos, inclusive as duas cláusulas essenciais obrigatórias em todas as queries e uma terceira que contém a especificação das linhas em que estão os dados desejados Cláusulas SELECT e FROM Por mais básica que seja, uma query tem que ter pelo menos dois componentes uma cláusula SELECT e uma cláusula FROM. Em uma query simples, a cláusula SELECT enumera os nomes das colunas que contêm os dados desejados, e a FROM especifica as tabelas em que estão localizadas as colunas. A query mais simples possível seleciona todos os dados de todas as colunas da tabela. Entretanto, podemos restringir a cláusula SELECT de modo que se obtenha dados de apenas algumas colunas, ou, de outras formas, acrescentando qualificações. Podemos citar na cláusula SELECT colunas de mais de uma tabela, além de especificar várias operações a serem executadas sobre os dados e exibir os resultados das mesmas. O resultado da query é exibido em forma de tabela e é, às vezes, chamado de tabela resultado. As linhas do resultado representam os dados que atendem às condições estabelecidas ou são o produto das operações especificadas na query. Se não houver dados em nenhuma destas situações, não serão selecionadas linhas. Analisemos um exemplo de uma query e seu resultado. SELECT, QUARTO, TECNICO, CHEGADA, SAIDA, DESCONTO ; QUARTO TÉCNICO CHEGADA SAÍDA DESCTO JANE FYUNDAI 3 JÚLIO MARCELO FREITAS 2 BRUNA JANE FYUNDAI 4 SERENA ALEXANDRE GOMES 1 RICARDO JOSÉ AUGUSTO 7 JÚLIO MAURÍCIO DE SOUZA 5 RICARDO BIANCA OLIVEIRA 6 BRUNA STELLA SHIELDS 8 SERENA ALEXANDRE GOMES 9 BRUNA A query acima solicita todas as linhas de dados para todas as colunas da tabela LISTA_DE_HOSPEDES. Não acrescentamos qualificações, e, portanto, o resultado contém todos os dados destas colunas. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 9

11 Incidentemente, podemos usar um asterisco (*) em vez de nomes de colunas na cláusula SELECT. O asterisco representa os valores de todas as colunas. Usar o asterisco é o mesmo que nomear todas as colunas de uma tabela ou mais tabelas, na sua ordem original. Portanto, ao invés de digitar todos os nomes de colunas como fizemos no exemplo anterior, poderíamos ter obtido o mesmo resultado codificando a query assim: SELECT * ; Podemos selecionar de apenas algumas colunas e omitir outras. A query a seguir obtém os dados somente da coluna : SELECT ; Podemos evitar que dados sejam exibidos duplicados, usando a palavra-chave DISTINCT imediatamente após a palavra SELECT na cláusula SELECT para suprimir as linhas duplicadas do resultado. No exemplo abaixo a palavra-chave DISTINCT foi acrescentada na query anterior: SELECT DISTINCT ; A palavra-chave DISTINCT suprime apenas as linhas duplicadas do resultado, e não valores duplicados Cláusula WHERE A cláusula WHERE reduz o escopo da query focalizando apenas determinadas linhas. Ao invés de retornar os valores das expressões da cláusula SELECT de todas as linhas, uma query com uma cláusula WHERE retorna apenas os valores das linhas que atendam às condições especificadas na cláusula WHERE. Em outras palavras, uma query contendo a cláusula WHERE tem essencialmente o seguinte formato: SELECT o valor das expressões FROM estas tabelas somente nas linhas WHERE estas condições foram atendidas. As condições da cláusula WHERE são chamadas de condições de pesquisa. O exemplo abaixo seleciona dados das colunas e TECNICO da tabela LISTA_DE_HOSPEDES somente nas linhas em que o técnico for a Bruna. Em outras palavras, a query lista os nomes (e técnicos) de todas as pessoas cujo o técnico seja a Bruna: SELECT, TECNICO WHERE TECNICO = BRUNA ; MARCELO FREITAS BIANCA OLIVEIRA ALEXANDRE GOMES TÉCNICO BRUNA BRUNA BRUNA Não é obrigatório citar na cláusula WHERE somente colunas que apareçam na cláusula SELECT. A query anterior funcionaria da mesma forma se eliminássemos a coluna TECNICO da cláusula SELECT. SELECT WHERE TECNICO = BRUNA ; Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 10

12 MARCELO FREITAS BIANCA OLIVEIRA ALEXANDRE GOMES Predicados Relacionais No exemplo anterior, TECNICO = BRUNA é um predicado relacional. O sinal de igualdade (=) é um operador relacional simples. Existem nove operadores relacionais simples, que podem formar nove tipos de predicados relacionais simples para expressar condições de pesquisa. Existem ainda cinco outros tipos de predicados relacionais. Discutiremos todos os tipos existentes nos próximos tópicos. Predicados Relacionais Simples A query utilizada no último exemplo foi: SELECT WHERE TECNICO = BRUNA ; Como já foi dito, a query contém um operador relacional simples, o sinal de igualdade. Seu significado seria traduzido assim: SELECT o valor de e TECNICO FROM tabela LISTA_DE_HOSPEDES somente nas linhas WHERE o valor de TECNICO seja igual a BRUNA ; Os operadores relacionais simples são os nove abaixo: = igual a > maior que!< não menor que!= não igual a!> não maior que >= maior ou igual a <> não igual a < menor que <= menor ou igual a Outros Predicados Relacionais Além dos operadores já discutidos, há outros cinco que também podem ser usados para formar predicados relacionais. São eles: BETWEEN...AND IS NULL LIKE IN O operador BETWEEN especifica os dados compreendidos em uma determinada faixa. Pode ser usado tanto com números quanto com datas. Por exemplo, poderíamos obter os nomes e os percentuais de desconto de todos os hóspedes que tenham recebido de 10 a 20 por cento inclusive, como se segue: SELECT, DESCONTO WHERE DESCONTO BETWEEN.10 AND.20; DESCTO JANE FYUNDAI 0.20 MARCELO FREITAS 0.10 MAURÍCIO DE SOUZA 0.15 STELLA SHIELDS 0.15 ALEXANDRE GOMES 0.20 Podemos solicitar também os nomes e as datas de saída de todos os hóspedes que saíram do Spa entre 19 e 24 de agosto: Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 11

13 SELECT, SAIDA WHERE SAIDA BETWEEN AND ; SAIDA JOSE AUGUSTO BIANCA OLIVEIRA ALEXANDRE GOMES O operador IS NULL nos permite selecionar as linhas em que o valor de um determinado campo seja desconhecido. Por exemplo, as linhas de vários hóspedes ficaram com a SAIDA em branco. Podemos selecionar os nomes destes hóspedes utilizando o operador IS NULL. SELECT, SAIDA WHERE SAIDA IS NULL; MARCELO FREITAS JANE FYUNDAI STELLA SHIELDS SAIDA O operador LIKE nos permite utilizar caracteres máscara para comparar dados em uma condição de pesquisa. Em vez de os dados terem que ser idênticos, podemos especificar que sejam apenas semelhantes em algum aspecto. Podemos usar os dois caracteres máscara abaixo com o operador LIKE: _ (sublinhado) Vale por qualquer caractere único * (asterisco) Vale por qualquer seqüência de caracteres No contexto de um LIKE, o caractere de sublinhado ( _ ) funciona analogamente ao ponto de interrogação (?) do MS-DOS, que serve de caractere máscara em nomes de arquivos, e o símbolo de percentual (%) funciona analogamente ao asterisco (*). O exemplo de query abaixo usa o operador LIKE e um caractere máscara para selecionar todos os nomes que comecem com a seqüência de caracteres MA% ; SELECT WHERE LIKE MA% ; MARCELO FREITAS MAURICIO DE SOUZA A próxima query seleciona todos os nomes que tenham a letra J na primeira posição e N na quarta, não importando quais sejam os outros caracteres. SELECT WHERE LIKE J N ; JANE FYUNDAI Mais um exemplo: SELECT WHERE LIKE _AR_E% ; Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 12

14 MARCELO FREITAS O último operador a ser discutido neste tópico é o IN, que nos permite selecionar dados que se encaixem em um conjunto ou uma lista de valores. Os valores podem ser indicados explicitamente em uma declaração, como nos exemplos a seguir. A query abaixo seleciona o nome, o técnico e o quarto de cada hóspede cujo o técnico esteja presente na lista BRUNA, JULIO : SELECT, TECNICO, QUARTO WHERE TECNICO IN ( BRUNA, JULIO ); TÉCNICO QUARTO JANE FYUNDAI JÚLIO 3 MARCELO FREITAS BRUNA 2 JOSÉ AUGUSTO JÚLIO 4 BIANCA OLIVEIRA BRUNA 6 ALEXANDRE GOMES BRUNA 9 Todos os operadores relacionais também podem ser utilizados com o NOT. Na query abaixo, selecionamos o nome, o técnico e o quarto dos hóspedes cujo o técnico não esteja incluído na lista: SELECT, TECNICO, QUARTO WHERE TECNICO NOT IN ( BRUNA, JULIO ); QUARTO TÉCNICO ALEXANDRE GOMES 1 RICARDO MAURÍCIO DE SOUZA 5 RICARDO JANE FYUNDAI 7 SERENA STELLA SHIELDS 8 SERENA Vinculando Vários Predicados: AND e OR Podemos restringir ainda mais a seleção de linhas usando uma cláusula WHERE com mais de uma condição de pesquisa. Isto se faz possível através dos operadores AND e OR. Na query abaixo, selecionamos o nome, o técnico e o desconto dos hóspedes que ainda estão no Spa e cujo o técnico seja Serena: SELECT, TECNICO, DESCONTO WHERE SAIDA IS NULL AND TECNICO = SERENA TÉCNICO DESCTO JANE FYUNDAI SERENA STELLA SHIELDS SERENA 0.15 Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 13

15 Podemos acrescentar inúmeras condições à cláusula WHERE usando os operadores AND e OR. A próxima query acrescenta vários componentes: SELECT, QUARTO, TECNICO, CHEGADA, SAIDA WHERE SAIDA IS NULL AND TECNICO = ROBERTO AND QUARTO > 16 AND CHEGADA < ; 4.Queries: Manipulando Dados A linguagem SQL não nos limita a selecionar os dados exatamente na forma que aparecem nas tabelas. Como mencionamos anteriormente, podemos usar queries também para selecionar os resultados de operações realizadas sobre os dados. Neste tópico, descrevemos três elementos que viabilizam as operações realizadas sobre os dados em uma query. São eles: Operador aritmético; Funções agregadas; Funções não agregadas. Em cada caso, o operador ou função é usado com constantes, nomes de colunas e assim por diante para formar uma expressão nova Operadores Aritméticos São quatro os operadores aritméticos que podem formar expressões: + adição - subtração * multiplicação / divisão A query abaixo, usamos o operador de soma para adicionar 0.05 (uma constante) ao valor corrente de DESCONTO na linha de Marcelo Freitas. A cláusula SELECT contém duas expressões: e a expressão formada pelo operador aritmético, DESCONTO A tabela resultado deverá conter duas colunas, uma para cada expressão: SELECT, DESCONTO WHERE = MARCELO FREITAS DESCTO MARCELO FREITAS 0.15 Embora as regras variem de implementação para implementação, algumas permitem ainda o uso de operadores aritméticos com dados do tipo data e hora. Em SQL Base, por exemplo, a query abaixo pode ser usada para determinar por quantos dias ficaram no Spa os hóspedes que já foram embora. Este número é obtido subtraindo-se a data de chegada de saída. Outras implementações permitem queries semelhantes, mas não idênticas. SELECT, SAIDA - CHEGADA WHERE = MARCELO FREITAS Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 14

16 4.2. Funções As funções constituem mais uma forma de usar queries para manipular os dados das tabelas. Uma função retorna o valor resultante de uma determinada operação realizada sobre o seu argumento (ou argumentos). Uma função, como o seu argumento, representa um valor e é portanto uma expressão Funções Agregadas A característica marcante das funções agregadas é que produzem um único valor a partir de uma coluna inteira de dados. Portanto, enquanto qualquer outro tipo de expressão retorna um valor para cada linha, as funções agregadas retornam um valor que representa um agregado dos valores referentes às várias linhas. Por esta razão, são também chamadas de funções de colunas. Existem cinco funções agregadas. São elas: AVG(argumento) MAX(argumento) MIN(argumento) SUM(argumento) COUNT(argumento) Retorna a média dos valores do argumento Retorna o maior valor do argumento Retorna o menor valor do argumento Retorna o somatório dos valores do argumento Retorna a número de linhas do argumento As funções agregadas normalmente usam como argumento um nome de coluna ou uma expressão que tenha um nome de coluna como componente, mas podemos usá-las com qualquer expressão numérica ou de datas. A query a seguir lê todos os valores da coluna DESCONTO e fornece os percentuais médio, máximo e mínimo de desconto oferecidos aos hóspedes do Visual Spa. Como as função AVG, MÁX, MIN e SUM ignoram valores nulos, o valor AVG (média) é realmente o desconto médio apenas daqueles hóspedes que obtiveram algum desconto: SELECT AVG(DESCONTO), MAX(DESCONTO), MIN(DESCONTO) ; AVG(DESCONTO) MAX(DESCONTO) MIN(DESCONTO) Outros exemplos: SELECT MIN(DESCONTO) * AVG(SAIDA-CHEGADA) WHERE TECNICO = SENERA ; Funções Não Agregadas As funções não agregadas diferem das agregadas pelo fato de que não fornecem um único valor a partir de uma coluna inteira de dados. Em vez disto, as funções não agregadas, como todas as expressões que já discutimos (exceto as funções agregadas), retornam um valor para cada linha. Em SQL Base, as funções agregadas começam sempre com o mas esta convenção só pertence ao SQL Base. Nos outros aspectos, a sintaxe das funções não agregadas é igual a das agregadas: a função é seguida de seu argumento entre parênteses, por JOSE AUGUSTO ). Da mesma forma que as funções agregadas, as não agregadas podem ser usadas uma dentro da outra, de modo que o resultado da função interna seja usado como argumento da externa. Por exemplo, na função: JOSE AUGUSTO, retorna os cinco primeiros caracteres da seqüência JOSE AUGUSTO ( JOSE ), os quais compões o argumento da Esta função coloca apenas a primeira letra de cada palavra de seu argumento em letra maiúscula e as restantes em letra minúscula, como na representação de nomes próprios. Neste converte JOSE em Jose. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 15

17 Funções de Seqüências de Caracteres Como as funções não agregadas variam muito de implementação para implementação, esta apostila não se dispões a examiná-las detalhadamente. Apresentamos neste próximo tópico apenas alguns exemplos representativos oferecidos pelo SQL Base. O exemplo abaixo usa a (seqüência de caracteres). Colocamos a expressão seqüência de caracteres entre parênteses para indicar que esta função utiliza seqüências de caracteres como argumentos. Ela retorna o número de caracteres existentes no argumento. Neste caso, usamos a função para informar o número de caracteres de cada da tabela LISTA_DE_HOSPEDES: () JANE FYUNDAI 12 MARCELO FREITAS 15 JOSÉ AUGUSTO 12 BIANCA OLIVEIRA 15 ALEXANDRE GOMES 15 SELECT, ; JANE FYUNDAI MARCELO FREITAS JOSÉ AUGUSTO BIANCA OLIVEIRA ALEXANDRE GOMES (,5)) jane marce josé bianc alexan Funções de Data e Hora São funções que retornam informações sobre uma coluna de dados do tipo data ou hora ou geram resultados do tipo data ou hora. A função de por exemplo, seleciona apenas o dia do mês da DATA: SELECT, ; JANE FYUNDAI MARCELO FREITAS ALEXANDRE GOMES JOSÉ AUGUSTO Queries semelhantes podem ser criadas com Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 16

18 5.Organizando o Resultado 5.1. Cláusula GROUP BY A cláusula GROUP BY reúne diferentes linhas do resultado de uma query em conjuntos de acordo com as colunas nela mencionadas, chamadas colunas formadoras de grupos. As linhas são agrupadas de duas formas, ou em dois aspectos. A query abaixo exemplifica a primeira forma, na qual todas as linhas que contêm o mesmo valor na primeira coluna especificada são exibidas em grupos no resultado. Neste caso, a primeira coluna formadora de grupo é TECNICO. Todas as linhas que tenham o mesmo valor na coluna TECNICO aparecerão juntas no resultado: SELECT TECNICO, GROUP BY TECNICO, ; TÉCNICO BRUNA BRUNA BRUNA JÚLIO JÚLIO RICARDO RICARDO SERENA SERENA MARCELO FREITAS BIANCA OLIVEIRA ALEXANDRE GOMES JANE FYUNDAI JOSÉ AUGUSTO ALEXANDRE GOMES MAURÍCIO DE SOUZA JANE FYUNDAI STELLA SHIELDS Se houvesse linhas em que a coluna TECNICO estivesse em branco, ou seja, com um valor nulo para TECNICO, também seriam agrupadas. E as linhas são agrupadas da mesma maneira para cada coluna formadora de grupos subseqüente, embora isto não esteja aparente no exemplo dados pois só contém duas colunas. Obs.: As funções agregadas AVG, SUM, MAX, MIN e COUNT não podem ser usadas em cláusulas GROUP BY pois geram um único valor e por isso não podem agrupar linhas. A cláusula GROUP BY também pode ser usada em queries contendo uma cláusula WHERE. Neste caso, a GROUP BY é codificada depois da cláusula WHERE. Por exemplo, a query abaixo exibe os nomes dos hóspedes que chegaram depois do dia 15 de agosto por técnico: SELECT TECNICO, WHERE CHEGADA > GROUP BY TECNICO, ; 5.2. Cláusula HAVING A cláusula HAVING nos permite estreitar a área de atuação da cláusula GROUP BY da mesma forma que a cláusula WHERE estreita a área de atuação da cláusula SELECT, ou seja, através de uma condição de pesquisa. Ao contrário da cláusula WHERE, no entanto, a cláusula HAVING pode conter funções agregadas. Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 17

19 Uma nova tabela, HOSPEDES_PS, será usada nos exemplos deste tópico. Criamos uma tabela com a declaração CREATE TABLE abaixo. Esta tabela se destina a registrar as pesagens periódicas dos hóspedes do Visual Spa. CREATE TABLE HOSPEDE_PS (HOSPEDE VARCHAR(25) NOT FULL, PESO DECIMAL(4,1), QUANDO DATE); Chamamos a coluna DATE de QUANDO porque DATE é uma palavra reservada. As palavras reservadas não podem ser usadas como nomes de colunas ou outros identificadores, a não ser que entre aspas. Após a inclusão dos dados, a tabela HOSPEDE_PS tem a seguinte aparência: SELECT * FROM HOSPEDE_PS PESO QUANDO JANE FYUNDAI MARCELO FREITAS ALEXANDRE GOMES JOSÉ AUGUSTO MAURÍCIO DE SOUZA JANE FYUNDAI MARCELO FREITAS ALEXANDRE GOMES JOSÉ AUGUSTO MAURÍCIO DE SOUZA A tabela contém dois registros de peso para cada estada: um na data de entrada e outro na data de saída. A query a seguir indica os hóspedes que tiveram uma diferença acima de um entre seu peso mínimo e seu peso máximo. Observe a presença de funções agregadas na cláusula HAVING. SELECT HOSPEDE, MIN(PESO), MAX(PESO) MIN(PESO) FROM HOSPEDE_PS GROUP BY HOSPEDE HAVING MAX(PESO) MIN(PESO) > 1; MIN(PESO) MAX(PESO MAX(PESO)-MIN(PESO) ) MARCELO FREITAS ALEXANDRE GOMES JOSÉ AUGUSTO MAURÍCIO DE SOUZA Passemos para um outro exemplo. Esta query solicita o número de hóspedes orientados por cada técnico que trabalhou com mais de dois hóspedes: SELECT HOSPEDE, COUNT() FROM HOSPEDE_PS GROUP BY HOSPEDE HAVING CONT() > 2; 5.3. Cláusula ORDER BY A cláusula ORDER BY nos permite classificar as linhas do resultado alfabética e numericamente, em ordem crescente ou decrescente. O default é a ordem crescente. A cláusula ORDER BY é sempre a última cláusula da query. No exemplo a seguir, obtemos os nomes dos hóspedes classificados em ordem decrescente colocando a palavra DESC na cláusula ORDER BY depois do nome da coluna a ser ordenada. Usamos a palavra-chave DISTINCT para suprimir as linhas duplicadas: Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 18

20 SELECT DISTINCT ORDER BY DESC; STELLA SHIELDS MAURÍCIO DE SOUZA MARCELO FREITAS JOSÉ AUGUSTO JANE FYUNDAI JANE FYUNDAI BIANCA OLIVEIRA ALEXANDRE GOMES ALEXANDRE GOMES As classificações são, por default, efetuadas em ordem crescente, a não ser que seja indicada a palavrachave DESC após o nome da coluna. Porém, podemos também explicitar a ordem crescente para uma determinada coluna, usando-se a palavra-chave ASC após o nome da coluna na cláusula ORDER BY. 6.Junções: Queries que Envolvem Mais de uma Tabela Por muitas vezes, os dados que desejamos não estão contidos em uma só tabela. Por exemplo, para obter a altura e o nome do técnico de Bianca Oliveira, temos que pesquisar em duas tabelas. O nome de seu técnico está registrado na tabela LISTA_DE_HOSPEDES, mas sua altura só está contida na tabela HOSPEDES. Esta última, a qual já foi vista em tópicos anteriores, tem a seguinte aparência: SELECT * FROM HOSPEDES; SEXO BIOTIPO ALTURA JOSÉ AUGUSTO M M 1,67 MAURÍCIO DE SOUZA M M 1,72 BIANCA OLIVEIRA F G 1,65 JANE FYUNDAI F G 1,80 STELLA SHIELDS F M 1,65 ROGÉRIO NUNES M M 1,78 A query a seguir obtém a altura de Rogério Nunes : SELECT, ALTURA FROM HOSPEDES WHERE = BIANCA OLIVEIRA ; ALTURA BIANCA OLIVEIRA 1,65 A próxima query obtém seu técnico da tabela LISTA_DE_HOSPEDES: SELECT, TECNICO WHERE = BIANCA OLIVEIRA ; BIANCA OLIVEIRA TECNICO BRUNA Podemos, no entanto, obter as mesmas informações de uma só vez através de uma query chamada junção. Uma junção é uma query que obtém dados de mais de uma tabela ao mesmo tempo, baseando-se na condição de junção indicada na cláusula WHERE. Temos abaixo uma junção que fornece a altura e o técnico de todos os hóspedes: SELECT HOSPEDES., ALTURA, TECNICO Luis Fernando Calábria/Erick Franklin/Leonardo Bandeira Página 19

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

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

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

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

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

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 13 Agrupamento e sumário de dados Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os

Leia mais

SQL. Jacir de Oliveira, José Alencar Philereno. Faculdade de Informática de Taquara. Igrejinha - RS Brazil

SQL. Jacir de Oliveira, José Alencar Philereno. Faculdade de Informática de Taquara. Igrejinha - RS Brazil SQL Jacir de Oliveira, José Alencar Philereno Faculdade de Informática de Taquara Igrejinha - RS Brazil jacirdeoliveira@faccat.br, alencar@philler.com.br Resumo. Este artigo irá descrever a linguagem de

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

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

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

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

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

Á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

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

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

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

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

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

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

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

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

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

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

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

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

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

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

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

Laboratório de Banco de Dados II

Laboratório de Banco de Dados II Laboratório de Banco de Dados II Esquema de um banco de dados relacional Em aulas anteriores, vocês implantaram um projeto físico de banco de dados com todos os seus elementos, inclusive tratando do projeto

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 SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos

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. Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.

SQL. Structured Query Language. Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti. SQL Structured Query Language Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.br Sumário 1.CREATE TABLE... 5 1.1. Sintaxe... 5 1.2. A instrução CREATE TABLE

Leia mais

Programação SQL. INTRODUÇÃO II parte

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulaçã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

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

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

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

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

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

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

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

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

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

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

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 2 Introdução à SQL 2.1 Conceitos

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

COMANDOS PARA CONSULTA VIA SQL NO ACCESS

COMANDOS PARA CONSULTA VIA SQL NO ACCESS COMANDOS PARA CONSULTA VIA SQL NO ACCESS 1 Introdução ao SQL: SQL (Structured Query Language Linguagem de Consulta Estruturada) é uma linguagem desenvolvida para permitir que qualquer pessoa, mesmo não

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

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

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

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

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

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

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

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

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

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

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

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

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

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados Mysql Quanto mais informações você busca, mais você evolui. Vitor Ramos SQL Structured Query Language - Linguagem de Consulta Estruturada Desenvolvida pela IBM, nos anos 70; Inicialmente chamada SEQUEL

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

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

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

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

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

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

Este manual é dirigido a programadores que possuam alguma familiaridade com a linguagem SQL e está estruturado nos seguintes capítulos e apêndices:

Este manual é dirigido a programadores que possuam alguma familiaridade com a linguagem SQL e está estruturado nos seguintes capítulos e apêndices: 1 Apresentação O acesso a uma base OpenBase por comandos SQL é realizado pelo sistema TSQL. Para a sua utilização não é necessário efetuar previamente qualquer alteração ou adaptação nos dados da base.

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

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

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

Profº Aldo Rocha. Banco de Dados

Profº Aldo Rocha. Banco de Dados Profº Aldo Rocha Banco de Dados HOJE! CREATE TABLE com uma Chave primária Primeiramente façam um SELECT na tabela pessoa. Percebam que não há NENHUMA CHAVE PRIMÁRIA. utilizem o comando SHOW CREATE TABLE

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