SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Banco de Dados Postgresql

Para acessar, executar ssh para:
servidor : servlab.ucpel.tche.br
usuario: aluno-web
senha: aluno-web

1) Ir para o diretório de trabalho pessoal
cd /home/aluno-web/public_html/pw123/meunome
onde meunome é o nome do aluno, se for a primeira vez que está utilizando o servidor triton, siga para o
item 3.

2) Verificar se está no diretório correto
pwd
analisar o retorno

3) Se o diretório (meunome) não existir, criar
cd /home/aluno-web/public_html/pw123/
mkdir meunome

4) Criar a base de dados
createdb meunome_nomebase
este comando cria a base de dados para que o aluno possa trabalhar. A base é criada no
catálogo/dicionário do banco.

5) Comando para acessar o ambiente do postgres
psql meunome_nomebase


Principais comandos do ambiente:
? --> mostra comandos do ambiente psql
d <tabela> --> mostra estrutura da tabela
di --> mostra índices
dt --> mostra as tabelas
dv    mostra views
dp    mostra permissões
i arquivo --> executa um script
e arquivo    edita um arquivo
(export EDITOR=caminho para o editor - /usr/bin/pico)

o arquivo     direciona a saída dos comandos para um arquivo (o   finaliza)
l --> lista as bases de dados
h --> apresenta comandos SQL
h comando sql --> help do comando
q --> sai do ambiente
c    conecta em outra base de dados
! Comando do so
(ex: ! Pico scritp.txt)


Criação de base postgresql
- no linux: createdb nomebase
- no psql: create database nomebase

Remoção de base postgresql
- no linux: dropdb nomebase
- no psql: drop database nomebase


Crie sempre as tabelas (create table) utilizando scripts, não digite diretamente na linha de comando.
Dessa forma se algo estiver errado, basta corrigir o script e executar novamente. Para executar o script
utilize o comando i <nome_script>.
Ex:
pico criatabelacliente.txt
create table cliente(codigo int,nome varchar(30),primary key (codigo));
CTRL+X
createdb basevendas
psql basevendas
# i criatabelacliente.txt




Exercícios de SQL
Esta base de dados permite armazenar informações sobre a quantidade de pessoas de um determinado sexo e
categoria (chefe, cônjuge, filho, ...) que residem em um bairro de uma cidade. Os scripts podem ser criados no
windows e copiados via ftp para o servidor linux.

MODELO ER




MODELO LÓGICO-RELACIONAL
Estado (siglaestado, nome)
Cidade (codcid, nome, siglaestado)
Bairro(codbairro, nome)
Categoria (codcategoria, descricao)
Qtdpessoasbairro (codbairro, codcategoria, sexo, ano, qtd)
Exemplo de Informações armazenadas
Cidade                                                    Estado
Codcidade     Nome             Siglaestado          Siglaestado Nome
1             Pelotas          Rs                   Rs           Rio Grande do Sul
2             Jaguarão         Rs                   Sp           São Paulo
3             Arroio Grande    Rs

Bairro                                            Categoria
Codbairro    Nome             codcidade        Codcategoria      Nome
1            Lindóia          1                1                 Chefe
2            Centro           1                2                 Cônjuge
3            Pestano          1                3                 Filho
Qtdpessoasbairro
codbairro Codcategoria   Sexo   ano    qtd
1         1              M      2000   9000
1         2              M      2000   2000
2         1              M      2000   7000
3         1              M      2000   1000

Responda às questões (sql ddl / dml):
Os dados do exemplo são válidos apenas para efeito de exercício, obviamente não
correspondem a realidade. Também considerar para efeito de exercício que as tabelas possuem
um número muito maior de registros.

1) Comando que cria em uma base de dados a tabela cidade
2) Comando que cria em uma base de dados a tabela qtdpessoasbairro
3) Comandos que inserem as informações que constam no exemplo. Observar a ordem correta
de inclusão.
4) Comando que lista o nome da cidade e o nome do estado
5) Comando que lista o nome do bairro, o nome da cidade e o nome do estado, em ordem
alfabética de nome do estado, dentro do estado por cidade e na cidade em ordem inversa de
nome de bairro
6) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano
e a quantidade de pessoas
7) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano
e a quantidade de pessoas do ano de 1990.
8) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano
e a quantidade de homens do ano de 2000
9) Comando que soma o número de homens em pelotas no ano de 2000
10) Comando que soma o número de homens em pelotas no ano de 2000, mas somente dos
bairros Lindóia, Navegantes, Pestano.
11) Comando que soma o número de homens chefes de família em pelotas no ano de 2000, mas
somente dos bairros Lindóia, Navegantes, Pestano.
12) Comando que mostre o código da categoria com maior quantidade em 1990.
13) Comando que apresente o total de mulheres do bairro Lindóia, que são chefes de família.
14) Comando que modifica o nome da categoria 1 para Chefes de família.
15) Comando que modifica o nome do bairro centro para central.
16) Comando que apaga os dados da tabela qtdpessoasbairro. (somente para os dados
anteriores a 1990)
17) Comando que apaga os dados da tabela qtdpessoasbairro, do bairro cujo código é igual a 1.

Agrupamentos (group by - assunto não trabalhado)
18) Comando que apresenta o total de cidade para cada sigla de estado
19) Comando que apresenta o total de cidade para cada sigla de estado, desde que o estado
possua mais de 10 cidades
20) Comando que apresenta o total de habitantes cadastrador em cada bairro/ano
21) Comando que apresenta o total de categorias cadastradas em cada bairro/ano
21) Comando que apresenta o total de categorias cadastradas em cada bairro/ano, desde que
este total seja superior a 100
Exercícios SQL

Produto(codigo, descrição, preço, estoque, estoquemin, codfor, categoria)
Categoria(codigo, descricao)
Fornecedor(codigo, nome)
Clientes(codigo, nome, endereço)
Notas(numero, codcli, data)
Itens(numnota, codprod, qtd, valor)

1) Crie uma visão chamada vprod que contenha somente o codigo e a descriçao do produto.
2) Mostre todos os registros da visão vprod, desde que o codigo do produto esteja na faixa entre 1 e 300.
3) Crie uma visão chamada vprodfornec que contenha o codigo do produto, o codigo do fornecedor e o nome do
    fornecedor.
4) Mostre todos os registros da visão vprodfornec
5) Crie uma visão chamada vnota que contenha o numero da nota, e o nome do cliente.
6) Mostre todos os registros da visão vnota, dos clientes que possuem ana no nome.
7) Crie uma visão chamada vnotageral que contenha o numero da nota, o nome do cliente e o codigo de cada
    produto que foi vendido na nota.
8) Mostre todos os registros da visão vnotageral
9) Crie uma visão chamada vnotageral2 que contenha o numero da nota, o nome do cliente e o codigo e a descrição
    de cada produto que foi vendido na nota.
10) Crie uma visão chamada vtotal que contenha o numero da nota e o total de produtos vendidos na nota.
11) Crie uma visão chamada vfornec que contenha o codigo do fornecedor e a quantidade de produtos fornecidos.
12) Crie uma visão, chamada vfornqtd, com o nome do fornecedor e a quantidade de produtos fornecidos.
13) Apresente todos os registros dessa visão.
14) Crie uma visão, chamada vfornqtd2 , com o nome do fornecedor e a quantidade de produtos fornecidos, mas
    somente para os fornecedores com mais de 50 produtos.
15) Apresente, utilizando visões, o nome do fornecedor e a quantidade de produtos fornecidos, mas somente para os
    fornecedores com mais de 10 produtos, sendo esses produtos das categorias cujo intervalo de código esteja
    entre 1 e 100.

Más contenido relacionado

Similar a Banco Postgresql

Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Alexandre Saboia Fuziyama
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...Marcelo Votto
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao rubyFrancis Wagner
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Marco Pinheiro
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysqlbinhoetec
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasdiogoa21
 
[Agile brazil2014] Bad Smells em Bancos de Dados
[Agile brazil2014] Bad Smells em Bancos de Dados[Agile brazil2014] Bad Smells em Bancos de Dados
[Agile brazil2014] Bad Smells em Bancos de DadosWildtech
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig LatinElen Arantza
 
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Alexandre Saboia Fuziyama
 

Similar a Banco Postgresql (20)

Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...
O RDA no controle de autoridades do Sistema de Bibliotecas da Universidade de...
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Apostila etec banco
Apostila etec   bancoApostila etec   banco
Apostila etec banco
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
P566Aula08
P566Aula08P566Aula08
P566Aula08
 
qconrio2015
qconrio2015qconrio2015
qconrio2015
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysql
 
Meetup MUG-RS KingHost
Meetup MUG-RS KingHostMeetup MUG-RS KingHost
Meetup MUG-RS KingHost
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
[Agile brazil2014] Bad Smells em Bancos de Dados
[Agile brazil2014] Bad Smells em Bancos de Dados[Agile brazil2014] Bad Smells em Bancos de Dados
[Agile brazil2014] Bad Smells em Bancos de Dados
 
Comandos do my sql
Comandos do my sqlComandos do my sql
Comandos do my sql
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig Latin
 
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
Nas internas do CartolaFC: como é a nova arquitetura do game feita para supor...
 

Más de bjsjd

Química texto 2
Química   texto 2Química   texto 2
Química texto 2bjsjd
 
Química texto 1
Química   texto 1Química   texto 1
Química texto 1bjsjd
 
Química que conteúdos estudar
Química   que conteúdos estudarQuímica   que conteúdos estudar
Química que conteúdos estudarbjsjd
 
Matemática
MatemáticaMatemática
Matemáticabjsjd
 
História
HistóriaHistória
Históriabjsjd
 
Biologia
BiologiaBiologia
Biologiabjsjd
 
Biologia
BiologiaBiologia
Biologiabjsjd
 
Biologia
BiologiaBiologia
Biologiabjsjd
 

Más de bjsjd (8)

Química texto 2
Química   texto 2Química   texto 2
Química texto 2
 
Química texto 1
Química   texto 1Química   texto 1
Química texto 1
 
Química que conteúdos estudar
Química   que conteúdos estudarQuímica   que conteúdos estudar
Química que conteúdos estudar
 
Matemática
MatemáticaMatemática
Matemática
 
História
HistóriaHistória
História
 
Biologia
BiologiaBiologia
Biologia
 
Biologia
BiologiaBiologia
Biologia
 
Biologia
BiologiaBiologia
Biologia
 

Banco Postgresql

  • 1. Banco de Dados Postgresql Para acessar, executar ssh para: servidor : servlab.ucpel.tche.br usuario: aluno-web senha: aluno-web 1) Ir para o diretório de trabalho pessoal cd /home/aluno-web/public_html/pw123/meunome onde meunome é o nome do aluno, se for a primeira vez que está utilizando o servidor triton, siga para o item 3. 2) Verificar se está no diretório correto pwd analisar o retorno 3) Se o diretório (meunome) não existir, criar cd /home/aluno-web/public_html/pw123/ mkdir meunome 4) Criar a base de dados createdb meunome_nomebase este comando cria a base de dados para que o aluno possa trabalhar. A base é criada no catálogo/dicionário do banco. 5) Comando para acessar o ambiente do postgres psql meunome_nomebase Principais comandos do ambiente: ? --> mostra comandos do ambiente psql d <tabela> --> mostra estrutura da tabela di --> mostra índices dt --> mostra as tabelas dv mostra views dp mostra permissões i arquivo --> executa um script e arquivo edita um arquivo (export EDITOR=caminho para o editor - /usr/bin/pico) o arquivo direciona a saída dos comandos para um arquivo (o finaliza) l --> lista as bases de dados h --> apresenta comandos SQL h comando sql --> help do comando q --> sai do ambiente c conecta em outra base de dados ! Comando do so (ex: ! Pico scritp.txt) Criação de base postgresql - no linux: createdb nomebase - no psql: create database nomebase Remoção de base postgresql - no linux: dropdb nomebase - no psql: drop database nomebase Crie sempre as tabelas (create table) utilizando scripts, não digite diretamente na linha de comando.
  • 2. Dessa forma se algo estiver errado, basta corrigir o script e executar novamente. Para executar o script utilize o comando i <nome_script>. Ex: pico criatabelacliente.txt create table cliente(codigo int,nome varchar(30),primary key (codigo)); CTRL+X createdb basevendas psql basevendas # i criatabelacliente.txt Exercícios de SQL Esta base de dados permite armazenar informações sobre a quantidade de pessoas de um determinado sexo e categoria (chefe, cônjuge, filho, ...) que residem em um bairro de uma cidade. Os scripts podem ser criados no windows e copiados via ftp para o servidor linux. MODELO ER MODELO LÓGICO-RELACIONAL Estado (siglaestado, nome) Cidade (codcid, nome, siglaestado) Bairro(codbairro, nome) Categoria (codcategoria, descricao) Qtdpessoasbairro (codbairro, codcategoria, sexo, ano, qtd) Exemplo de Informações armazenadas Cidade Estado Codcidade Nome Siglaestado Siglaestado Nome 1 Pelotas Rs Rs Rio Grande do Sul 2 Jaguarão Rs Sp São Paulo 3 Arroio Grande Rs Bairro Categoria Codbairro Nome codcidade Codcategoria Nome 1 Lindóia 1 1 Chefe 2 Centro 1 2 Cônjuge 3 Pestano 1 3 Filho
  • 3. Qtdpessoasbairro codbairro Codcategoria Sexo ano qtd 1 1 M 2000 9000 1 2 M 2000 2000 2 1 M 2000 7000 3 1 M 2000 1000 Responda às questões (sql ddl / dml): Os dados do exemplo são válidos apenas para efeito de exercício, obviamente não correspondem a realidade. Também considerar para efeito de exercício que as tabelas possuem um número muito maior de registros. 1) Comando que cria em uma base de dados a tabela cidade 2) Comando que cria em uma base de dados a tabela qtdpessoasbairro 3) Comandos que inserem as informações que constam no exemplo. Observar a ordem correta de inclusão. 4) Comando que lista o nome da cidade e o nome do estado 5) Comando que lista o nome do bairro, o nome da cidade e o nome do estado, em ordem alfabética de nome do estado, dentro do estado por cidade e na cidade em ordem inversa de nome de bairro 6) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano e a quantidade de pessoas 7) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano e a quantidade de pessoas do ano de 1990. 8) Comando que lista o nome da cidade, o nome do bairro, o nome da categoria, o sexo, o ano e a quantidade de homens do ano de 2000 9) Comando que soma o número de homens em pelotas no ano de 2000 10) Comando que soma o número de homens em pelotas no ano de 2000, mas somente dos bairros Lindóia, Navegantes, Pestano. 11) Comando que soma o número de homens chefes de família em pelotas no ano de 2000, mas somente dos bairros Lindóia, Navegantes, Pestano. 12) Comando que mostre o código da categoria com maior quantidade em 1990. 13) Comando que apresente o total de mulheres do bairro Lindóia, que são chefes de família. 14) Comando que modifica o nome da categoria 1 para Chefes de família. 15) Comando que modifica o nome do bairro centro para central. 16) Comando que apaga os dados da tabela qtdpessoasbairro. (somente para os dados anteriores a 1990) 17) Comando que apaga os dados da tabela qtdpessoasbairro, do bairro cujo código é igual a 1. Agrupamentos (group by - assunto não trabalhado) 18) Comando que apresenta o total de cidade para cada sigla de estado 19) Comando que apresenta o total de cidade para cada sigla de estado, desde que o estado possua mais de 10 cidades 20) Comando que apresenta o total de habitantes cadastrador em cada bairro/ano 21) Comando que apresenta o total de categorias cadastradas em cada bairro/ano 21) Comando que apresenta o total de categorias cadastradas em cada bairro/ano, desde que este total seja superior a 100
  • 4. Exercícios SQL Produto(codigo, descrição, preço, estoque, estoquemin, codfor, categoria) Categoria(codigo, descricao) Fornecedor(codigo, nome) Clientes(codigo, nome, endereço) Notas(numero, codcli, data) Itens(numnota, codprod, qtd, valor) 1) Crie uma visão chamada vprod que contenha somente o codigo e a descriçao do produto. 2) Mostre todos os registros da visão vprod, desde que o codigo do produto esteja na faixa entre 1 e 300. 3) Crie uma visão chamada vprodfornec que contenha o codigo do produto, o codigo do fornecedor e o nome do fornecedor. 4) Mostre todos os registros da visão vprodfornec 5) Crie uma visão chamada vnota que contenha o numero da nota, e o nome do cliente. 6) Mostre todos os registros da visão vnota, dos clientes que possuem ana no nome. 7) Crie uma visão chamada vnotageral que contenha o numero da nota, o nome do cliente e o codigo de cada produto que foi vendido na nota. 8) Mostre todos os registros da visão vnotageral 9) Crie uma visão chamada vnotageral2 que contenha o numero da nota, o nome do cliente e o codigo e a descrição de cada produto que foi vendido na nota. 10) Crie uma visão chamada vtotal que contenha o numero da nota e o total de produtos vendidos na nota. 11) Crie uma visão chamada vfornec que contenha o codigo do fornecedor e a quantidade de produtos fornecidos. 12) Crie uma visão, chamada vfornqtd, com o nome do fornecedor e a quantidade de produtos fornecidos. 13) Apresente todos os registros dessa visão. 14) Crie uma visão, chamada vfornqtd2 , com o nome do fornecedor e a quantidade de produtos fornecidos, mas somente para os fornecedores com mais de 50 produtos. 15) Apresente, utilizando visões, o nome do fornecedor e a quantidade de produtos fornecidos, mas somente para os fornecedores com mais de 10 produtos, sendo esses produtos das categorias cujo intervalo de código esteja entre 1 e 100.