Baixe o app para aproveitar ainda mais
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.
Compartilhar