SQL - Structured Query Language

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

Download "SQL - Structured Query Language"

Transcrição

1 SQL - Structured Query Language

2 Pág.: 2/48 SUMÁRIO ARQUITETURA CLIENTE/SERVIDOR... 4 BANCOS DE DADOS BASEADOS NA ARQUITETURA CLIENTE/SERVIDOR... 4 VANTAGENS DA TECNOLOGIA CLIENTE/SERVIDOR... 5 SEPARAÇÃO DAS TAREFAS DE SOLICITAÇÃO E PROCESSO... 5 INDEPENDÊNCIA DA ESTAÇÃO DE TRABALHO... 5 PRESERVAÇÃO DA INTEGRIDADE DOS DADOS... 5 DESVANTAGENS... 5 CONECTANDO-SE AO BANCO DE DADOS ORACLE... 6 USUÁRIO... 6 SESSÃO/CONNECT... 6 SERVIDOR ORACLE... 6 SQL PLUS... 7 A INTERFACE SQL*PLUS... 7 COMANDOS GENÉRICOS DO SQL*PLUS... 8 OUTRAS FERRAMENTAS ORACLE... 9 FORMS... 9 REPORTS... 9 DESIGNER... 9 FUNDAMENTOS SQL - STRUCTURED QUERY LANGUAGE CONCEITOS DE BASE DE DADOS RELACIONAL TABLES Criação...11 Exclusão...12 Alteração...12 PRIMARY KEYS (Chave primária)...12 FOREIGN KEYS (Chave estrangeira)...13 UNIQUE KEY(Chave Única)...14 DATA MANIPULATION LANGUAGE (DML) BUSCANDO DADOS (SELECT) Considerações (ORACLE) Selecionando uma coluna específica de uma tabela Alterando o cabeçalho da coluna Mostrando cálculos sobre colunas Eliminando linhas duplicadas ORGANIZANDO DADOS (ORDER BY)... 19

3 Pág.: 3/48 Ordenação com múltiplas colunas Identificando colunas pelo número Outras formas de referenciar uma coluna no ORDER BY Considerações sobre o uso do ORDER BY (performance) USANDO CONDIÇÕES DE BUSCA Formas para comparar valores Usando valores calculados na cláusula WHERE Combinando condições (OR e AND) SINGLE-ROW FUNCTIONS CHARACTER FUNCTIONS NUMBER FUNCTIONS DATE FUNCTIONS Funções de conversão Principais formatos Date Principais formatos NUMBER NVL FUNCTION DECODE FUNCTION CASE EXPRESSION AGGREGATE FUNCTIONS Usando o WHERE Especificando uma coluna no COUNT Eliminando linhas duplicadas Agrupando Informações Coisas para lembrar quando usar o GROUP BY Usando ORDER BY com AGGREGATE FUNCTIONS Usando HAVING Considerações sobre o uso do GROUP BY (performance) ACESSANDO MÚLTIPLAS TABELAS Usando Alias Coisas para lembrar quando você usa um JOIN Considerações sobre JOINS USANDO UNION USANDO UMA SUBQUERY COM IN USANDO EXISTS Considerações sobre o uso de SUBQUERIES (Performance) CRIANDO TABELA ATRAVÉS DE UM SELECT COMANDOS ADICIONAIS SQL PLUS ALTERANDO O FORMATO PADRÃO DE DATA NO SQL PLUS ALTERANDO UMA TABELA (DADOS) INSERINDO DADOS EM UMA TABELA Inserindo linhas com um SELECT ALTERANDO DADOS DE UMA TABELA REMOVENDO DADOS DE UMA TABELA COMMIT ROLLBACK EXERCÍCIOS PROPOSTOS COMANDOS DDL BUSCANDO DADOS (SELECT) USANDO CONDIÇÕES DE BUSCA (WHERE) USANDO SINGLE-ROW-FUNCTIONS USANDO AGGREGATE FUNCTIONS ACESSANDO MÚLTIPLAS TABELAS (JOIN) ALTERANDO DADOS(INSERT, UPDATE, DELETE)... 48

4 Pág.: 4/48 ARQUITETURA CLIENTE/SERVIDOR PC-Cliente PC-Cliente PC-Cliente Servidor PC-Cliente PC-Cliente Impressora Exemplo simples de Arquitetura Cliente/Servidor baseada em Rede BANCOS DE DADOS BASEADOS NA ARQUITETURA CLIENTE/SERVIDOR Uma simples rede (LAN), como a exemplificada acima, é suficiente para comportar um banco de dados relacional (DBMS) de tecnologia Cliente/Servidor (C/S) como por exemplo o Oracle. Em linhas gerais, esta tecnologia tem como característica principal a divisão de tarefas entre o cliente, a estação de trabalho que ordena através das aplicações o acesso aos bancos de dados, e o servidor, que executa tarefas, tais como: atualizações, deleções, procura de dados e todas as outras tarefas próprias do gerenciamento de banco de dados, porém, sob as ordens da estação de trabalho (Cliente). A vantagem é evidente: dividindo o processamento em dois sistemas, temos de saída a diminuição do tráfego de dados na rede. Com isto, o desempenho aumenta pois evitaremos de processar os dados, fazendo-os transitar pela rede, entre a estação de trabalho e o servidor, pelo menos duas vezes. Ao invés disso, armazenamos os dados variáveis do processo em alguns parâmetros e os enviamos ao servidor. Estes ao chegarem são recepcionados pelo Oracle que os envia para Stored Procedure, que então inicia o processamento desejado até seu final de dentro do servidor, limitando-se a avisar a estação de trabalho o término do processo, com sucesso ou não. Porém, nem tudo são flores, existem também as desvantagens e a principal delas é o fato das estações de trabalho (Clientes) se localizarem em pontos geográficos distantes do servidor. Embora este problema possa hoje ser minimizado pela adoção das arquiteturas de processamento distribuído, por outro lado não sem um considerável investimento em equipamentos, aplicativos auxiliares e a contratação de especialistas. Este investimento acompanhado de despesas de manutenção constantes embora não signifique propriamente um retorno aos custos de um computador de grande porte, é porém um gasto significativo e que dependendo do tamanho e da complexidade da rede podemos até alcançar os custos de um grande porte.

5 Pág.: 5/48 VANTAGENS DA TECNOLOGIA CLIENTE/SERVIDOR SEPARAÇÃO DAS TAREFAS DE SOLICITAÇÃO E PROCESSO A primeira efetuada pela estação de trabalho e a última é feita no servidor, ou seja: as tarefas de tratar e manipular os dados. Como já dissemos o tráfego na Rede diminui sensivelmente, pois só é entregue os dados necessários solicitados pela pesquisa do cliente, e estes depois de tratados são atualizados ao final da transação no servidor. Ao contrário dos Sistemas de Bancos de Dados sem a tecnologia Cliente/Servidor, que disponibiliza todo o banco de dados, indiferente a necessidade quando da solicitação pelo Cliente. A tecnologia Cliente/Servidor é antes de tudo uma incrementadora de performance sem igual. INDEPENDÊNCIA DA ESTAÇÃO DE TRABALHO Os usuários não ficam restritos a um tipo de sistema ou plataforma. PRESERVAÇÃO DA INTEGRIDADE DOS DADOS Mesmo quando são efetuados Backups em tempo real ou até a encriptação dos dados. Nestes casos o DBMS, utiliza o espelhamento dos dados enquanto eles são acessados, gravando sempre a última fotografia dos dados antes da cópia de segurança. PROCESSAMENTO DE TRANSAÇÕES A grande vantagem deste método é guardar durante um certo tempo as modificações efetuadas no Banco de Dados. Podendo, recuperá-las em caso de queda de energia ou mesmo quando o usuário do Banco desiste da modificação. DESVANTAGENS A maior delas é o aumento do custo administrativo e a contratação de pessoal especializado para dar suporte e manter o Banco de Dados sempre ativo. Nasce o profissional Administrador de Bancos de Dados (DBA). O aumento do custo de hardware, também é significativo, pois parte integrante desta tecnologia Cliente/Servidor, exige a distribuição do processamento, quando a rede for grande. Quando da utilização do Processamento Distribuído a complexidade aumenta, o número de equipamentos diversos também aumenta, e nem sempre podemos encontrar profissionais no mercado com um conhecimento tão diversificado

6 Pág.: 6/48 Conectando-se ao Banco de Dados Oracle USUÁRIO Um usuário é um nome definido no banco de dados que pode conectar-se e acessar objetos. Um schema é o nome dado para a coleção de objetos, como tables, views, clusters, procedures, e packages, associados a um usuário em particular. Para acessar o banco de dados, o usuário deve executar uma aplicação de banco (como Oracle Forms SQL*Plus, etc...) e conectar-se usando o username definido no banco. Quando o usuário de banco é criado, um schema com o mesmo nome é criado para o usuário. Por default, estando o usuário conectado ao banco, ele tem acesso a todos os objetos contidos em seu correspondente schema. SESSÃO/CONNECT Uma sessão é uma conexão específica do usuário com o banco Oracle.Por exemplo, quando o usuário inicia o SQL*Plus, ele deve fornecer um usuário e senha válidos e então uma sessão é estabelecida para ele. Uma sessão permanece ativa enquanto o usuário não se desconectar ou sair de sua aplicação. Várias sessões podem ser criadas ao mesmo tempo com o mesmo usuário. Por exemplo, um usuário com o username/password SCOTT/TIGER pode conectar ao mesmo banco Oracle várias vezes no mesmo intervalo de tempo. SERVIDOR ORACLE O banco de Dados Oracle fica armazenado em um servidor de dados, no qual o usuário através de seu computador pessoal pode acessar as informações necessárias para sua aplicação(sql plus, forms, reports, designer,etc..).isto permite que vários usuários acessem o mesmo banco de dados de computadores diferentes, deixando todo o controle dos dados centralizado em um único servidor.

7 Pág.: 7/48 SQL PLUS A Interface SQL*PLUS O SQL*Plus é uma ferramenta ORACLE que permite a interface interativa com o RDBMS-ORACLE, dirigida por comandos e usada para manipular a Base de Dados. O SQL*Plus permite utilizar comandos SQL, comandos SQL*Plus juntamente com os comandos da linguagem procedural PL/SQL na montagem de procedures que necessitam de uma estrutura lógica de execução. Com o SQL*Plus podemos: - Criar tabelas no RDBMS-ORACLE. - Inserir informações nas tabelas. - Recuperar informações formatadas das tabelas. - Alterar informações nas tabelas. Chamando o SQL*Plus Existem duas formas de se executar o SQL*Plus: O SQL*Plus é chamado a partir do prompt do sistema operacional hospedeiro, para isto deve-se utilizar a seguinte sintaxe: Sqlplusw usuário [/ senha]@database SQL*Plus é executado a partir do WINDOWS. Conectando ao Banco Nome do Usuário Senha de Acesso Alias que define em que banco será conectado

8 Pág.: 8/48 Comandos Genéricos do SQL*Plus Comandos de Edição de Arquivo do SQL*Plus Comando Descrição SAVE arquivo Salva o buffer em um arquivo. A extensão padrão é.sql GET Carrega um arquivo no buffer REPLACE Sobrescreve o arquivo especificado com o buffer CHANGE ou C Muda o conteúdo da linha corrente do buffer corrente. / Executa o comando armazenado no buffer.não lista o comando. ; Indica o fim de um comando. Após pressionar <enter> o comando é executado. APPEND ou A Acrescenta ao final de um arquivo existente DEL Deleta a linha do buffer LIST ou L Lista a linha corrente START Executa um arquivo INPUT ou I Inclui novas linhas após a linha corrente do buffer EDIT Edita o buffer ou arquivo SPOOL arquivo Arquiva o resultado da QUERY. Com OFF encerra o spool, e com OUT imprime. SPOOL OFF OUT

9 Pág.: 9/48 OUTRAS FERRAMENTAS ORACLE FORMS É uma ferramenta para desenvolvimento rápido de aplicativos para Internet e clienteservidor de categoria empresarial centrados em bancos de dados. O sistema fornece um ambiente de desenvolvimento altamente produtivo com um conjunto de compiladores integrados, assistentes reentrantes, pré-visualizações em tempo real e paletas de propriedades. Tudo isso permite que os desenvolvedores construam de maneira fácil e rápida formulários, gráficos e lógica comercial sofisticados, multilíngües e altamente interativos de forma declarativa. Os aplicativos desenvolvidos com o Oracle Forms Developer podem ser imediatamente distribuídos na Internet com o Oracle9i Application Server. REPORTS Fornece os recursos necessários para criar rapidamente relatórios para a Web baseados em dados fornecidos dinamicamente pelo banco de dados. O Oracle Reports oferece total flexibilidade na formatação dos dados. Ele suporta vários tipos de relatórios, como tabelas, matrizes, relatórios de grupo e gráficos, bem como um número ilimitado de combinações desses formatos. Os usuários têm a possibilidade de combinar várias consultas em um único relatório de alta qualidade e podem ter acesso às informações do Oracle8i, Oracle Express e qualquer fonte ODBC (Open Database Connectivity), incluindo bancos de dados de outros fornecedores. DESIGNER Ferramenta CASE para a modelagem de sistemas complexos com Reengenharia de Processos de Negócios, análise e geração automática de aplicações cliente/servidor. Facilita a administração do desenvolvimento de sistemas corporativos, visando aumentar a produtividade e integridade das aplicações, além de fornecer a documentação completa de sistemas. Possui total integração com o banco de dados e as ferramentas de desenvolvimento da Oracle, como o Developer/2000.

10 Pág.: 10/48 FUNDAMENTOS SQL - Structured Query Language SQL significa Structured QUERY Language. SQL é usado para a comunicação com base de dados. É um grupo de facilidade para definição, manipulação e controle de dados em um banco de dados relacional. De acordo com a ANSI (American National Standards Institute), esta é a linguagem padrão para a administração de base de dados relacional. Historicamente isso começou em 1970, com um trabalho publicado por E.F. Codd, chamado "A Relational Model of Data for Large Shared Data Banks, o qual estabeleceu o modelo Relacional. No final da década de 70 e início de 80, a ORACLE lançou o primeiro banco de dados relacional comercial baseado na tecnologia SQL. Em seguida a IBM lançou o seu produto que hoje é conhecido como DB2. A partir de 1982 se tornou padrão supervisionado pelo ANSI e em 1989 aconteceu a mesma o mesmo com a ISO (International Standards Organization). Alguns dos mais comuns bancos de dados relacionais são : ORACLE, Sybase, Microsoft SQL Server, Access, Ingres, etc. Embora a maior parte usa SQL, muitos adicionam suas próprias extensões, que são usadas unicamente nos seus sistemas. No entanto, os comandos standarts do SQL como "Select", "Insert", "Update", "Delete", "Create", and "Drop" podem ser usados sem a necessidade de alterações. O que o SQL pode fazer? Você pode usar SQL para : DDL-Data Description Language : Você usa comandos DDL para definir uma base de dados e tabelas. Exemplo : CREATE TABLE... Comando utilizado para a criação de uma tabela. DCL-Data Control Language : Você usa comandos DCL para controlar acessos a dados (tabelas). Exemplos : GRANT / REVOKE Comandos utilizados para dar acesso e remover acesso de um objeto a um usuário. DML-Data Manipulation Language : Você usa comandos DML para manipular dados em tabelas. Exemplos : INSERT / UPDATE / DELETE / SELECT Comandos utilizados para inserir, alterar, remover e buscar informações de uma tabela.

11 Pág.: 11/48 Conceitos de Base de Dados Relacional Uma base de dado relacional é uma coleção de tabelas contendo dados. Uma tabela consiste de colunas (atributos que descrevem a tabela) e linhas (a atual ocorrência de dados). Tais dados, podem ser acessados facilmente e rapidamente em uma base de dados relacional e visualizado em formato tabular. TABLES Base de dados relacionais apresentam informações através de uma coleção de tabelas. As tabelas abaixo representam uma base de dados relacional. EMPREGADO DEPARTAMENTO COD_EMP NOME_EMP COD_DEPT COD_DEPT NOME_DEPT JOÃO MARKETING 2437 CARLOS MANUTENÇÃO 2898 PEDRO INFORMÁTICA 2899 MARIA INFORMÁTICA Uma tabela consiste de colunas (COLUMNS) e linhas (ROWS). Colunas COD_DEPT NOME_DEPT MARKETING --> ROWS 4600 MANUTENÇÃO Criação Sintaxe : CREATE TABLE table_name ({column_name data_type [NOT] [NULL] [DEFAULT expression]} DEFAULT expression => define que quando não for atribuído um valor para a coluna no insert, o campo assumirá o valor da expression. Exemplo : CREATE TABLE EMPREGADOS (ID NUMBER(4) NOT NULL, DEPT_ID NUMBER(2), CIDADE VARCHAR2(20) DEFAULT 'Porto Alegre')

12 Pág.: 12/48 Exclusão Sintaxe : DROP TABLE table_name Exemplo : DROP TABLE EMPREGADOS Alteração Sintaxe : ALTER TABLE table_name [ADD {(column_name data_type [NOT] [NULL] [DEFAULT expression])}] [MODIFY {(column_name data_type [NOT] [NULL] [DEFAULT expression])}] [DROP COLUMN column_name] Exemplo : ALTER TABLE EMPREGADOS ADD(IDADE NUMBER(2) NOT NULL) ALTER TABLE EMPREGADOS MODIFY(CIDADE VARCHAR2(30)); ALTER TABLE EMPREGADOS DROP COLUMN CIDADE; PRIMARY KEYS (Chave primária) Um negócio freqüentemente precisa evitar que linhas (ROWS) duplicadas sejam armazenadas em uma mesma tabela. Por exemplo, cada empregado da companhia precisa um identificador único. Esta é a forma de distinguir dois empregados com o mesmo nome. Você não quer armazenar dois empregados que tenham o mesmo código. Para assegurar que linhas duplicadas não sejam armazenadas, uma coluna ou a combinação de colunas é identificado como PRIMARY KEY de uma tabela quando definida. Cada entrada na coluna PRIMARY KEY precisa ser única. COD_EMP NOME_EMP COD_DEPT SALARIO JOÃO CARLOS PEDRO MARIA 5100

13 Pág.: 13/48 Exemplo : CREATE TABLE EMPREGADOS (ID NUMBER(4) NOT NULL CONSTRAINT EM_PK PRIMARY KEY, DEPT_ID NUMBER(2), CIDADE VARCHAR2(20)) ALTER TABLE EMPREGADOS DROP CONSTRAINT EM_PK ALTER TABLE EMPREGADOS ADD CONSTRAINT EM_PK PRIMARY KEY(ID) FOREIGN KEYS (Chave estrangeira) O relacionamento entre tabelas é feito pela definição de FOREIGN KEYS. Uma FOREIGN KEY é um valor ou combinação de valores em uma tabela que existe como uma PRIMARY KEY em outra tabela. Os nomes das colunas que fazem parte de uma FOREIGN KEY não precisam ser o mesmo das colunas PRIMARY KEYS. COD_EMP NOME_EMP COD_DEPT SALARIO JOÃO CARLOS PEDRO MARIA COD_DEPT NOME_DEPT MARKETING 4600 MANUTENÇÃO 5100 INFORMÁTICA Exemplo : CREATE TABLE EMPREGADOS (ID NUMBER(4) NOT NULL, DEPT_ID NUMBER(2) CONSTRAINT DEPT_FK REFERENCES DEPT(DEPTNO), CIDADE VARCHAR2(20)) ALTER TABLE EMPREGADOS DROP CONSTRAINT DEPT_PK ALTER TABLE EMPREGADOS ADD CONSTRAINT DEPT_FK FOREIGN KEY(DEPT_ID) REFERENCES DEPT(DEPTNO)

14 Pág.: 14/48 UNIQUE KEY(Chave Única) Designa uma coluna ou uma combinação de colunas como uma chave única. Duas linhas na tabela não podem ter o mesmo valor para a unique key. Exemplo : ALTER TABLE EMPREGADOS ADD CONSTRAINT DEPT_UN UNIQUE(DEPT_ID) ALTER TABLE EMPREGADOS DROP CONSTRAINT DEPT_UN

15 Pág.: 15/48 DATA MANIPULATION LANGUAGE (DML) Você usa comandos DML para manipular dados em tabelas. Existem quatro comandos DML básicos : SELECT INSERT UPDATE DELETE Buscando dados (SELECT) Para retornar dados de uma base de dados, você usa o comando SELECT, provavelmente o mais utilizado dos comandos SQL. Sintaxe (simplificada) : SELECT [ALL DISTINCT ] - Seleciona colunas {* [[user.].table.column expression,...]} FROM table_name,[table2] - Define tabelas [WHERE] condiction - Restringe linhas [GROUP BY]... - Agrupamento [HAVING]... - Restringe linhas de grupo [ORDER BY]... - Ordena o resultado Selecionando todas as colunas de uma tabela Utiliza-se o * quando pretende-se selecionar todas as colunas de uma tabela. SELECT * FROM departamento COD_DEPT NOME_DEPT MARKETING 4600 MANUTENÇÃO 5100 INFORMÁTICA 3 ROWS SELECTED

16 Pág.: 16/48 Considerações (ORACLE) Embora a utilização do * em um SELECT facilite a programação, a sua utilização não é recomendada em PL/SQL. Segue abaixo alguns problemas: Se o SELECT possui a cláusula INTO e o resultado é atribuído a um conjunto fixo de variáveis, a simples adição de uma coluna na tabela envolvida em um SELECT pode tornar o programa inválido. SELECT * INTO COD_EMP,NOME_EMP,COD_DEPT,SALARIO,TELEFONE WHERE COD_EMP = 1; Se for adicionado uma coluna na tabela empregado, este comando ficará inválido. INTO é uma cláusula do SELECT utilizada em PL/SQL para definir o resultado do SELECT. Quando o ORACLE executa um SELECT, os dados são jogados em uma área denominada DATABASE BUFFER CACHE. Isto significa que um SELECT com * sempre irá armazenar o registro inteiro nesta área, mesmo que somente uma variável seja utilizada. Um SELECT com * sempre irá fazer um acesso a tabela mesmo com a presença de índice. As linhas não são ordenadas Não existe comportamento referente a ordem que as linhas são retornadas do banco de dados. Selecionando uma coluna específica de uma tabela Se você quiser selecionar uma determinada coluna de uma tabela, especifique o nome da coluna que você deseja ver. Coloque virgula entre nomes de colunas caso deseje especificar mais de uma. SELECT cod_dept FROM departamento COD_DEPT ROWS SELECTED

17 Pág.: 17/48 Alterando o cabeçalho da coluna No resultado de uma QUERY (SELECT), cada coluna tem um identificador (cabeçalho). O cabeçalho por DEFAULT é o nome da coluna que está especificado na definição da tabela. Para tornar o cabeçalho de uma coluna mais significativo, adicione AS e o nome que você que usar depois de cada coluna. SELECT cod_dept AS "Código do Departamento" FROM departamento Código do Departamento ROWS SELECTED Mostrando cálculos sobre colunas Você pode usar expressões aritméticas para calcular novos valores de uma coluna. Use os seguintes símbolos para operações aritméticas : Símbolo Significado * Multiplicação / Divisão + Adição - Subtração SELECT cod_emp, salario, salario * 1.30 AS "Novo Salário" FROM empregado COD_EMP SALARIO Novo Salário ROWS SELECTED Atenção : o resultado de qualquer coluna envolvendo um campo NULL é sempre NULL.

18 Pág.: 18/48 Eliminando linhas duplicadas Algumas vezes o resultado de um comando SELECT pode retornar linhas idênticas. Para eliminar a duplicidade no retorno da consulta (QUERY), adicione o DISTINCT após o SELECT. 1) SELECT cod_dept FROM empregado COD_DEPT Linhas Duplicadas ROWS SELECTED 2) SELECT DISTINCT cod_dept FROM empregado COD_DEPT ROWS SELECTED

19 Pág.: 19/48 Obs.: A cláusula DISTINCT deve ser evitada quando possível. A adição do DISTINCT ocasiona degradação de performance. Visto que, é necessário um processo (passo) adicional para eliminar as linhas duplicadas. Organizando dados (ORDER BY) Se você quiser trazer o resultado de uma consulta em uma ordem específica, use a cláusula ORDER BY. A Cláusula ORDER BY deve ser o último comando do SELECT. SELECT * FROM empregado ORDER BY nome_emp COD_EMP NOME_EMP COD_DEPT SALARIO TELEFONE CARLOS JOÃO MARIA PEDRO Você pode especificar ainda se a ordem será ascendente ou descendente. Para isto adicione as cláusulas ASC ou DESC após a coluna especificada no ORDER BY. O DEFAULT é ASC. SELECT * FROM empregado ORDER BY nome_emp DESC COD_EMP NOME_EMP COD_DEPT SALARIO PEDRO MARIA JOÃO CARLOS Ordenação com múltiplas colunas Você pode especificar mais colunas na cláusula ORDER BY. Para isto, adicione uma virgula e a segunda coluna desejada. Esta segunda coluna determinará a ordem caso os valores das primeiras colunas sejam iguais.

20 Pág.: 20/48 SELECT * FROM empregado ORDER BY cod_dept, nome_emp desc COD_EMP NOME_EMP COD_DEPT SALARIO CARLOS JOÃO PEDRO MARIA Identificando colunas pelo número Cada coluna especificada no SELECT recebe um número. Este número é determinado pela ordem correspondente no SELECT. Você pode usar este número para identificar a coluna na cláusula ORDER BY SELECT cod_emp, nome_emp, cod_dept FROM empregado ORDER BY 2 Você pode ainda referenciar uma coluna pelo número de uma coluna calculada. SELECT cod_emp, nome_emp, cod_dept, salario * 1.30 FROM empregado ORDER BY 4 Outras formas de referenciar uma coluna no ORDER BY Segue abaixo alguns exemplos da utilização de colunas na cláusula ORDER BY. SELECT cod_emp AS "codigo" FROM empregado ORDER BY "codigo"

21 Pág.: 21/48 SELECT cod_emp codigo FROM empregado ORDER BY codigo SELECT cod_emp AS "codigo" FROM empregado ORDER BY cod_emp SELECT cod_emp FROM empregado ORDER BY salario Considerações sobre o uso do ORDER BY (performance) Uso do ORDER BY em SELECT gera a necessidade da execução de uma ordenação por parte do servidor ORACLE. Tal ordenação é executada em memória após a busca dos dados. Quando o conjunto a ser ordenado é muito grande, a etapa de ordenação pode consumir muito tempo. Também o uso de mais de uma coluna na cláusula ORDER BY associado com um grande volume de informações pode causar degradação de performance. Quando um SELECT possui um ORDER BY com colunas que fazem parte de um índice, a etapa de ordenação não é necessária. Visto que, os valores já se encontram ordenados no índice, exceto com a utilização da cláusula DESC. USANDO CONDIÇÕES DE BUSCA Freqüentemente você precisa retornar apenas algumas linhas de uma tabela. Você já aprendeu como limitar o número de colunas que serão mostradas. Agora você aprenderá a limitar o número de linhas a serem mostradas através do uso da cláusula WHERE. A cláusula WHERE especifica o critério usado para selecionar as linhas de uma tabela. Componentes da cláusula WHERE A cláusula WHERE é composta de dois componentes. Sintaxe : WHERE condição - A palavra WHERE - Uma condição de busca

22 Pág.: 22/48 Formas para comparar valores Você pode usar estes operadores para comparar valores. Operador de Comparação Significado = Igual <>,!= Diferente > Maior que < Menor que >= Maior ou Igual <= Menor ou igual Você pode usar ainda esta outras palavras para comparar valores Palavra Significado IS NULL Verifica se o valor é nulo (NULL) BETWEEN Verifica o valor dentro de um intervalo IN Verifica o valor dentro de uma lista LIKE Verifica colunas baseado em uma combinação de caracteres Exemplos 1) SELECT nome_emp,salario WHERE cod_dept = ) SELECT nome_emp,salario WHERE salario > ) SELECT nome_emp,salario WHERE salario >= ) SELECT nome_emp,salario WHERE salario <= ) SELECT nome_emp,salario WHERE NOT salario = 5000 (ou salario <> 5000 )

23 Pág.: 23/48 6) SELECT nome_emp,salario WHERE salario IS NULL 7) SELECT nome_emp,salario WHERE salario IS NOT NULL 8) SELECT nome_emp,salario WHERE salario BETWEEN 5000 AND ) SELECT nome_emp,salario WHERE salario NOT BETWEEN 5000 and ) SELECT nome_emp,salario WHERE salario IN (1200, 1500) 11) SELECT nome_emp WHERE nome_emp IN ('JOÃO','MARIA') 12) SELECT nome_emp WHERE nome_emp LIKE 'J%' 13) SELECT nome_emp WHERE nome_emp LIKE '%O' 14) SELECT nome_emp WHERE nome_emp LIKE '%O%' 15) SELECT nome_emp FROM nome_emp LIKE '_A%' 16) SELECT nome_emp WHERE NOT LIKE 'J%'

24 Pág.: 24/48 Usando valores calculados na cláusula WHERE Você pode usar uma expressão aritmética para calcular um valor para uma condição de busca. SELECT nome_emp,salario WHERE salario * 1.30 > 1800 Combinando condições (OR e AND) Você pode combinar condições através do uso do AND e OR. Exemplos 1) SELECT nome_emp WHERE salario > 1000 AND cod_dept = ) SELECT nome_emp WHERE salario > 1000 OR cod_dept = ) SELECT nome_emp WHERE salario > 1000 AND cod_dept = 5100 OR nome_emp = 'MARIA'

25 Pág.: 25/48 SINGLE-ROW FUNCTIONS O que é uma single-row function? São funções que operam em um único registro e retornam um único resultado por registro. Há diferentes tipos de single-row functions. Segue abaixo as principais : - Character - Number - Date - Conversion CHARACTER FUNCTIONS Segue abaixo as principais funções para manipulação de caracteres. FUNCTIONS LOWER( ) UPPER( ) INITCAP( ) CONCAT( collumn1, collumn2) SUBSTR (collumn1, m [,n]) LENGTH( ) INSTR(column, m) LPAD (column, n, 'string') RPAD (column, n, 'string') LTRIM ( ) TRIM( ) Exemplos FUNCTIONS RESULTADO LOWER ('Teste de Funções') teste de funções UPPER ('Teste de Funções') TESTE DE FUNÇÕES INITCAP ('Teste de Funções') Teste De Funções CONCAT ('Teste de ','Funções') Teste de Funções INSTR ('Teste','s') 3 SUBSTR ('Teste de Funções',10,7) Funções LPAD ('Teste',10,'*') *****TESTE RPAD ('Teste,10,'*') TESTE***** LTRIM (' Teste') Teste RTRIM ('Teste ') Teste TRIM (' Teste ') Teste

26 Pág.: 26/48 NUMBER FUNCTIONS Segue abaixo as principais funções para manipulação de números. FUNCTIONS ROUND (column,n) TRUNC(column,n ) MOD(m,n) POWER (m,n) SIGN (m) OBJETIVO Arredonda a coluna para n casas decimais. Se n não é informado, arredonda para inteiro. Trunca a coluna para n casas decimais. Se n é omitido, trunca para um numero inteiro. Retorna o resta da divisão Eleva m sobre n Retorna -1 se m é negativo, 1 de m é positivo e 0 se é 0 Exemplos FUNCTIONS RESULTADO ROUND (5.678,2) 5.68 ROUND (5.674,2) 5.67 ROUND (5.674) 6 ROUND ( ,-2) 26 TRUNC(5.678,2) 5.67 TRUNC(5.678) 5 MOD(1250,500) 250 POWER (2,3) 8 SIGN (-100) -1 SIGN (100) 1 SIGN (0) 0 DATE FUNCTIONS O ORACLE armazena datas em interno numérico formado : Século, ano, mês, dia hora, minutos e segundos. Segue abaixo alguma operações que podemos realizar com campos do tipo date. Operação Resultado Descrição Date + Number Date Adiciona o numero de dias da data Date Number Date Subtrai um numero de dias da data Date Date Number Retorna o intervalo de dias entre as duas datas Date + Number/24 Date Adiciona o número de horas na data

27 Pág.: 27/48 Segue abaixo algumas funções disponibilizadas pelo ORACLE. FUNCTIONS MONTHS_BETWEEN(date1,date2) ADD_MONTHS(date,n) NEXT_DAY(date,char) LAST_DAY(date) ROUND (date[,'fmt']) TRUNC (date[,'fmt']) OBJETIVO Retorna o numero de meses entre duas datas Adiciona um numero de meses a uma data Retorna a próximo dia com base em uma data. Char significa o dia da semana. Retornar a próxima segunda feira : NEXT(SYSDATE,'MON') Retorna o ultimo dia do mês com base na data Arredonda uma data Trunca um data Exemplos Functions Resultado MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') ADD_MONTHS ('11-JAN-94',6) '11-JUL-94' NEXT_DAY ('01-SEP-95','FRIDAY') '08-SEP-95' LAST_DAY ('01-SEP-95') '30-SEP-95' ROUND ('25-JUL-95','MONTH') '01-AUG-95' ROUND ('25-JUL-95','YEAR') '01-JAN-96' TRUNC ('25-JUL-95','MONTH') '01-JUL-95' TRUNC ('25-JUL-95','YEAR') '01-JAN-95' Funções de conversão outro. Segue abaixo as principais funções utilizadas para conversão de um tipo de dados para FUNÇÃO TO_CHAR(number date[,'fmt']) TO_NUMBER(char) TO_DATE(Char[,'fmt']) OBJETIVO Converte um number ou data para um varchar2 de acordo com o formado definido em fmt Converte um caracter para number Converte um caracter para date

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

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

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

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

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

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

Leia mais

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

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

Leia mais

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

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

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

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

MODELO DE DADOS VS ESQUEMA

MODELO DE DADOS VS ESQUEMA MODELO DE DADOS VS ESQUEMA Um modelo de dados é um conjunto de conceitos usados para se descrever dados. Um esquema é uma descrição de uma determinada coleção de dados, descrição essa baseada num certo

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

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

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 Oracle 10g: Introdução à Linguagem SQL

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

Leia mais

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

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

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

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

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

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

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

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

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

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

Controle de transações em SQL

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

Leia mais

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

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

Leia mais

Á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

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

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

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

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

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

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

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

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

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

Bases de Dados. DML Data Manipulation Language Parte 1

Bases de Dados. DML Data Manipulation Language Parte 1 Bases de Dados DML Data Manipulation Language Parte 1 DML Data Manipulation Language Diz respeito à manipulação dos dados. É utilizada para: Inserir dados numa tabela(tuplos) Remover dados de uma tabela(tuplos)

Leia mais

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Conceitos da arquitetura Oracle e da Linguagem SQL Recuperar dados por meio de SELECT Criar relatórios de dados classificados

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

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

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

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

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

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio MySQL Query Browser Após usarmos o ambiente MySQL Monitor, que

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

Principais Instruções em SQL

Principais Instruções em SQL Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]

Leia mais

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

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

Leia mais

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

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

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

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

Oracle PL/SQL Overview

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

Leia mais

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico Edital de seleção Nome: Oracle 10g Express Edition XE nível básico Coordenador Geral: Profº Mestre Luis Naito Mendes Bezerra Área

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

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

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

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

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

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

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

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

Leia mais

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

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

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

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

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

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

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

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

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

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

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

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

www.eversantoro.com.br RECUPERANDO DADOS eversantoro

www.eversantoro.com.br RECUPERANDO DADOS eversantoro www.eversantoro.com.br RECUPERANDO DADOS eversantoro Usando funções de uma única linha para personalizar a saída eversantoro Funções SQL Entrada Saída Função arg 1 arg 2 A função executa a ação Valor do

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

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

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

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

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

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual do Sistema Vida Controle de Contatos Editorial Brazil Informatica Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...

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

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV 8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir

Leia mais

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010 BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language

Leia mais

Tarefa Orientada 19 Triggers

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

Leia mais

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

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais