Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
universidadeciss
ndice
SQL e Infomaker ........................................................................................ 1
1.
Introduo ........................................................................................................................4
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. Introduo
A primeira verso da linguagem SQL, chamada SEQUEL (Structured Query English
Language), surgiu em 1974 nos laboratrios da IBM (Califrnia). Entre 1976 e
1977 ela foi revisada e ampliada, tendo ento o seu nome alterado para SQL. Devido
ao sucesso da nova forma de consulta e manipulao de dados dentro de um
ambiente de banco de dados, sua utilizao tornou-se cada vez maior, atualmente a
maioria dos Sistemas Gerenciadores de Banco de Dados (SGBD) utilizam o SQL
como a linguagem padro para o acesso de dados. Entre eles podemos citar: DB2
(IBM), ORACLE (Oracle Corporation) e SQL Server (Microsoft).
Em 1982 o American National Standard Institute (ANSI) tornou a SQL a linguagem
padro para a manipulao de dados em ambiente relacional.
2. A Linguagem SQL
A linguagem SQL pode ter vrios focos de utilizao, como por exemplo:
Linguagem Interativa de Consulta:
Atravs de comandos SQL os usurios podem montar consultas para extrao de
dados para diversos fins, sem a necessidade da criao de um programa para tal
necessidade, podendo utilizar ferramentas front-end para a construo de relatrios
e/ou anlises de BI (Business Intelligence).
Acesso ao Banco de Dados por Linguagens de Programao:
Comandos SQL embutidos em programas de aplicao (escritos em C, C++, Java,
Visual Basic e etc) acessam os dados armazenados em uma base de dados
relacional.
Administrao de Banco de Dados:
O responsvel pela administrao do banco de dados (DBA) pode utilizar comandos
SQL para realizar tarefas relacionadas com a manuteno dos schemas do banco de
dados.
CHAR
VARCHAR
LONGVARCHAR
NUMERIC
Nmeros decimais.
DECIMAL
Nmeros decimais.
BOOLEAN
INTEGER
BIGINT
DATE
Datas (YYYY/MM/DD).
TIME
Tempo (HH:MM:SS).
TIMESTAMP
Operadores Lgicos
Muitas vezes, apenas uma condio no o suficiente para determinarmos o critrio
de busca. Sempre que isso ocorrer, podemos utilizar operadores lgicos, veja na
tabela a seguir os operadores lgicos:
Operador
Significado
Exemplo
AND
OR
Ou
Condio 1 OR condio 2
NOT
No/Negao
NOT condio
Operadores Aritmticos
Operador
Significado
Exemplo
Subtrao
(Coluna1 Coluna2)
Adio
(Coluna1 + Coluna2)
Diviso
(Coluna1 / Coluna2)
Multiplicao
(Coluna1 * Coluna2)
>
Maior
Coluna1 > 0
<
Menor
Coluna1 < 1
>=
Maior ou Igual
Coluna1 >= 1
<=
Menor ou igual
Coluna1 <= 0
<>
Diferente
Coluna1 <> 0
Definio
<Nome_Tabela> Nome da tabela a ser criada.
<Descrio_Coluna> Descrio/Nome da coluna que est sendo criada.
<Tipo_De_Dado> Define o tipo dos dados que sero armazenados na coluna
(Nmeros Inteiros, Nmeros Decimais, Textos, Datas e etc).
<Aceita Nulos> Define se a coluna em questo aceita armazenar valores nulos.
<Chave Primria> Define se a coluna a chave primria da tabela que alm de no
poder receber valores nulos, deve ser uma coluna UNIQUE (sem repeties; isto ,
chave primria).
Criando a tabela FUNCIONARIO:
CREATE TABLE FUNCIONARIO
(
IDFUNCIONARIO
INTEGER
NOT NULL
NOME
VARCHAR(30),
DTNASCIMENTO
DATE,
VALSALARIO
DECIMAL(15,6),
FLAGINATIVO
CHAR(1)
PRIMARY KEY,
);
ALTER TABLE
O comando ALTER TABLE utilizado para alterar a estrutura de uma tabela. A
sua forma geral :
ALTER TABLE <nome_tabela> <alterao>;
Definio
<nome_tabela> dever ser substitudo pelo nome da tabela a ser alterada.
<alterao> deve ser substitudo pela sintaxe da alterao que ser feita na tabela.
Alterando a tabela FUNCIONARIO
ALTER TABLE FUNCIONARIO ADD COLUMN SEXO CHAR(1);
DROP TABLE
O comando DROP TABLE utilizado para deletar uma tabela. A sua forma geral
:
DROP TABLE <nome_tabela>;
Definio
<nome_tabela> dever ser substitudo pelo nome da tabela a ser excluda.
Deletando a tabela FUNCIONARIO:
DROP TABLE FUNCIONARIO;
Definio
<nome_tabela> dever ser substitudo pelo nome da tabela a ser alterada.
<nome_coluna> deve ser substitudo pelo nome da(s) coluna(s) que tero valor.
<valor> deve ser substitudo pelo valor inserido para a coluna correspondente.
UPDATE
O comando UPDATE utilizado para atualizar ou modificar os dados de uma
tabela. A sua forma geral :
UPDATE <nome_tabela> SET <nome_coluna> = <valor> WHERE <condicao>;
Definio
<nome_tabela> dever ser substitudo pelo nome da tabela a ser alterada.
<nome_coluna> deve ser substitudo pelo nome da(s) coluna(s) que tero valor
atualizado.
<valor> deve ser substitudo pelo valor atualizado para a coluna correspondente.
<condicao> deve ser substitudo pela condio que o comando vai respeitar.
DELETE
O comando DELETE utilizado para deletar os dados de uma tabela. A sua
forma geral :
DELETE FROM <nome_tabela> WHERE <condicao>;
Definio
<nome_tabela> dever ser substitudo pelo nome da tabela a ser alterada.
<condicao> deve ser substitudo pela condio que o comando vai respeitar.
SELECT
O comando SELECT utilizado para selecionar os dados de uma tabela. A sua
forma geral :
SELECT <nome_coluna> FROM <nome_tabela> WHERE <condicao>;
Definio
<nome_coluna> dever ser substitudo pelo nome da coluna a ser selecionada.
<nome_tabela> deve ser substitudo pelo nome da tabela a qual sero selecionados
os dados.
<condicao> deve ser substitudo pela condio que o comando vai respeitar.
Ao
COUNT
SUM
AVG
MIN
MAX
COUNT
Diferentemente das outras funes, o COUNT retorna o nmero de linhas que atende
a uma determinada condio. Podemos utiliz-lo com um asterisco entre parnteses,
para indicar que queremos saber a quantidade total de linhas, independentemente de
haver linhas com colunas nulas ou no. Assim se quisermos saber quantos produtos
existem na tabela PRODUTO rodamos o seguinte comando.
SELECT COUNT(*) FROM PRODUTO
SUM
Retorna o valor total de uma determinada coluna em um determinado grupo de linhas.
Assim, se quisermos saber o total do preo de um determinado produto, utilizamos o
comando:
SELECT SUM(PRECO) FROM PRODUTO
AVG
Extrai a mdia aritmtica de um determinado grupo de linhas. Para saber o preo
mdio dos Produtos, execute o seguinte comando:
SELECT AVG(PRECO) FROM PRODUTO;
MIN
Retorna o menor valor de uma coluna em um grupo de linhas. Podemos utiliz-la para
colunas do tipo data ou alfanumricas. Para saber o preo de venda mais barato da
loja, execute o seguinte comando:
SELECT MIN(PRECO) FROM PRODUTO;
MAX
Retorna o maior valor de uma coluna em um grupo de linhas. Igualmente ao MIN,
pode-se utiliz-la para colunas do tipo data ou alfanumricas. Para saber qual o
produto mais caro da loja, execute o seguinte comando:
SELECT MAX(PRECO) FROM PRODUTO;
Exemplos:
FROM
CONTAS_RECEBER,
(
SELECT
CLIENTE_FORNECEDOR.IDCLIFOR,
CLIENTE_FORNECEDOR.NOME
FROM
CLIENTE_FORNECEDOR
WHERE
CLIENTE_FORNECEDOR.FLAGINATIVO = 'F'
) AS CLIENTES
WHERE
CONTAS_RECEBER.IDCLIFOR = CLIENTES.IDCLIFOR
SELECT
CLIENTE_FORNECEDOR.IDCLIFOR
FROM
CLIENTE_FORNECEDOR
WHERE
CLIENTE_FORNECEDOR.FLAGINATIVO = 'F'
)