Buscar

BD_Teoria_Aula10

Prévia do material em texto

BANCO DE DADOS
AULA 10
= SQL – DML =
Prof. Ivi Alex Franco Silva
E-mail: ivi.alex@puc-campinas.edu.br
Exemplo: Pedido - MER
possui
cliente vendedor produto
pedido
tirafaz
N
N
N
N
11
Exemplo: Pedido – Modelo Relacional
Alguns tipos de dados - Oracle
• char (n): cadeia de caracter de tamanho fixo (pode-se
usar character - máx n 255);
• varchar2(n): caracteres de tamanho variável (máx. 2000);
• integer: tipo inteiro;
• number (p,d): número com máx. de 38 caracteres, onde p
é o total incluindo a casa decimal e d é o número de casas
decimais. Ex: numeric(3,1) 44,5;
• float (n): número em ponto flutuante com precisão
definida pelo usuário em pelo menos n dígitos;
• date: tipo calendário contendos século, ano (4 dígitos),
mês, dia,horas, minutos e segundos. 12:00 quando
somente data for informado, formato padrão: DD-MON-
YY);
• long: alfanumérico de tamanho variável. ( 2Giga), um por
tabela. Não pode ser usado em consulta.
DDL: Criando as tabelas
• O comando CREATE TABLE cria a tabela solicitada e
obedece a seguinte forma:
CREATE TABLE <tabela>
(<descrição das colunas>
<descrição das chaves>);
• <tabela>: O nome da nova tabela a ser criada;
• <descrição das colunas>: É uma lista de colunas (campos)
e seus respectivos tipos de dados. (smallint, char, money,
varchar, integer, decimal, float, real, date, time,
timestamp, logical);
• <descrição das chaves>: É a lista de colunas que são
tratadas como chaves: primária ou estrangeira.
DDL: Criando as tabelas
-- Tabela: Cliente
create table cliente 
(
cod_cliente integer not null primary key, 
nome_cliente varchar2(100) not null, 
endereco varchar2 (50), 
cidade varchar2(30), 
cep char(8), 
cnpj char(20) not null unique, 
ie char(20)
);
-- Tabela: Vendedor
create table vendedor
(
cod_vendedor integer not null primary key,
nome_vendedor varchar2(50) not null,
salario_fixo number(6,2),
faixa_comissao char(1)
);
DDL: Criando as tabelas
-- Tabela: Produto
create table produto
(
cod_produto integer not null primary key,
unidade char(3) not null,
descricao_produto varchar2(30) not null
);
-- Tabela: Pedido
create table pedido
(
num_pedido integer not null primary key,
prazo_entrega date not null,
cod_cliente integer not null,
cod_vendedor integer not null,
foreign key (cod_cliente)
references cliente (cod_cliente),
foreign key (cod_vendedor)
references vendedor (cod_vendedor) 
);
DDL: Criando as tabelas
-- Tabela: Itens do Pedido
create table item_pedido
(
num_pedido integer not null,
cod_produto integer not null,
quantidade number(3),
valor_unitario number(10,2),
primary key (num_pedido, cod_produto),
foreign key (num_pedido)
references pedido(num_pedido),
foreign key (cod_produto)
references produto (cod_produto)
);
Representação de Dados - SQL
• Tabela (relação), coluna(atributo) e linha (tupla):
cod_produto descricao_produto unidade
1 Parafuso KG linha 1
2 Cimento KG linha 2
3 Areia M3 linha 3
4 Azulejo M2 linha 4
... ... ... linha n
coluna 1 coluna 2 coluna 3
PRODUTO
tabela
7.4. COMANDOS DML
DML
• Data
• Manipulation
• Language
Linguagem de Manipulação de Dados:
• Inserção: insert
• Consulta: select
• Atualização: update
• Exclusão: delete
7.4. COMANDOS DML
7.4.1. Comando INSERT
Esse comando é utilizado para inserir dados em uma tabela.
Sintaxe:
INSERT INTO <nome da tabela>
(<nome da(s) coluna(s)>)
VALUES (<valor(es)>);
Exemplo:
Inserção do produto “parafuso” na tabela PRODUTO:
insert into produto(cod_produto, descricao_produto,
unidade) values (1, ‘parafuso’, ‘KG’);
EXERCÍCIOS:
1. Inserir os seguintes produtos: ‘cimento’, ‘areia’,
‘azulejo’.
2. Inserir os clientes: ‘Atacado do Zé’, ‘Armazém São João’.
3. Inserir os vendedores: ‘Maria’, ‘Pedro’.
4. Inserir os pedidos:
a. 10 m3 de areia; 3 kg de parafuso; 20 kg de cimento
Vendedor: ‘Pedro’, Cliente: ‘Atacado do Zé’
b. 200 m2 de azulejo; 5 kg de areia
Vendedor: ‘Maria’, Cliente: ‘Armazém São João’
7.4. COMANDOS DML
7.4.2. Comando SELECT
Esse comando é utilizado para consulta dados em uma ou
mais tabelas.
Sintaxe:
SELECT <nome da(s) coluna(s)>
FROM <tabela(s)>
WHERE <restrição(ões)>;
7.4. COMANDOS DML
Inicialmente iremos trabalhar somente com a forma
simplificada do comando select. A cláusula where será
tratada mais adiante.
Sintaxe:
SELECT <nome da(s) coluna(s)>
FROM <tabela(s)>;
a. Selecionando colunas específicas:
select descricao_produto, unidade from produto;
b. Selecionando todas as colunas da tabela:
select * from produto;
EXERCÍCIOS:
1.Listar todos os clientes com seu código, nome e CNPJ.
2.Listar todos os dados de todos os vendedores.
3.Listar o número e o prazo de entrega dos pedidos
cadastrados.
7.4. COMANDOS DML
7.4.3. Comando UPDATE
Esse comando é utilizado para alterar dados em uma tabela.
Sintaxe:
UPDATE <nome da tabela>
SET <nome da(s) coluna(s)> = VALOR
WHERE <condição(ões)>;
Exemplo:
Alterar o salário fixo da vendedora Maria para R$ 2000:
update vendedor set salario_fixo = 2000.00
where nome_vendedor = ‘Maria’;
* conforme citado anteriormente, a cláusula where será tratada com mais detalhes nas 
próximas aulas
EXERCÍCIOS:
1. Acrescentar 2,5% ao salário fixo de todos os vendedores
cuja faixa de comissão seja igual a ‘1’.
2. Alterar o endereço do cliente ‘Atacado do Zé’ para: Rua
Luzitana, 2456, Centro e a cidade para: Campinas.
3. Alterar a descrição do produto cimento para ‘Cimento
Votorantin’.
4. Acrescentar 3% ao preço unitário de todos os produtos
vendidos em quilo.
7.4. COMANDOS DML
7.4.4. Comando DELETE
Esse comando é utilizado para apagar dados em uma tabela.
Sintaxe:
DELETE FROM <nome da tabela>
WHERE <condição(ões)>;
Exemplo:
Apagar todos os vendedores com faixa de comissão igual a 1:
delete from vendedor
where faixa_comissao = ‘1’;
EXERCÍCIOS:
1. Excluir todos os clientes cuja cidade seja ‘São Pedro’.
2. Excluir todos os vendedores cuja faixa de comissão seja
igual a ‘7’.
3. Excluir todos os produtos.

Continue navegando

Outros materiais