SlideShare a Scribd company logo
1 of 63
Banco de Dados
Jorge Ávila
Tabelas dos Exemplos
 As tabelas a seguir serão usadas nos exemplos

que se seguem:
 CLIENTE

(cod_cli, nome_cli, endereco, cidade, cep, uf)
 VENDEDOR
(cod_vend, nome_vend, sal_fixo, faixa_comiss)
 PEDIDO ( num_ped, prazo_entr, cd_cli, cd_vend)
 ITEM_PEDIDO (no_ped, cd_prod, qtd_ped)
 PRODUTO
(cod_prod, unid_prod, desc_prod, val_unit)
Criação de um Bando de Dados SQL
 Para a criação de um banco de dados em SQL

temos os seguintes comandos:
 Creat Data Base;

 Para conhecer quais os bancos de dados

existentes dentro do MySQL basta usar o
comando SHOW DATABASES. SHOW significa
mostrar, apresentar, exibir e DATABASES
significa bases de dados ou bancos de
dados, ou seja, manda mostrar os bancos de
dados existentes.
Criação e Destruição de Tabelas
 O comando CREATE TABLE é usado para criar uma

tabela. A sua forma geral é:
 CREATE TABLE <nome_tabela>
(<descrição das colunas>,
<descrição das chaves>);

 onde:
 <nome_tabela> dever ser substituído pelo nome da

tabela a ser criada.
 <descrição das colunas> deve ser substituída pela
relação das colunas da tabela e seus respectivos tipos
de dados (por
exemplo, smallint, char, varchar, integer, number, float e
etc). <descrição das chaves> deve ser substituída pela
lista das colunas que são tratadas como chaves
estrangeiras.
Script de Criação das Tabelas dos
Exemplos
 Algumas colunas podem receber o valor NULL

(nulo), e a coluna definida como chave primária,
além de não poder receber NULL.
Script de Criação das Tabelas dos
Exemplos
Criação e Destruição de Tabelas
 Para excluirmos uma tabela existente devemos usar

o comando DROP





TABLE. A sua forma geral é:
DROP TABLE <nome_tabela>;
onde:
<nome_tabela> dever ser substituído pelo nome da
tabela a ser excluída.
 Exemplos
 drop table item_pedido;
 drop table pedido;
 drop table vendedor;
 drop table produto;
 drop table cliente;
Executando Consultas sobre as
Tabelas
 Selecionando Colunas Específicas de uma

Tabela

 Problema:
 Listar todos os produtos com as respectivas

descrições, unidades e valores unitários.
Executando Consultas sobre as
Tabelas
 Problema:
 Listar os nomes dos clientes, as cidade e os

estados onde eles estão localizados.
EXERCICIO

1. Com base no que você já aprendeu sobre banco de dados faça
uma produção textual de no mínimo 5 linhas descrevendo o
diagrama abaixo:
EXERCICIO
2. Marque V para verdadeiro e F para falso:
( ) CREATE, DROP, ALTER são comandos da Linguagem de
Definição de
Dados (DDL);
( ) É possível usarmos o comando CREATE para alterar estruturas
da base de dados.
( ) O comando UPDATE realiza a exclusão de registros em uma
tabela;
( ) Para apagar linhas da tabela tanto faz usar o comando DROP
como o DELETE.
( ) O comando INSERT realiza a inclusão de um ou mais registros
em uma tabela;
A sequência correta seria:
a) V - V - F – V - F;
b) V - F - F – V - V;
c) F - V - V – F - F;
d) V - F - F – F - V;
EXERCICIO
3. Relacione a primeira coluna com a segunda e no final,
indique a resposta
correta:
1 - CREATE ( ) Comando responsável por inserir valores em
uma tabela;
2 – INSERT ( ) - Responsável por retornar registros de uma
tabela;
3 – DROP ( ) - Remove registros de uma tabela;
4 – SELECT ( ) - Tem o poder de remover estruturas do
banco de dados;
5 – DELETE ( ) - Responsável por criar estruturas no banco
de dados;
A sequência correta seria:
a) 4 - 2 - 1 - 3 - 5;
b) 2 - 4 - 5 - 3 - 1;
INTRODUÇÃO AO MySQL
1º Passo:

Após a Instalação do
MySQL no seu
computador, abra o
MySQL Command Line
Client. No meu caso eu
baixei a versão 5.5 e
sempre deixo fixado no
Menu Iniciar, mas
qualquer coisa é só
você seguir o caminho
(Iniciar-> Todos os
Programas-> MySQL->
MySQL Server).
INTRODUÇÃO AO MySQL
 2º Passo:
 Depois de Aberto o MySQL, ele pede para que

você entre com o password, ou seja, com a senha
que você definiu na hora da instalação.
INTRODUÇÃO AO MySQL
 3º Passo:
 Para conhecer quais os bancos de dados

existentes dentro do MySQL basta usar o comando
SHOW DATABASES. SHOW significa
mostrar, apresentar, exibir e DATABASES significa
bases de dados ou bancos de dados, ou
seja, manda mostrar os bancos de dados
existentes.
INTRODUÇÃO AO MySQL
 TIPOS DE DADOS NUMÉRICO:
TIPO

DESCRIÇÃO

BIT
BOOL

o mesmo que TINYINT
o mesmo que TINYINT

SMALLINT[(M)]

inteiros pequenos

INT[(M)]

inteiros regulares

INTEGER[(M)]

o mesmo que INT

BIGINT[(M)]

inteiros grandes

FLOAT(precisão)

números de ponto flutuante de precisão simples ou dupla

FLOAT[(M,D)]

números de ponto flutuante de precisão simples. O mesmo que
FLOAT(4)

DOUBLE[(M,D)]

números de ponto flutuante de precisão dupla. O mesmo que
FLOAT(8)

DOUBLE

O mesmo que DOUBLE[(M,D)]

PRECISION[(M,D)]

O mesmo que DOUBLE[(M,D)]

REAL[(M,D)]
DECIMAL[(M,D)]

O mesmo que DOUBLE[(M,D)]
número de ponto flutuante armazenado como char

NUMERIC[(M,D)]

O mesmo que DECIMAL

DEC[(M,D)]

O mesmo que DECIMAL
INTRODUÇÃO AO MySQL
 TIPOS DE DADOS DATA:
TIPO

DESCRIÇÃO

DATE

data. Exibido como YYYY-MM-DD

TIME

hora. Exibido como HH:MM:SS

DATETIME

data e hora. Exibido como YYYY-MM-DD HH:MM:SS

TIMESTAMP[(M)]

registro de data e hora útil para transações. Os formatos de
exibição podem ser:
TIMESTAMP YYYYMMDDHHMMSS TIMESTAMP(14)
YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS
TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD
TIMESTAMP(6) YYMMDD TIMESTAMP(4) YYMM TIMESTAMP(2)
YY

YEAR[(2)]

ano

YEAR[(4)]

ano
INTRODUÇÃO AO MySQL
 TIPOS DE DADOS STRING:
TIPO

CHAR
[NATIONAL]

DESCRIÇÃO
string de comprimento fixo M. NATIONAL especifica que o
conjunto de caracteres padrão (ANSI SQL) será
utilizado. BINARY especifica que os dados devem ser
tratados de modo a não haver distinção entre maiúsculas e
minúsculas (o padrão é distinguir).
o mesmo que CHAR(1)
string de comprimento variável

VARCHAR(M) [BINARY]

string de tamanho variável. O mesmo que [BINARY].

TINYBLOB
TINYTEXT

BLOB pequeno
TEXT pequeno

BLOB

BLOB normal

TEXT

TEXT normal

MEDIUMBLOB

BLOB médio

MEDIUMTEXT

TEXT médio

LONGBLOB

BLOB longo

LONGTEXT

TEXT longo

ENUM('valor1','valor2',...)

armazenam um dos valores listados ou NULL

[NATIONAL] CHAR(M)
[BINARY]
Atenção
 Muito cuidado, pois o mysql tem como

delimitador o ponto e vírgula (;), ou seja, se um
ponto e vírgula (;) aparecer em meio a um
código, o mysql entende que ali, o comando está
encerrado e não há necessidade de
continuidade.
 Muitos erros acontecem por falta do (ponto e
vírgula) no final do comando.
 Outra dica. No linux, o mysql é case-sensitive por
padrão. No windows não, tanto faz letras
maiúsculas como minúsculas. Para desabilitar a
sensibilidade do Linux, habilite o parâmetro
"lower_case_table_names" no MySQL e pronto.
NOT NULL
 São usados quando campo não pode ser nulo,

ou seja, não pode estar em branco.
 Tenha em mente que NULL é diferente de 0
(zero) e uma string vazia, ou seja, campos com
valores NULL são aqueles que não possuem
nenhum valor (NULL significa ausência de valor).
AUTO_INCREMENT
 O atributo AUTO_INCREMENT pode ser usado

para gerar uma identificação única para um novo
registro:
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.
Exemplo:
Vamos criar uma tabela para cadastro de clientes.

CREATE TABLE clientes(
codigo int(4) AUTO_INCREMENT,
nome varchar(30) NOT NULL,
email varchar(50),
data_nascimento date,
PRIMARY KEY (codigo)
)
FOREIGN KEY
 Os Bancos de Dados Relacionais são formados

de várias tabelas e utilizam chaves como forma
de referenciar outras tabelas.
 Esse relacionamento entre as tabelas é feito
através das chaves estrangeiras.
 Quando falamos de chave estrangeira usamos a
sigla FK referente à palavra FOREIGN KEY.
 Por exemplo, poderíamos abaixo fazer a tabela
CLIENTE com os campos „cliente_id, nome,
endereço cidade‟ e a tabela PEDIDO com os
campos „pedido_id, cliente_id, preço, data‟ para
armazenar os pedidos.
FOREIGN KEY
 Os campos com sublinhado simples são as

chaves primárias (PK) que dão uma identificação
única a cada item, e o campo com pontilhado é
uma chave estrangeira através da qual a tabela
CLIENTE se relaciona com a tabela PEDIDO.
FOREIGN KEY
 Esse tipo de representação evita que para cada

pedido precisemos colocar a toda a identificação do
cliente, basta armazenarmos o id do cliente na tabela
de pedidos e através dele podemos identificar de
quem é o pedido.
 Uma chave estrangeira sempre se relaciona com a
chave primária da tabela do relacionamento.
 Tratando de códigos, Vamos criar um banco de dados
chamado VENDA e as duas tabelas CLIENTE e
PEDIDO com os campos que foram definidos.
 A definição da chave estrangeira segue o seguinte
padrão:
FOREIGN KEY<nome da FK> REFERENCES <
tabela
da PK>(<nome da PK>)
FOREIGN KEY
 OBS: o nome e o tipo de dado da PK devem

ser o mesmo da FK. A palavra REFERENCES
é usada para dizer qual tabela a FK está
referenciando.
 Exemplo:
create table recado (
id_recado INTEGER not null auto_increment,
assunto VARCHAR(100),
recado TEXT,
datahora DATETIME
id_user INTEGER not null,
primary key (id_recado),
FOREIGN KEY (id_usr) REFERENCES usuario (id_usr)
)
EXERCICIO pg(88,89 e 90)
1) Comando SQL para criar um
banco de dados chamado
“locadora”
a) create databases locadora;
b) create locadora;
c) create database locadora;
d) use database locadora;
2) Comando SQL para apagar
um banco de dados chamado
"supermercado"
a) delete database
supermercado;
b) drop table supermecado;
c) drop supermercado;
d) drop database
supermercado;
e) delete supermercado;

3) Comando SQL para entrar
no banco de dados chamado
"EEEP"
a) use database EEEP;
b) use table EEEP;
c) create EEEP;
d) usage EEEP;
e) use EEEP;
4) Comando SQL para mostrar
todos os bancos de dados
existentes;
a) show database;
b) show tables;
c) show databases;
d) show BD;
EXERCICIO
5) Comando SQL para
apagar a tabela
"produtos" do BD
"supermercado"
a) drop table produtos;
b) delete table
produtos;
c) drop supermercado;
d) drop table
supermercado;
e) drop produtos;

6) Assinale a opção
correta:
O comando DESCRIBE
gera o mesmo resultado
do
comando_____________
___ .
A opção que melhor
completa a sentença é
a) SHOW DETAILS
FROM;
b) SELECT DETAILS
EXERCICIO
7) Relacione a primeira coluna com a segunda, após,
indique a sequência correta:
1 - ALTER TABLE ADD ( ) Usado para apagar uma
tabela de um BD
2 - ALTER TABLE CHANGE ( ) Usado para trocar o
nome e o tipo de uma coluna
3- DROP TABLE ( ) Usadas para adicionar uma coluna
em uma tabela
A sequência correta seria:
a) 3 - 1 - 2;
b) 2 - 3 - 1;
c) 1 - 2 - 3;
d) 3 - 2 - 1;
EXERCICIO
8) Marque a opção em que a criação da tabela
"filmes" esta feito corretamente:
EXERCICIO
9) Com base no exemplo que criamos chave
primária(PK) e chave estrangeira(FK), crie um banco de
dados EMPRESA e as duas tabelas DEPTO e EMP
descritas abaixo com suas respectivas colunas.

Escreva o código da criação
EXERCICIO
 Crie o banco de dados de locação de automóvel

mediante a este diagrama:
Select
 O comando SQL que nos permite realizar

consultas ao banco de dados é o comando
SELECT.
 EX:

SELECT * FROM DEPT;
 O exemplo utiliza o coringa "*" para

selecionar as colunas na ordem em que
foram criadas.
 A instrução Select, como pudemos observar
seleciona um grupo de registros de uma (ou
mais) tabela(s).
 No caso a instrução From nos indica a
Select
 Where como base das Restrição de tuplas.
 A cláusula "where" corresponde ao operador restrição

da álgebra relacional.
 Contém a condição que as tuplas devem obedecer a fim
de serem listadas. Ela pode comparar valores em
colunas, literais, expressões aritméticas ou funções.
 Operadores lógicos:

operador significado
=
igual a
>
maior que
>=
maior que ou igual a
<
menor que
<=
menor que ou igual a
Select
 Exemplos:

SELECT EMPNOME, EMPSERV
FROM EMP
WHERE DEPNUME > 10;

SELECT EMPNOME, EMPSERV
FROM EMP
WHERE EMPSERV = 'GERENTE';
O conjunto de caracteres ou datas devem estar entre
apóstrofes („) na cláusula "where".
Select
 Selecione todos os departamentos cujo

orçamento mensal seja maior que 100000.
Apresente o Nome de tal departamento e seu
orçamento anual, que será obtido multiplicandose o orçamento mensal por 12.
SELECT DEPNOME, DEPORCA * 12
FROM DEPT
WHERE DEPORCA > 100000;
Select
 Apresente todos os salários existentes na

empresa, porém omita eventuais duplicidades.
 A cláusula Distinct elimina duplicidades,

significando que somente relações distintas serão
apresentadas como resultado de uma pesquisa.
SELECT DISTINCT EMPSERV
FROM EMP;
Select
 ORDER BY:
 Até o momento vimos como obter dados de uma

tabela utilizando os comandos SELECT e WHERE.
 Porém, frequentemente precisamos listar os dados
por uma ordem em particular. Pode ser por ordem
ascendente ou descendente. Para isso podemos
utilizar a cláusula ORDER BY para ordenar os
dados. A sintaxe básica da cláusula ORDER BY é a
seguinte:
SELECT < coluna > FROM < tabela > ORDER BY < coluna
>;
OBS
 Por padrão o ORDER BY vem como ASC

significa que os resultados serão
apresentados por ordem ascendente, ou seja,
do menor para o maior.
 Mais também pode ser DESC significa que os
resultados serão apresentados por ordem
descendente, para isso acontecer você
precisa declara-lo.
Exemplo
 Como exemplo irei usar uma tabela que criei

anteriormente chamada produto:
Exemplo
 Perceba que a tabela possui 8 produtos

cadastrados, suponhamos que eu preciso ver os
preços de forma ascendente, então iremos
selecionar o nome e o preço ordenado pelo
próprio preço, veja como ficou:
Exemplo
 Podemos também ordenar os dados de outras

maneiras, se eu quero ver os nomes e o preço
dos produtos em ordem alfabética basta ordenar
pelo nome de forma ascendente.
Exemplo
 Também posso em vez de colocar o nome da

coluna que eu quero ordenar basta colocar o
numero dela na sequencia selecionada, por
exemplo, se eu selecionei nome e preço então
nome é 1 e preço é 2 e assim por diante:
INSTRUÇÕES DML – UPDATE
 O comando para atualizar os dados é UPDATE,

ele possui a seguinte sintaxe:
UPDATE < tabela > SET < campo > = “novo
valor” WHERE < condição > ;
tabela: nome da tabela que será modificada
set: define qual campo será alterado
campo: campo que terá seu valor alterado
novo valor: valor que substituirá o antigo dado
cadastrado em campo
 where: se não for informado, a tabela inteira será
atualizada
 condição: regra que impõe condição para
execução do comando




EXEMPLO
 Como exemplo usaremos a tabela cliente que foi

usada nos exemplos anteriores.
 Suponhamos que o cliente de nome Francisco se
mudou, então precisamos atualizar o seu registro
colocando o seu novo endereço.
EXEMPLO
UPDATE
 Também podemos alterar mais de um campo de

uma vez. Suponhamos que o cliente Pedro se
mudou para outra cidade, precisamos alterar o
endereço e a cidade atual, não precisamos criar
dois UPDATES basta separa-los por vírgula.
UPDATE < tabela > SET < campo1 > = “valor1”,
< campo2 > = “valor2” WHERE < condição > ;
Exemplo
OBS
 Devemos passar sempre o WHERE, que é

uma espécie de filtro em nossa tabela, porque
senão o passarmos atualizaremos TODOS os
dados da tabela e isso pode acarretar
diversos problemas, dependendo do tamanho
e da complexidade da sua tabela.
 Imagina se esquecermos de colocar uma
condição em uma tabela de 1.000 registros e
alterarmos todos os endereços dos clientes
para um só.
INSTRUÇÕES DML – DELETE
 A forma mais simples de se fazer um DELETE é

excluindo todos os dados de uma tabela. A
síntese básica é:
DELETE FROM < nome da tabela >;
 Se não for especificada nenhuma condição então
serão excluídos todos os dados da tabela, porém
se você quer excluir somente um registro é
preciso usar a cláusula WHERE informando qual
será a condição para deletar.
 DELETE FROM < nome da tabela > WHERE <
condição >;
OBS
 Lembre-se que este comando, assim como o

UPDATE, pode ser perigoso em algumas
situações, já que, uma vez executado esses
comandos, não será possível desfazer a ação
realizada.
 Portanto, devemos ficar atentos ao usar esses
comandos em tabelas complexas.
EXEMPLO
 Como exemplo vamos usar a mesma tabela que

usamos nos comandos INSERT, SELECT e
UPDATE, que é a tabela cliente do banco de
dados venda.
 Suponhamos que o Francisco não é mais o
nosso cliente, então devemos exclui-lo da nossa
tabela, para isso usamos o comando DELETE.
EXEMPLO
 Perceba que usei a condição referenciando o

cliente-id. Em banco de dados todo registro deve
possuir o seu código, quando vamos alterar ou
excluir um registro é bom que coloquemos como
condição o código do registro, porque o nome
pode ser que apareça outro igual, mais o código
não.
Exemplo LIKE
 Com este operador, podemos comparar Strings.

O percentual (%) substitui nenhum, um ou mais
caracteres, já a sublinha (_) substitui somente um
caractere.
 Utilizando a combinação desses caracteres
especiais com o que se quer localizar, pode-se
conseguir uma variedade muito grande de
expressões.
 Veja na tabela a seguir algumas possíveis
combinações:
EXEMPLO
 SELECT * FROM contatos WHERE nome LIKE

' < condição > ' ;
EXEMPLO
 SELECT * FROM contatos WHERE nome LIKE

' < condição > ' ;
jorgeavila11.wordpress.com
Gostou ?
Compartilha...

More Related Content

What's hot

Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Leinylson Fontinele
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Aula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoAula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoSérgio Souza Costa
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Universidade Zambeze
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLRildo (@rildosan) Santos
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 

What's hot (20)

Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Aula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoAula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computação
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Dhcp
DhcpDhcp
Dhcp
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Criação de Sites web Tutorial
Criação de Sites web TutorialCriação de Sites web Tutorial
Criação de Sites web Tutorial
 
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Sistema acadêmico
Sistema acadêmicoSistema acadêmico
Sistema acadêmico
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 

Viewers also liked (20)

Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
Aula 1
Aula 1Aula 1
Aula 1
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Aula 4 semana
Aula 4 semanaAula 4 semana
Aula 4 semana
 
Aula 7 semana
Aula 7 semanaAula 7 semana
Aula 7 semana
 
Aula 2 semana
Aula 2 semanaAula 2 semana
Aula 2 semana
 
Aula 3 semana
Aula 3 semanaAula 3 semana
Aula 3 semana
 
Semana11
Semana11Semana11
Semana11
 
Aula 1 semana
Aula 1 semanaAula 1 semana
Aula 1 semana
 
Aula 5 semana
Aula 5 semanaAula 5 semana
Aula 5 semana
 
Aula 8 semana
Aula 8 semanaAula 8 semana
Aula 8 semana
 
Aula 6 semana
Aula 6 semanaAula 6 semana
Aula 6 semana
 
Aula 08
Aula 08Aula 08
Aula 08
 

Similar to Aula 11 banco de dados

Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4Ed W. Jr
 
Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1fabriciodenis
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Marco Pinheiro
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysqlArley Rodrigues
 
Apostila sql
Apostila sqlApostila sql
Apostila sqlsnetobr
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Emiliano Barbosa
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoHelder Lopes
 
Apostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parteApostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parteIlton Barbosa
 

Similar to Aula 11 banco de dados (20)

Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
Curso SQL Server 2005
Curso SQL Server 2005Curso SQL Server 2005
Curso SQL Server 2005
 
Sql01
Sql01Sql01
Sql01
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
Bd08
Bd08Bd08
Bd08
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
MYSQL - TLBDII
MYSQL - TLBDIIMYSQL - TLBDII
MYSQL - TLBDII
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Apostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parteApostila PhP com Wamp, 2a. parte
Apostila PhP com Wamp, 2a. parte
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 

More from Jorge Ávila Miranda (20)

Aula16 - Jquery
Aula16 - JqueryAula16 - Jquery
Aula16 - Jquery
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Aula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPAula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHP
 
Aula14 - Funções em PHP
Aula14 - Funções em PHPAula14 - Funções em PHP
Aula14 - Funções em PHP
 
Aula Herança
Aula HerançaAula Herança
Aula Herança
 
Aula05 - Poojava
Aula05 - PoojavaAula05 - Poojava
Aula05 - Poojava
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
Aula09 - Java Script
Aula09 - Java ScriptAula09 - Java Script
Aula09 - Java Script
 
Aula08 - Java Script
Aula08 - Java ScriptAula08 - Java Script
Aula08 - Java Script
 
Aula07 - JavaScript
Aula07 - JavaScriptAula07 - JavaScript
Aula07 - JavaScript
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
 
Aula06 - JavaScript
Aula06 - JavaScriptAula06 - JavaScript
Aula06 - JavaScript
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Aula04-JavaScript
Aula04-JavaScriptAula04-JavaScript
Aula04-JavaScript
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 

Aula 11 banco de dados

  • 2. Tabelas dos Exemplos  As tabelas a seguir serão usadas nos exemplos que se seguem:  CLIENTE (cod_cli, nome_cli, endereco, cidade, cep, uf)  VENDEDOR (cod_vend, nome_vend, sal_fixo, faixa_comiss)  PEDIDO ( num_ped, prazo_entr, cd_cli, cd_vend)  ITEM_PEDIDO (no_ped, cd_prod, qtd_ped)  PRODUTO (cod_prod, unid_prod, desc_prod, val_unit)
  • 3. Criação de um Bando de Dados SQL  Para a criação de um banco de dados em SQL temos os seguintes comandos:  Creat Data Base;  Para conhecer quais os bancos de dados existentes dentro do MySQL basta usar o comando SHOW DATABASES. SHOW significa mostrar, apresentar, exibir e DATABASES significa bases de dados ou bancos de dados, ou seja, manda mostrar os bancos de dados existentes.
  • 4. Criação e Destruição de Tabelas  O comando CREATE TABLE é usado para criar uma tabela. A sua forma geral é:  CREATE TABLE <nome_tabela> (<descrição das colunas>, <descrição das chaves>);  onde:  <nome_tabela> dever ser substituído pelo nome da tabela a ser criada.  <descrição das colunas> deve ser substituída pela relação das colunas da tabela e seus respectivos tipos de dados (por exemplo, smallint, char, varchar, integer, number, float e etc). <descrição das chaves> deve ser substituída pela lista das colunas que são tratadas como chaves estrangeiras.
  • 5. Script de Criação das Tabelas dos Exemplos  Algumas colunas podem receber o valor NULL (nulo), e a coluna definida como chave primária, além de não poder receber NULL.
  • 6. Script de Criação das Tabelas dos Exemplos
  • 7. Criação e Destruição de Tabelas  Para excluirmos uma tabela existente devemos usar o comando DROP     TABLE. A sua forma geral é: DROP TABLE <nome_tabela>; onde: <nome_tabela> dever ser substituído pelo nome da tabela a ser excluída.  Exemplos  drop table item_pedido;  drop table pedido;  drop table vendedor;  drop table produto;  drop table cliente;
  • 8. Executando Consultas sobre as Tabelas  Selecionando Colunas Específicas de uma Tabela  Problema:  Listar todos os produtos com as respectivas descrições, unidades e valores unitários.
  • 9. Executando Consultas sobre as Tabelas  Problema:  Listar os nomes dos clientes, as cidade e os estados onde eles estão localizados.
  • 10. EXERCICIO 1. Com base no que você já aprendeu sobre banco de dados faça uma produção textual de no mínimo 5 linhas descrevendo o diagrama abaixo:
  • 11. EXERCICIO 2. Marque V para verdadeiro e F para falso: ( ) CREATE, DROP, ALTER são comandos da Linguagem de Definição de Dados (DDL); ( ) É possível usarmos o comando CREATE para alterar estruturas da base de dados. ( ) O comando UPDATE realiza a exclusão de registros em uma tabela; ( ) Para apagar linhas da tabela tanto faz usar o comando DROP como o DELETE. ( ) O comando INSERT realiza a inclusão de um ou mais registros em uma tabela; A sequência correta seria: a) V - V - F – V - F; b) V - F - F – V - V; c) F - V - V – F - F; d) V - F - F – F - V;
  • 12. EXERCICIO 3. Relacione a primeira coluna com a segunda e no final, indique a resposta correta: 1 - CREATE ( ) Comando responsável por inserir valores em uma tabela; 2 – INSERT ( ) - Responsável por retornar registros de uma tabela; 3 – DROP ( ) - Remove registros de uma tabela; 4 – SELECT ( ) - Tem o poder de remover estruturas do banco de dados; 5 – DELETE ( ) - Responsável por criar estruturas no banco de dados; A sequência correta seria: a) 4 - 2 - 1 - 3 - 5; b) 2 - 4 - 5 - 3 - 1;
  • 13. INTRODUÇÃO AO MySQL 1º Passo: Após a Instalação do MySQL no seu computador, abra o MySQL Command Line Client. No meu caso eu baixei a versão 5.5 e sempre deixo fixado no Menu Iniciar, mas qualquer coisa é só você seguir o caminho (Iniciar-> Todos os Programas-> MySQL-> MySQL Server).
  • 14. INTRODUÇÃO AO MySQL  2º Passo:  Depois de Aberto o MySQL, ele pede para que você entre com o password, ou seja, com a senha que você definiu na hora da instalação.
  • 15. INTRODUÇÃO AO MySQL  3º Passo:  Para conhecer quais os bancos de dados existentes dentro do MySQL basta usar o comando SHOW DATABASES. SHOW significa mostrar, apresentar, exibir e DATABASES significa bases de dados ou bancos de dados, ou seja, manda mostrar os bancos de dados existentes.
  • 16. INTRODUÇÃO AO MySQL  TIPOS DE DADOS NUMÉRICO: TIPO DESCRIÇÃO BIT BOOL o mesmo que TINYINT o mesmo que TINYINT SMALLINT[(M)] inteiros pequenos INT[(M)] inteiros regulares INTEGER[(M)] o mesmo que INT BIGINT[(M)] inteiros grandes FLOAT(precisão) números de ponto flutuante de precisão simples ou dupla FLOAT[(M,D)] números de ponto flutuante de precisão simples. O mesmo que FLOAT(4) DOUBLE[(M,D)] números de ponto flutuante de precisão dupla. O mesmo que FLOAT(8) DOUBLE O mesmo que DOUBLE[(M,D)] PRECISION[(M,D)] O mesmo que DOUBLE[(M,D)] REAL[(M,D)] DECIMAL[(M,D)] O mesmo que DOUBLE[(M,D)] número de ponto flutuante armazenado como char NUMERIC[(M,D)] O mesmo que DECIMAL DEC[(M,D)] O mesmo que DECIMAL
  • 17. INTRODUÇÃO AO MySQL  TIPOS DE DADOS DATA: TIPO DESCRIÇÃO DATE data. Exibido como YYYY-MM-DD TIME hora. Exibido como HH:MM:SS DATETIME data e hora. Exibido como YYYY-MM-DD HH:MM:SS TIMESTAMP[(M)] registro de data e hora útil para transações. Os formatos de exibição podem ser: TIMESTAMP YYYYMMDDHHMMSS TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD TIMESTAMP(6) YYMMDD TIMESTAMP(4) YYMM TIMESTAMP(2) YY YEAR[(2)] ano YEAR[(4)] ano
  • 18. INTRODUÇÃO AO MySQL  TIPOS DE DADOS STRING: TIPO CHAR [NATIONAL] DESCRIÇÃO string de comprimento fixo M. NATIONAL especifica que o conjunto de caracteres padrão (ANSI SQL) será utilizado. BINARY especifica que os dados devem ser tratados de modo a não haver distinção entre maiúsculas e minúsculas (o padrão é distinguir). o mesmo que CHAR(1) string de comprimento variável VARCHAR(M) [BINARY] string de tamanho variável. O mesmo que [BINARY]. TINYBLOB TINYTEXT BLOB pequeno TEXT pequeno BLOB BLOB normal TEXT TEXT normal MEDIUMBLOB BLOB médio MEDIUMTEXT TEXT médio LONGBLOB BLOB longo LONGTEXT TEXT longo ENUM('valor1','valor2',...) armazenam um dos valores listados ou NULL [NATIONAL] CHAR(M) [BINARY]
  • 19. Atenção  Muito cuidado, pois o mysql tem como delimitador o ponto e vírgula (;), ou seja, se um ponto e vírgula (;) aparecer em meio a um código, o mysql entende que ali, o comando está encerrado e não há necessidade de continuidade.  Muitos erros acontecem por falta do (ponto e vírgula) no final do comando.  Outra dica. No linux, o mysql é case-sensitive por padrão. No windows não, tanto faz letras maiúsculas como minúsculas. Para desabilitar a sensibilidade do Linux, habilite o parâmetro "lower_case_table_names" no MySQL e pronto.
  • 20. NOT NULL  São usados quando campo não pode ser nulo, ou seja, não pode estar em branco.  Tenha em mente que NULL é diferente de 0 (zero) e uma string vazia, ou seja, campos com valores NULL são aqueles que não possuem nenhum valor (NULL significa ausência de valor).
  • 21. AUTO_INCREMENT  O atributo AUTO_INCREMENT pode ser usado para gerar uma identificação única para um novo registro:
  • 22. 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. Exemplo: Vamos criar uma tabela para cadastro de clientes. CREATE TABLE clientes( codigo int(4) AUTO_INCREMENT, nome varchar(30) NOT NULL, email varchar(50), data_nascimento date, PRIMARY KEY (codigo) )
  • 23. FOREIGN KEY  Os Bancos de Dados Relacionais são formados de várias tabelas e utilizam chaves como forma de referenciar outras tabelas.  Esse relacionamento entre as tabelas é feito através das chaves estrangeiras.  Quando falamos de chave estrangeira usamos a sigla FK referente à palavra FOREIGN KEY.  Por exemplo, poderíamos abaixo fazer a tabela CLIENTE com os campos „cliente_id, nome, endereço cidade‟ e a tabela PEDIDO com os campos „pedido_id, cliente_id, preço, data‟ para armazenar os pedidos.
  • 24. FOREIGN KEY  Os campos com sublinhado simples são as chaves primárias (PK) que dão uma identificação única a cada item, e o campo com pontilhado é uma chave estrangeira através da qual a tabela CLIENTE se relaciona com a tabela PEDIDO.
  • 25. FOREIGN KEY  Esse tipo de representação evita que para cada pedido precisemos colocar a toda a identificação do cliente, basta armazenarmos o id do cliente na tabela de pedidos e através dele podemos identificar de quem é o pedido.  Uma chave estrangeira sempre se relaciona com a chave primária da tabela do relacionamento.  Tratando de códigos, Vamos criar um banco de dados chamado VENDA e as duas tabelas CLIENTE e PEDIDO com os campos que foram definidos.  A definição da chave estrangeira segue o seguinte padrão: FOREIGN KEY<nome da FK> REFERENCES < tabela da PK>(<nome da PK>)
  • 26. FOREIGN KEY  OBS: o nome e o tipo de dado da PK devem ser o mesmo da FK. A palavra REFERENCES é usada para dizer qual tabela a FK está referenciando.  Exemplo: create table recado ( id_recado INTEGER not null auto_increment, assunto VARCHAR(100), recado TEXT, datahora DATETIME id_user INTEGER not null, primary key (id_recado), FOREIGN KEY (id_usr) REFERENCES usuario (id_usr) )
  • 27. EXERCICIO pg(88,89 e 90) 1) Comando SQL para criar um banco de dados chamado “locadora” a) create databases locadora; b) create locadora; c) create database locadora; d) use database locadora; 2) Comando SQL para apagar um banco de dados chamado "supermercado" a) delete database supermercado; b) drop table supermecado; c) drop supermercado; d) drop database supermercado; e) delete supermercado; 3) Comando SQL para entrar no banco de dados chamado "EEEP" a) use database EEEP; b) use table EEEP; c) create EEEP; d) usage EEEP; e) use EEEP; 4) Comando SQL para mostrar todos os bancos de dados existentes; a) show database; b) show tables; c) show databases; d) show BD;
  • 28. EXERCICIO 5) Comando SQL para apagar a tabela "produtos" do BD "supermercado" a) drop table produtos; b) delete table produtos; c) drop supermercado; d) drop table supermercado; e) drop produtos; 6) Assinale a opção correta: O comando DESCRIBE gera o mesmo resultado do comando_____________ ___ . A opção que melhor completa a sentença é a) SHOW DETAILS FROM; b) SELECT DETAILS
  • 29. EXERCICIO 7) Relacione a primeira coluna com a segunda, após, indique a sequência correta: 1 - ALTER TABLE ADD ( ) Usado para apagar uma tabela de um BD 2 - ALTER TABLE CHANGE ( ) Usado para trocar o nome e o tipo de uma coluna 3- DROP TABLE ( ) Usadas para adicionar uma coluna em uma tabela A sequência correta seria: a) 3 - 1 - 2; b) 2 - 3 - 1; c) 1 - 2 - 3; d) 3 - 2 - 1;
  • 30. EXERCICIO 8) Marque a opção em que a criação da tabela "filmes" esta feito corretamente:
  • 31. EXERCICIO 9) Com base no exemplo que criamos chave primária(PK) e chave estrangeira(FK), crie um banco de dados EMPRESA e as duas tabelas DEPTO e EMP descritas abaixo com suas respectivas colunas. Escreva o código da criação
  • 32. EXERCICIO  Crie o banco de dados de locação de automóvel mediante a este diagrama:
  • 33. Select  O comando SQL que nos permite realizar consultas ao banco de dados é o comando SELECT.  EX: SELECT * FROM DEPT;  O exemplo utiliza o coringa "*" para selecionar as colunas na ordem em que foram criadas.  A instrução Select, como pudemos observar seleciona um grupo de registros de uma (ou mais) tabela(s).  No caso a instrução From nos indica a
  • 34. Select  Where como base das Restrição de tuplas.  A cláusula "where" corresponde ao operador restrição da álgebra relacional.  Contém a condição que as tuplas devem obedecer a fim de serem listadas. Ela pode comparar valores em colunas, literais, expressões aritméticas ou funções.  Operadores lógicos: operador significado = igual a > maior que >= maior que ou igual a < menor que <= menor que ou igual a
  • 35. Select  Exemplos: SELECT EMPNOME, EMPSERV FROM EMP WHERE DEPNUME > 10; SELECT EMPNOME, EMPSERV FROM EMP WHERE EMPSERV = 'GERENTE'; O conjunto de caracteres ou datas devem estar entre apóstrofes („) na cláusula "where".
  • 36. Select  Selecione todos os departamentos cujo orçamento mensal seja maior que 100000. Apresente o Nome de tal departamento e seu orçamento anual, que será obtido multiplicandose o orçamento mensal por 12. SELECT DEPNOME, DEPORCA * 12 FROM DEPT WHERE DEPORCA > 100000;
  • 37. Select  Apresente todos os salários existentes na empresa, porém omita eventuais duplicidades.  A cláusula Distinct elimina duplicidades, significando que somente relações distintas serão apresentadas como resultado de uma pesquisa. SELECT DISTINCT EMPSERV FROM EMP;
  • 38. Select  ORDER BY:  Até o momento vimos como obter dados de uma tabela utilizando os comandos SELECT e WHERE.  Porém, frequentemente precisamos listar os dados por uma ordem em particular. Pode ser por ordem ascendente ou descendente. Para isso podemos utilizar a cláusula ORDER BY para ordenar os dados. A sintaxe básica da cláusula ORDER BY é a seguinte: SELECT < coluna > FROM < tabela > ORDER BY < coluna >;
  • 39. OBS  Por padrão o ORDER BY vem como ASC significa que os resultados serão apresentados por ordem ascendente, ou seja, do menor para o maior.  Mais também pode ser DESC significa que os resultados serão apresentados por ordem descendente, para isso acontecer você precisa declara-lo.
  • 40. Exemplo  Como exemplo irei usar uma tabela que criei anteriormente chamada produto:
  • 41. Exemplo  Perceba que a tabela possui 8 produtos cadastrados, suponhamos que eu preciso ver os preços de forma ascendente, então iremos selecionar o nome e o preço ordenado pelo próprio preço, veja como ficou:
  • 42. Exemplo  Podemos também ordenar os dados de outras maneiras, se eu quero ver os nomes e o preço dos produtos em ordem alfabética basta ordenar pelo nome de forma ascendente.
  • 43. Exemplo  Também posso em vez de colocar o nome da coluna que eu quero ordenar basta colocar o numero dela na sequencia selecionada, por exemplo, se eu selecionei nome e preço então nome é 1 e preço é 2 e assim por diante:
  • 44. INSTRUÇÕES DML – UPDATE  O comando para atualizar os dados é UPDATE, ele possui a seguinte sintaxe: UPDATE < tabela > SET < campo > = “novo valor” WHERE < condição > ; tabela: nome da tabela que será modificada set: define qual campo será alterado campo: campo que terá seu valor alterado novo valor: valor que substituirá o antigo dado cadastrado em campo  where: se não for informado, a tabela inteira será atualizada  condição: regra que impõe condição para execução do comando    
  • 45. EXEMPLO  Como exemplo usaremos a tabela cliente que foi usada nos exemplos anteriores.  Suponhamos que o cliente de nome Francisco se mudou, então precisamos atualizar o seu registro colocando o seu novo endereço.
  • 47. UPDATE  Também podemos alterar mais de um campo de uma vez. Suponhamos que o cliente Pedro se mudou para outra cidade, precisamos alterar o endereço e a cidade atual, não precisamos criar dois UPDATES basta separa-los por vírgula. UPDATE < tabela > SET < campo1 > = “valor1”, < campo2 > = “valor2” WHERE < condição > ;
  • 49. OBS  Devemos passar sempre o WHERE, que é uma espécie de filtro em nossa tabela, porque senão o passarmos atualizaremos TODOS os dados da tabela e isso pode acarretar diversos problemas, dependendo do tamanho e da complexidade da sua tabela.  Imagina se esquecermos de colocar uma condição em uma tabela de 1.000 registros e alterarmos todos os endereços dos clientes para um só.
  • 50. INSTRUÇÕES DML – DELETE  A forma mais simples de se fazer um DELETE é excluindo todos os dados de uma tabela. A síntese básica é: DELETE FROM < nome da tabela >;  Se não for especificada nenhuma condição então serão excluídos todos os dados da tabela, porém se você quer excluir somente um registro é preciso usar a cláusula WHERE informando qual será a condição para deletar.  DELETE FROM < nome da tabela > WHERE < condição >;
  • 51. OBS  Lembre-se que este comando, assim como o UPDATE, pode ser perigoso em algumas situações, já que, uma vez executado esses comandos, não será possível desfazer a ação realizada.  Portanto, devemos ficar atentos ao usar esses comandos em tabelas complexas.
  • 52. EXEMPLO  Como exemplo vamos usar a mesma tabela que usamos nos comandos INSERT, SELECT e UPDATE, que é a tabela cliente do banco de dados venda.  Suponhamos que o Francisco não é mais o nosso cliente, então devemos exclui-lo da nossa tabela, para isso usamos o comando DELETE.
  • 53. EXEMPLO  Perceba que usei a condição referenciando o cliente-id. Em banco de dados todo registro deve possuir o seu código, quando vamos alterar ou excluir um registro é bom que coloquemos como condição o código do registro, porque o nome pode ser que apareça outro igual, mais o código não.
  • 54.
  • 55.
  • 56.
  • 57. Exemplo LIKE  Com este operador, podemos comparar Strings. O percentual (%) substitui nenhum, um ou mais caracteres, já a sublinha (_) substitui somente um caractere.  Utilizando a combinação desses caracteres especiais com o que se quer localizar, pode-se conseguir uma variedade muito grande de expressões.  Veja na tabela a seguir algumas possíveis combinações:
  • 58.
  • 59. EXEMPLO  SELECT * FROM contatos WHERE nome LIKE ' < condição > ' ;
  • 60. EXEMPLO  SELECT * FROM contatos WHERE nome LIKE ' < condição > ' ;
  • 61.