Documente Academic
Documente Profesional
Documente Cultură
CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de dados.
DROP apaga um objeto do banco de dados.
Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar
um objeto, por exemplo, adicionando uma coluna a uma tabela existente.
outros comandos DDL:
ALTER TABLE
CREATE INDEX
ALTER INDEX
DROP INDEX
CREATE VIEW
DROP VIEW
Operadores Lógicos
AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam
corretos.
OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
NOT – Negação lógica. Devolve o valor contrário da expressão.
Operadores Relacionais
< – Menor que
> – Maior que
<> – Diferente de
!= – Diferente de (não é padrão ISO)
<= – Menor ou Igual que
>= – Maior ou Igual que
= – Igual a
BETWEEN – Utilizado para especificar um intervalo de valores.
LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de
dados."Like" + extensão % vai significar buscar todos resultados com o mesmo início da
extensão.
Funções de Agregação
As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para
devolver um único valor que se aplica a um grupo de registros.
AVG – Utilizada para calcular a média dos valores de um campo determinado.
COUNT – Utilizada para devolver o número de registros da seleção.
SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.
MAX – Utilizada para devolver o valor mais alto de um campo especificado.
MIN – Utilizada para devolver o valor mais baixo de um campo especificado.
Demonstrações:
Suponha a criação de uma base de dados de nome “senac” que possua um schema chamado
“Java” onde são postadas 03 tabelas: “album”, “cantores” e “musicas”.
Parte opcional:
WITH OWNER = postgres
Owner: Determina o dono da tabela
ENCODING = 'UTF8'
Enconding: Tipo de codificação para
LC_COLLATE = 'Portuguese_Brazil.1252'
trafego do dado
LC_CTYPE = 'Portuguese_Brazil.1252' Connection Limit: O valor -1 não impõe
CONNECTION LIMIT = -1; limites de conecções
Tabela album
Parte obrigatória:
Create Table: Cria a tabela.
( ): Os campos devem ser colocados
CREATE TABLE java.album dentre parênteses obedecendo a ordem:
( codigo integer NOT NULL, Nome do campo, tipo e atributo de
titulo character varying(50), obrigatoriedade:
tipo integer, Exemplo:
autor character varying(100), código -> nome do campo;
interprete integer, Integer -> tipo do campo;
ano date, NOT NULL -> atributo de obrigatoriedade;
saldo integer, Quando este atributo não for informado o
CONSTRAINT cod_pidx PRIMARY KEY campo não exige seu preenchimento;
(codigo) Constraint: Adiciona um elemento a
) tabela;
Primary Key: Cria um arquivo de índice de
chave primária para uma coluna da tabela.
Exemplo:
Constraint cod_pidx Primary Key (codigo):
Adiciona o arquivo cod_pidx com a coluna
codigo como chave primária.
Parte opcional:
WITH ( OIDS = FALSE): Desabilita a
identificação de colunas em face da
presença de uma chave primária. Quando
OIDS não for mencionado e não existir
WITH ( OIDS=FALSE); chave primária a tabela NÃO PODERÁ
ALTER TABLE java.album OWNER TO postgres; SER EDITADA.
ALTER TABLE java=album OWNER TO postgres:
Garante ao postgres o direito de alterar
as colunas da tabela
Tabela cantores
Exemplos:
Como não foi indicado o nome do schema a tabela será criada no schema public.
Exemplo 1:
ALTER TABLE frutas
SET SCHEMA java; Move a tabela para o schema Java;
Exemplo 2:
ALTER TABLE java.frutas
RENAME TO feira; Renomeia a tabela frutas para feira;
Exemplo 3:
ALTER TABLE java.feira
ADD COLUMN distribuidor character varying(50); Adiciona a coluna distribuidor do tipo
character varying e tamanho 50 à tabela feira;
Exemplo 4:
ALTER TABLE java.feira
ALTER COLUMN distribuidor SET NOT NULL; Determina a obrigatoriedade de
preenchimento da coluna distribuidor;
Exemplo 5:
ALTER TABLE java.feira
DROP CONSTRAINT codigo_idx; Deleta o arquivo código_idx (chave primária)
Exemplo 6:
ALTER TABLE java.feira
ADD CONSTRAINT distr_idx PRIMARY KEY (distribuidor); Cria o arquivo distr_idx com a
coluna distribuidor como chave primária;
Exemplos:
Inseri os dados expressos nas posições específicas das respectivas colunas da tabela album:
Album:
Preencha a tabela “cantores” com os seguintes dados:
Observe os registros : 5 e 7, e, 6 e 8 da tabela album, note que são semelhantes a única coluna
diferenciada é a coluna da chave (não aceita repetição), para consertar esta duplicidade usa-se
o comando UPDATE que altera dados em uma tabela.
Exemplos:
Exemplo 01:
UPDATE "java"."album"
SET titulo = 'A man a horse and a gun'
WHERE codigo = 7
Exemplo 02:
UPDATE "java"."album"
SET (titulo, autor) = ('Beep boop','Mahaju')
WHERE codigo = 8
Exemplo 03:
UPDATE "java"."album"
SET (autor) = ('Mahaju')
WHERE titulo = 'American Jail'
ATENÇÃO: Quando não for mencionada uma condição, (clausula where), todas as linhas são
alteradas
Observe os dados da tabela cantores, note que os cantores : Michael Jackson, Paul Macartney
e Johny Muschesse não possuem um álbum próprio nem interpretam nenhuma música de
algum álbum.
As consultas em tabelas exigem a presença do comando SELECT para seleção das colunas que
devem ser mostradas, FROM para determinar a tabela onde estão as colunas.
Exemplo 01:
SELECT codigo, titulo, autor Seleciona as colunas codigo, titulo e autor
FROM Java.album da tabela Java.album
Exemplo 02: A máscara * (asterisco), indica que todas as colunas foram selecionadas:
SELECT * Seleciona todas as colunas
FROM Java.album da tabela Java.album
O comando SELECT pode vir acompanhado da claúsula WHERE, que promove condições para a
seleção dos dados de uma ou mais colunas.
Exemplo 03:
SELECT * Seleciona todas as colunas
FROM Java.album da tabela Java.album
WHERE codigo > 4 onde o código é maior que 4
Exemplo 04:
SELECT * Seleciona todas as colunas
FROM Java.album da tabela Java.album
WHERE tipo < 4 and saldo < 10 onde o tipo é menor que 4 e o saldo é menor que 10
Exemplo 05: A clausula LIKE complementa o dado com qualquer sequencia de caracter na
posição do %:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome LIKE 'Maria%' onde o primeiro nome é Maria
Exemplo 06:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome LIKE '%Gadu' onde o último nome é Gadu
Exemplo 07:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome LIKE '%Ma%' onde o nome possua as letras Ma
Exemplo 08: A máscara _ (underline), indica que qualquer caracter pode ocupar sua posição:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome LIKE '%M_ria%' onde o nome possua as letras M ria e qualquer caracter
pode assumir a posição do underline
Exemplo 09: A clausula BETWEEN determina uma faixa para a seleção do dado:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE codigo BETWEEN 2 AND 5 onde o código é um valor entre 2 e 5
Exemplo 10: A clausula IN determina um conjunto de valores de dados para uma coluna:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE codigo IN (2,4,6) onde o código é igual a 2 ou igual a 4 ou igual a 6
Exemplo 11: A clausula IS NULL verifica se uma coluna não foi preenchida:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome IS NULL onde o nome nunca foi preenchido (é igual a nada)
Exemplo 12: A clausula IS NOT NULL verifica se uma coluna foi preenchida:
SELECT * Seleciona todas as colunas
FROM Java.cantores da tabela Java.cantores
WHERE nome IS NOT NULL onde o nome foi preenchido (é igual a qualquer valor )
Vimos que as consultas em tabelas exigem a presença do comando SELECT para seleção das
colunas que devem ser mostradas, FROM para determinar a tabela onde estão as colunas
e usamos o comando ORDER BY para determinar uma ordem para as consultas.
Exemplo 01:
SELECT * Seleciona todas as colunas
FROM Java.album da tabela Java.album
ORDER BY titulo, autor ordenando por titulo e autor
União de tabelas
A união de tabelas seguem o principio das chaves, onde uma coluna de chave primária de uma
tabela é comparada uma coluna de outra tabela servindo assim como chave estrangeira para a
união.
Exemplo:
SELECT * Seleciona todas as colunas
FROM java.cantores, java.album, java.musicas das tabelas cantores,album e musicas
WHERE java.album.codigo = java.musicas.album onde a coluna código de álbum é igual
a coluna álbum de musicas
and java.cantores.codigo = java.album.interprete a coluna código de cantores é igual a
coluna interprete de álbum
Observe