Aula02 - Eduardo Santos

Propaganda
Treinamento PostgreSQL - Aula 02
Eduardo Ferreira dos Santos
SparkGroup
Treinamento e Capacitação em Tecnologia
[email protected]
eduardosan.com
28 de Maio de 2013
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
1 / edua
25
Sumário
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
2 / edua
25
Cronograma
Semana
Semana
Semana
Semana
1:
2:
3:
4:
27 de Maio a 4 de Junho Administração de Dados
5-11 de Junho Administração de Banco de Dados
13-18 de Junho Alta disponibilidade
19-24 de Junho Performance Tuning
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
3 / edua
25
Linguagem SQL
Sintaxe;
Denição de dados;
Manipulação de dados;
Consultas;
Tipos de dado;
Funções e operadores;
Conversões de tipos.
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
4 / edua
25
Sintaxe
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
5 / edua
25
Sintaxe
Histórico
Contexto: criação de bancos de dados relacionais e formas de acessar
os dados;
IBM desenvolve a SEQUEL - Structured English Query Language;
Divisão em outras versões da linguagem (especialmente Oracle);
Padronização pelo ANSI (American National Standards Institute) em
1986:
SQL
Conjunto de facilidades, denições, recursos de acesso e manutenção de
dados [Gonzaga, 2007]
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
6 / edua
25
Sintaxe
Estrutura Léxica
SQL é uma sequência de comandos, terminados com ;
Comentários podem ser inseridos com o símbolo - Identicadores e palavras-chave:
UPDATE MY_TABLE SET
A = 5;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
7 / edua
25
Sintaxe
Estrutura Léxica
SQL é uma sequência de comandos, terminados com ;
Comentários podem ser inseridos com o símbolo - Identicadores e palavras-chave:
UPDATE MY_TABLE SET
A = 5;
A linguagem SQL não é
uPDaTE
my_TabLE
SeT
case sensitive
a = 5;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
7 / edua
25
Sintaxe
Estrutura Léxica
SQL é uma sequência de comandos, terminados com ;
Comentários podem ser inseridos com o símbolo - Identicadores e palavras-chave:
UPDATE MY_TABLE SET
A = 5;
A linguagem SQL não é
uPDaTE
my_TabLE
SeT
case sensitive
a = 5;
Utiliza-se caixa alta para palavras-chave e caixa baixa para
identicadores
UPDATE
my_table
SET
a = 5;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
7 / edua
25
Sintaxe
Estrutura Léxica
SQL é uma sequência de comandos, terminados com ;
Comentários podem ser inseridos com o símbolo - Identicadores e palavras-chave:
UPDATE MY_TABLE SET
A = 5;
A linguagem SQL não é
uPDaTE
my_TabLE
SeT
case sensitive
a = 5;
Utiliza-se caixa alta para palavras-chave e caixa baixa para
identicadores
UPDATE
my_table
SET
a = 5;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
7 / edua
25
Sintaxe
Estrutura Léxica
Utilização de aspas duplas (") força utilização como identicador
UPDATE
" my_table "
SET
"a" = 5 ;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
8 / edua
25
Sintaxe
Estrutura Léxica
Utilização de aspas duplas (") força utilização como identicador
UPDATE
" my_table "
SET
"a" = 5 ;
Utilize aspas simples (') para identicar strings;
UPDATE
" my_table "
SET
"a" = 'teste ' ;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
8 / edua
25
Sintaxe
Operadores
Operadores
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
9 / edua
25
Sintaxe
Caracteres Especiais
Dólar ($): início da declaração de uma função;
Parênteses (()): agrupar expressões;
Colchetes ([]): identicação de arrays;
Vírgulas (,): separar os elementos de uma lista;
Ponto e vírgula (;): nalizar um comando SQL;
Asterisco (*): todos os campos de uma coluna ou valores compostos;
Ponto (.): utilizado em constantes numéricas e para separar nome de
schema, tabelas e colunas.
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
10 / edua
25
Sintaxe
Expressões de valor [PostgreSQL, 2013]
Um valor constante ou literal;
Uma referência a coluna;
Uma referência a parâmetro posicional, no corpo da denição de
função ou de comando preparado;
Uma expressão de índice;
Uma expressão de seleção de campo;
Uma chamada de operador;
Uma chamada de função;
Uma expressão de agregação;
Uma conversão de tipo;
Uma subconsulta escalar;
Um construtor de matriz;
Um construtor de linha;
Outra expressão de valor entre parênteses, útil para agrupar
subexpressões e mudar precedências.
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
11 / edua
25
Denição de dados
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
12 / edua
25
Denição de dados
A interface psql
Comandos e ajuda;
Conceitos;
Operações na linha de comando;
Acesso ao banco.
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
13 / edua
25
Denição de dados
Criando usuário e banco
PostgreSQL> c r e a t e d b p r i m e i r o _ b a n c o
CREATE DATABASE
PostgreSQL> dropdb p r i m e i r o _ b a n c o
DROP DATABASE
PostgreSQL> c r e a t e u s e r u s u a r i o
S h a l l t h e new r o l e be a s u p e r u s e r ? ( y /n ) n
S h a l l t h e new r o l e be a l l o w e d t o c r e a t e d a t a b a s e s ? (
y /n ) n
S h a l l t h e new r o l e be a l l o w e d t o c r e a t e more new
r o l e s ? ( y /n ) n
PostgreSQL> c r e a t e d b −O u s u a r i o p r i m e i r o _ b a n c o
CREATE DATABASE
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
14 / edua
25
Denição de dados
Acessando o banco de dados
PostgreSQL> p s q l −U u s u a r i o p r i m e i r o _ b a n c o
psql (9.1.9)
Type "help" for h e l p .
p r i m e i r o _ b a n c o=>
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
15 / edua
25
Denição de dados
Schemas
Organização lógica de objetos;
Permitem objetos de mesmo nome no mesmo banco de dados.
CREATE
SCHEMA r h ;
CREATE
USER g i l s o n ;
CREATE
SCHEMA t e c n o l o g i a AUTHORIZATION g i l s o n ;
CREATE
USER b e a t r i z ;
CREATE
SCHEMA AUTHORIZATION b e a t r i z ;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
16 / edua
25
Denição de dados
Administração de Schemas
−−
Eliminando dados de t e s t e
−−
C r i a nosso schema
DROP SCHEMA r h ;
DROP SCHEMA t e c n o l o g i a ;
DROP USER g i l s o n ;
DROP SCHEMA b e a t r i z ;
DROP USER b e a t r i z ;
CREATE
−−
schema u s r _ e s c o l a AUTHORIZATION u s u a r i o ;
Busca de schemas
SHOW s e a r c h _ p a t h ;
SET
s e a r c h _ p a t h TO u s r _ e s c o l a ;
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
17 / edua
25
Denição de dados
Tabelas
−−
C r i a t a b e l a s do exemplo
CREATE TABLE
);
usr_escola . aluno (
matricula
char ( 5 ) constraint pk_aluno
key ,
nome
varchar ( 4 0 ) not null ,
endereco
varchar ( 6 0 ) ,
bairro
varchar ( 3 0 ) ,
dt_nascimento
date ,
sexo
char ( 1 )
primary
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
18 / edua
25
Manipulação de dados
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
19 / edua
25
Consultas
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
20 / edua
25
Referências
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
21 / edua
25
Tipos de dado
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
22 / edua
25
Funções e operadores
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
23 / edua
25
Conversões de tipos
1
Sintaxe
2
Denição de dados
3
Manipulação de dados
4
Consultas
5
Referências
6
Tipos de dado
7
Funções e operadores
8
Conversões de tipos
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
24 / edua
25
Conversões de tipos
Gonzaga, J. L. (2007).
Dominando o PostgreSQL.
Ciência Moderna.
PostgreSQL, C. (2013).
Expressões de valor.
http://www.postgresql.org/docs/9.2/static/sql-expressions.html
Acessado em 27/05/2013.
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
25 / edua
25
Conversões de tipos
Contato
Eduardo Ferreira dos Santos
Sparkgroup
Lightbase Consultoria em Software Público
[email protected]
[email protected]
www.postgresql.org.br
www.eduardosan.com
+55 61 3347-1949
Eduardo Ferreira dos Santos (SparkGroup Treinamento
Treinamento ePostgreSQL
Capacitação- Aula
em Tecnologia
02
[email protected]
28 de Maio de 2013
25 / edua
25
Download