Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1
Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de Souza 2
Assunto: Fundamentos de Banco de Dados Prof. Luiz Claudio F. de Souza 3
Aplicações Sql no Postgree Prof. Luiz Claudio F. de Souza 4
O que é o Sql? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Prof. Luiz Claudio F. de Souza 5
Vamos criar as tabelas abaixo no postgre utilizando o Sql Tabelas já normalizadas na terceira Forma Normal (tabela pedido e tabela produto) Prof. Luiz Claudio F. de Souza 6
Acesse o Postgre e dê duplo clique no local assinalado abaixo Prof. Luiz Claudio F. de Souza 7
Digite a senha de acesso ao banco e clique no botão Ok Prof. Luiz Claudio F. de Souza 8
Vamos criar uma nova base de dados! Selecione o ítem postgres Selecione o ícone Sql Prof. Luiz Claudio F. de Souza 9
Criar a base de dados pedidos Prof. Luiz Claudio F. de Souza 10
Vamos executar a query! Prof. Luiz Claudio F. de Souza 11
Após a execução, verificar a mensagem! Prof. Luiz Claudio F. de Souza 12
Selecione a base de dados a ser criada a tabela pedido Prof. Luiz Claudio F. de Souza 13
Crie na base de dados pedidos a tabela pedido CREATE TABLE pedido( idpedido serial primary key not null, datapedido date, codproduto int NOT NULL, qtde int NOT NULL, valorunitario dec(10,2) ) Prof. Luiz Claudio F. de Souza 14
Crie na base de dados pedidos a tabela produto CREATE TABLE produto( codproduto int primary key not null, nomeproduto varchar(20) ); Prof. Luiz Claudio F. de Souza 15
Criando Tabelas No Posgre CREATE TABLE é o comando para criação da tabela e deve ser seguida pelo nome que daremos à tabela. SERIAL pode ser utilizado para automatizar um código que sirva de chave primária de uma tabela. PRIMARY KEY define a chave primária da tabela, isto é, o campo que serve como chave da tabela e que não pode ser repetido. NOT NULL define que um determinado campo seja de preenchimento obrigatório. Prof. Luiz Claudio F. de Souza 16
Inserindo registros na tabela pedido INSERT into pedido VALUES (1,'2009-07- 01',1234,2,100) Prof. Luiz Claudio F. de Souza 17
Inserindo registros na tabela produto INSERT into produto VALUES (1234,'HD 250 Gb XPTO') Prof. Luiz Claudio F. de Souza 18
Eliminando Tabelas DROP TABLE CLIENTE Caso exista a tabela CLIENTE, a mesma será eliminada da base de dados Prof. Luiz Claudio F. de Souza 19
Alterar o nome da tabela ALTER TABLE nome_da_table RENAME novo_nome Exemplo: ALTER TABLE clientes RENAME cliente Prof. Luiz Claudio F. de Souza 20
Adicionar atributos na tabela ALTER TABLE cliente ADD cidade VARCHAR(20) Prof. Luiz Claudio F. de Souza 21
Excluindo atributo de uma tabela ALTER TABLE cliente DROP cidade Prof. Luiz Claudio F. de Souza 22
Excluindo Chave Primária ALTER TABLE cliente DROP PRIMARY KEY Prof. Luiz Claudio F. de Souza 23
Definindo chave primária ALTER TABLE cliente ADD PRIMARY KEY(codigo) Prof. Luiz Claudio F. de Souza 24
Uma consulta relacional Relacionando tabelas Select produto.nomeproduto, pedido.valorunitario From produto inner join pedido on produto.codproduto = pedido.codproduto Prof. Luiz Claudio F. de Souza 25
Exemplo 2 Prof. Luiz Claudio F. de Souza 26
Banco de Dados: Banco Cod_Cliente -> inteiro, autoincremento Nome -> Caractere, 25, não ficar em branco Rua -> Caractere, 25, não ficar em branco Cidade -> Caractere, 15, não ficar em branco Num_CC -> inteiro Saldo -> decimal (10,2) Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 27
Criar o Banco de Dados Banco Prof. Luiz Claudio F. de Souza 28
Criação da tabela Cliente Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 29
Criação da tabela Conta_Cliente Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 30
Criação da tabela Conta Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 31
Registros da tabela Cliente INSERT into cliente VALUES (1,'Pedro','A','São Paulo') INSERT into cliente VALUES (2,'Maria','B','Jundiaí') Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 32
Registros da tabela Conta INSERT into conta VALUES ('20121','1200') INSERT into conta VALUES ('21582','1320') INSERT into conta VALUES ('21352','652') Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 33
Registros da tabela Conta_cliente INSERT into conta_cliente VALUES ('1','20121') INSERT into conta_cliente VALUES ('2','20582') INSERT into conta_cliente VALUES ('3','21352') Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 34
Alterando Registro Ex: Complementar o Nome do cliente Pedro para Pedro Silva UPDATE <NOME_TABELA> SET <NOME_COLUNA> = VALOR WHERE <CONDICAO>; UPDATE cliente SET Nome = 'Pedro Silva' WHERE Cod_Cliente = 1; Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 35
Inclua mais um Cliente Incluir o cliente João: INSERT into cliente VALUES (3, 'João','C', Recife') Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 36
Exclusão de Registros DELETE FROM <NOME_TABELA> WHERE <(CONDIÇÃO)> DELETE FROM CLIENTE WHERE CIDADE = Recife Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 37
Extraindo Dados das Tabelas SELECT <COLUNAS> FROM <TABELA> SELECT Cod_Cliente, Nome, Cidade FROM CLIENTE Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 38
Inclua mais dois Clientes Incluir o cliente Peterson: INSERT into cliente VALUES (4, 'Peterson','D', 'Recife') Incluir a cliente Joana: INSERT into cliente VALUES (5, 'Joana', 'E', 'Recife') Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 39
Extraindo Dados das Tabelas SELECT <COLUNAS> FROM <TABELA> SELECT Cod_Cliente, Nome, Cidade FROM CLIENTE Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 40
Extraindo Dados das Tabelas Mostrar todas os clientes da Cidade de Recife SELECT Cod_Cliente, Nome, Cidade FROM CLIENTE Where cidade = Recife Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 41
Extraindo Dados das Tabelas Mostrar os clientes do banco com saldo de 1 a 700 Reais Select num_cc,saldo From conta Where saldo between 1.00 and 700.00 Prof. Luiz Claudio F. de Souza www.luizclaudiofs.blogspot.com 42