Banco de
Dados II
2015.2 1
#01
Banco de Dados II
Prof. Gustavo Sávio <gsoprofessor@gmail.com>
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 Nacional
Standarts Institute (ANSI) e pela International
Organization for Standardization (ISO).
– A maioria dos sistemas modernos de gerência de
bancos de dados se baseia no padrão da linguagem
SQL.
– Exemplo de SGBDs, lideres de mercado, que usam a
linguagem SQL: Oracle, MS SQL Server, PostgreSQL,
MySQL, Informix, etc.
2
#SQL
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ão
indexados, 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 de
novos registros e exclusão de registros existentes.
• A linguagem SQL incorpora a DDL e a DML.
3
#SQL
DDL – Definição de Dados
CREATE TABLE
CREATE INDEXCREATE
ALTER TABLE
ALTER INDEXALTER
DROP TABLE
DROP INDEXDROP
exemplos
Criar Objetos
Modificar Objetos
Excluir Objetos
exemplos
exemplos
4
#SQL - DDL
DML – Manipulação de Dados
CONSULTA SELECT
INCLUSÃO INSERT
ALTERAÇÃO UPDATE
EXCLUSÃO DELETE
5
Manipular Dados
#SQL - DML
DML – Manipulação de Dados
CONSULTA (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
Problema
João é o gerente de uma loja de atacado que realiza
aproximadamente 100 vendas diárias. Devido à grande demanda e à
necessidade de agilizar o atendimento aos clientes, ele pretende
implantar um sistema para cadastrar seus produtos e ajudar a
controlar melhor o estoque.
• Sempre que for realizada uma venda, o sistema deverá registrar o
cliente que adquiriu o produto, o produto comprado, e o vendedor
envolvido na transação. É necessário ainda registrar a data da venda
e 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 registrada
no ato da venda.
• Na hora da compra, os clientes preenchem uma ficha com dados pessoais
como nome, endereço, CPF e RG, e informam também dois números de
telefone 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 e
código todos os produtos devem constar no sistema, bem como a
quantidade disponível em estoque.
7
#SQL - Consulta
Diagrama Relacional
8
#SQL - Consulta
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
SQL - DesafioQuestão 1 – Crie uma consulta SQL que retorne o Código e
o Nome de todos os funcionários da base de dados.
Questão 2 – Crie uma consulta SQL que retorne o Código e
o Nome dos funcionários do sexo masculino.
Questão 3 – Crie uma consulta SQL que retorne o Código e
o 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 do
Produto, 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 do
Cliente e o Nome da Cidade onde o cliente mora, para
todos os clientes da base de dados.
10
#SQL - Consulta

Banco II - PostgreSQL - Revisão

  • 1.
    Banco de Dados II 2015.21 #01 Banco de Dados II Prof. Gustavo Sávio <gsoprofessor@gmail.com>
  • 2.
    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 Nacional Standarts Institute (ANSI) e pela International Organization for Standardization (ISO). – A maioria dos sistemas modernos de gerência de bancos de dados se baseia no padrão da linguagem SQL. – Exemplo de SGBDs, lideres de mercado, que usam a linguagem SQL: Oracle, MS SQL Server, PostgreSQL, MySQL, Informix, etc. 2 #SQL
  • 3.
    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ão indexados, 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 de novos registros e exclusão de registros existentes. • A linguagem SQL incorpora a DDL e a DML. 3 #SQL
  • 4.
    DDL – Definiçãode Dados CREATE TABLE CREATE INDEXCREATE ALTER TABLE ALTER INDEXALTER DROP TABLE DROP INDEXDROP exemplos Criar Objetos Modificar Objetos Excluir Objetos exemplos exemplos 4 #SQL - DDL
  • 5.
    DML – Manipulaçãode Dados CONSULTA SELECT INCLUSÃO INSERT ALTERAÇÃO UPDATE EXCLUSÃO DELETE 5 Manipular Dados #SQL - DML
  • 6.
    DML – Manipulaçãode Dados CONSULTA (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
  • 7.
    Problema João é ogerente de uma loja de atacado que realiza aproximadamente 100 vendas diárias. Devido à grande demanda e à necessidade de agilizar o atendimento aos clientes, ele pretende implantar um sistema para cadastrar seus produtos e ajudar a controlar melhor o estoque. • Sempre que for realizada uma venda, o sistema deverá registrar o cliente que adquiriu o produto, o produto comprado, e o vendedor envolvido na transação. É necessário ainda registrar a data da venda e 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 registrada no ato da venda. • Na hora da compra, os clientes preenchem uma ficha com dados pessoais como nome, endereço, CPF e RG, e informam também dois números de telefone 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 e código todos os produtos devem constar no sistema, bem como a quantidade disponível em estoque. 7 #SQL - Consulta
  • 8.
  • 9.
    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
  • 10.
    SQL - DesafioQuestão1 – Crie uma consulta SQL que retorne o Código e o Nome de todos os funcionários da base de dados. Questão 2 – Crie uma consulta SQL que retorne o Código e o Nome dos funcionários do sexo masculino. Questão 3 – Crie uma consulta SQL que retorne o Código e o 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 do Produto, 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 do Cliente e o Nome da Cidade onde o cliente mora, para todos os clientes da base de dados. 10 #SQL - Consulta