banco ii - postgresql - revisão

10
Banco de Dados II 2015.2 1 #01 Banco de Dados II Prof. Gustavo Sávio <[email protected]>

Upload: gustavo-savio

Post on 21-Feb-2017

228 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Banco II - PostgreSQL - Revisão

Banco de Dados II

2015.2 1

#01

Banco de Dados II

Prof. Gustavo Sávio <[email protected]>

Page 2: Banco II - PostgreSQL - Revisão

SQL - RevisãoSQL – Structured Query Language:

– Desenvolvida no início da década de 80

• Por que a SQL é tão importante?

– Declarada como padrão pelo American NacionalStandarts Institute (ANSI) e pela InternationalOrganization for Standardization (ISO).

– A maioria dos sistemas modernos de gerência debancos de dados se baseia no padrão da linguagemSQL.

– Exemplo de SGBDs, lideres de mercado, que usam alinguagem SQL: Oracle, MS SQL Server, PostgreSQL,MySQL, Informix, etc.

2

#SQL

Page 3: Banco II - PostgreSQL - Revisão

SQL - Revisão• Existem dois aspectos na gerência de dados:– A definição dos dados (DDL - Data Definition

Language).– A manipulação dos dados (DML – Data Manipulation

Language)

• Definição de Dados (DDL):– Informa ao SGBD quais tabelas existirão, quais

atributos existirão, quais atributos serãoindexados, as restrições de integridade, etc.

• Manipulação de Dados (DML):– Refere-se às quatro operações básicas executadas

sobre os dados armazenados em qualquer SQBD:recuperação e atualização dos dados, inserção denovos registros e exclusão de registros existentes.

• A linguagem SQL incorpora a DDL e a DML.3

#SQL

Page 4: Banco II - PostgreSQL - Revisão

DDL – Definição de Dados

CREATE TABLECREATE INDEXCREATE

ALTER TABLEALTER INDEXALTER

DROP TABLEDROP INDEXDROP

exemplos

Criar Objetos

Modificar Objetos

Excluir Objetos

exemplos

exemplos

4

#SQL - DDL

Page 5: Banco II - PostgreSQL - Revisão

DML – Manipulação de Dados

CONSULTA SELECT

INCLUSÃO INSERT

ALTERAÇÃO UPDATE

EXCLUSÃO DELETE

5

Manipular Dados

#SQL - DML

Page 6: Banco II - PostgreSQL - Revisão

DML – Manipulação de DadosCONSULTA (padrão)

SELECT Especifica as colunas e expressões exibidas no resultado da consulta.

FROM Especifica as tabelas que contêm os dados exibidos nos resultados da consulta.

INTO Especifica uma nova tabela que conterá o resultado da consulta.

WHERE Especifica as condições usadas para filtrar registros no resultado da consulta.

GROUP BY Agrupa as linhas da consulta com base nos valores de uma das colunas.

HAVING Usada com a cláusula GROUP BY para filtrar o resultado.

ORDER BY Estabelece a ordem na qual as linhas são retomadas.

6

#SQL - Consulta

Page 7: Banco II - PostgreSQL - Revisão

ProblemaJoão é o gerente de uma loja de atacado que realizaaproximadamente 100 vendas diárias. Devido à grande demanda e ànecessidade de agilizar o atendimento aos clientes, ele pretendeimplantar um sistema para cadastrar seus produtos e ajudar acontrolar melhor o estoque.• Sempre que for realizada uma venda, o sistema deverá registrar o

cliente que adquiriu o produto, o produto comprado, e o vendedorenvolvido na transação. É necessário ainda registrar a data da vendae a forma de entrega do pedido e o frete cobrado.

• Uma venda pode conter mais um produto, iguais ou diferentes.Portanto, a quantidade de cada produto comprado deve ser registradano ato da venda.

• Na hora da compra, os clientes preenchem uma ficha com dados pessoaiscomo nome, endereço, CPF e RG, e informam também dois números detelefone para contato.

• Os vendedores da loja deverão ter nome, função e salário registrados,juntamente com o setor no qual atuam.

• Informações como descrição, preço de custo, preço de venda, tipo ecódigo todos os produtos devem constar no sistema, bem como aquantidade disponível em estoque.

7

#SQL - Consulta

Page 8: Banco II - PostgreSQL - Revisão

Diagrama Relacional

8

#SQL - Consulta

Page 9: Banco II - PostgreSQL - Revisão

Modelo RelacionalPais (sigla, nome)Cidade (codigo, nome, UF, pais)

pais referencia Pais (sigla)

Cliente (codigo, nome, tipo, contrato, cargo, endereco, cidade, cep, fone, fax, obs)cidade referencia Cidade (codigo)

Funcao (codigo, nome, gratif)Setor (sigla, nome, ramal, chefe)Funcionario (codigo, nome, sexo, rg, cpf, datanasc, naturalidade, dataadm, funcao,

cidade, setor, ...)naturalidade referencia Cidade (codigo)funcao referencia Funcao (codigo)cidade referencia Cidade (codigo)setor referencia Setor (sigla)

Tipo (codigo, nome, descricao)Pedido (codigo, cliente, vendedor, dataPedido, dataFatura, via, frete)

cliente referencia Cliente (codigo)vendedor referencia Funcionario (codigo)

Produto (codigo, nome, descricao, apresent, venda, custo, quantest, estmin, tipo,situacao, status)tipo referencia Tipo (codigo)

Itens (pedido, produto, preco, quant, desconto)pedido referencia Pedido (codigo)produto referencia Produto (codigo)

9

#SQL - Consulta

Page 10: Banco II - PostgreSQL - Revisão

SQL - DesafioQuestão 1 – Crie uma consulta SQL que retorne o Código eo Nome de todos os funcionários da base de dados.

Questão 2 – Crie uma consulta SQL que retorne o Código eo Nome dos funcionários do sexo masculino.

Questão 3 – Crie uma consulta SQL que retorne o Código eo Nome dos produtos cujo valor de venda é maior do que R$500,00.

Questão 4 – Crie uma consulta SQL que retorne o Código doProduto, o Nome do Produto e o Nome do Tipo do Produto,para todos os produtos da base de dados.

Questão 5 – Crie uma consulta SQL que retorne o Nome doCliente e o Nome da Cidade onde o cliente mora, paratodos os clientes da base de dados.

10

#SQL - Consulta