Modelagem de Banco de Dados 01 Prof. Edson Belém · Modelagem de Banco de Dados Prof. Edson Belém...

Preview:

Citation preview

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 1

Mysql - Banco de Dados de Médio de Porte, Toda Estrutura de

Defesa (Fechar o Banco de Dados Garantindo a sua Segurança, DBA)) AD _ Administrador De Dados ... Projeto Conceitual --> Modelo Lógico --> Modelo Físico Entidade _ Tudo que tem uma representação no Mundo real, onde em banco seria uma tabela...

https://www.mysql.com/

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 2

Observo Direitinho o Serviço antes de entrar no Mysql

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 3

Services.msc

Irei Criar uma tabela Cliente ... Cliente idCliente _ numero (inteiro ou real) int ou double (INT ou double) nome _ texto (varchar(tamanho) ) _ 255 email _ texto (varchar) sexo _ texto (varhcar) valorMensalidade _ numero (double)

TELEFONE operadora tipo numero

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 4

#comentario #criar um banco de dados no mysql #Primeiro Banco #Dentro do Banco é a tabela ... # a senha do MYSQL _ é coti #Somente os comandos #observar a hora select now(); +---------------------+ | now() | +---------------------+ | 2016-04-11 16:01:33 | +---------------------+

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 5

#Quem sou (que usuário sou) #NO MYSQL O adm É CHAMADO DE ROOT (DBA) #CUIDADO SELECT USER(); --root@localhost +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ #Qualquer tipo de calculo "" _ tituo da resposta select 10 * 20 "multiplicacao 10*20"; +---------------------+ | multiplicacao 10*20 | +---------------------+ | 200 | +---------------------+

#Primeiro eu drop para testar (Perigo jamais faça isso) #SOMENTE NA COTI #nao faça em casa jamais em banco de Produção #apago o banco chamado Aula1 drop database if exists aula1; #cria o banco (aula1) create database if not exists aula1; #Entro no Banco de dados # se Conecta no Banco de Dados use aula1; #Mostra as tabelas que possuo no banco ... show tables;

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 6

# Tabela Cliente (Entidade Cliente) #Com 5 campos ... create table cliente( idCliente int primary key, nome varchar (35), email varchar (50), sexo varchar (1), valormensalidade double ); desc cliente; +-----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra +-----------------+-------------+------+-----+---------+-------+ | idCliente | int(11) | NO | PRI | NULL | | nome | varchar(35) | YES | | NULL | | email | varchar(50) | YES | | NULL | | sexo | varchar(1) | YES | | NULL | | valormensalidade | double | YES | | NULL | |-----------------+-------------+------+-----+---------+-------+

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 7

#irei inserir na tabela 3 valores # sempre aspas simples insert into cliente (email,idCliente,nome,sexo,valormensalidade) values ('porfirio@gmail.com',10,'porfirio','m',200); #ou #Inserindo em uma Ordem Pré-definida insert into cliente values (20,'lu','lu@gmail.com','f',300); insert into cliente values (30,'marcelo','marcelo@gmail.com','m',500); insert into cliente values (40,'garra','garra@gmail.com','m',580); insert into cliente values (50,'sergio','sergio@gmail.com','m',380); #Vamos ver o que acabamos de Inserir ... #Mostra todos os dados de Cliente #O COMANDO MAIS UTILIZADO DO MYSQL select * from cliente; mysql> select * from cliente; +--------------+--------------------+------+------------------+ | idCliente | nome | email | sexo | valormensalidade |---+----------+--------------------+------+------------------+ |10 | porfirio | porfirio@gmail.com | m | 200 | |20 | lu | lu@gmail.com | f | 300 | |30 | marcelo | marcelo@gmail.com | m | 500 | |40 | garra | garra@gmail.com | m | 580 | |50 | sergio | sergio@gmail.com | m | 380 | +---+----------+--------------------+------+------------------+

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 8

#Mostrar os clientes do sexo feminino select * from cliente where sexo='f'; +-----------+------+--------------+------+------------------+ | idCliente | nome | email | sexo | valormensalidade | +-----------+------+--------------+------+------------------+ | 20 | lu | lu@gmail.com | f | 300 | +-----------+------+--------------+------+------------------+

#Mostrar os clientes do sexo Masculino #Mostro os dados do cliente onde o sexo é igual='m' select * from cliente where sexo='m'; +-----------+----------+--------------------+------+------------| idCliente | nome | email | sexo | valormensalidade +-----------+----------+--------------------+------+------------| 10 | porfirio | porfirio@gmail.com | m | 200 | | 30 | marcelo | marcelo@gmail.com | m | 500 | | 40 | garra | garra@gmail.com | m | 580 | | 50 | sergio | sergio@gmail.com | m | 380 | +-----------+----------+--------------------+------+------------ #A quantidade de clientes #Contagem dos DADOS da Tabela select count(*) "quantidade" from cliente; +------------+ | quantidade | +------------+ | 5 | +------------+ #limitando a quantidade de Dados select * from cliente limit 2; +-----------+----------+--------------------+------+------------ | idCliente | nome | email | sexo | valormensalidade +-----------+----------+--------------------+------+------------ | 10 | porfirio | porfirio@gmail.com | m | 200 | | 20 | lu | lu@gmail.com | f | 300 | +-----------+----------+--------------------+------+------------

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 9

#Quero ver somente o nome,sexo do cliente de codigo 30 select nome,sexo from cliente where idCliente=30; +---------+------+ | nome | sexo | +---------+------+ | marcelo | m | +---------+------+ # Ordenando os dados ... (Ordenar pelo nome) #ascendente select * from cliente order by nome asc; +-----------+----------+--------------------+------+------------ | idCliente | nome | email | sexo | valormensalidade +-----------+----------+--------------------+------+------------ | 40 | garra | garra@gmail.com | m | 580 | | 20 | lu | lu@gmail.com | f | 300 | | 30 | marcelo | marcelo@gmail.com | m | 500 | | 10 | porfirio | porfirio@gmail.com | m | 200 | | 50 | sergio | sergio@gmail.com | m | 380 | +-----------+----------+--------------------+------+------------ #descendente select * from cliente order by 2 desc; +-----------+----------+--------------------+------+------------| idCliente | nome | email | sexo | valormensalidade +-----------+----------+--------------------+------+------------| 50 | sergio | sergio@gmail.com | m | 380 | | 10 | porfirio | porfirio@gmail.com | m | 200 | | 30 | marcelo | marcelo@gmail.com | m | 500 | | 20 | lu | lu@gmail.com | f | 300 | | 40 | garra | garra@gmail.com | m | 580 | +-----------+----------+--------------------+------+------------

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 10

# Mostrar os clientes os valores da mensalidade da maior para menor # saber os 3 clientes que pagam mais ... # OS TRES ALUNOS QUE PAGAM MAIS CARO select * from cliente order by valormensalidade desc limit 3; +-----------+---------+-------------------+------+-------------- | idCliente | nome | email | sexo | valormensalidade | +-----------+---------+-------------------+------+-------------- | 40 | garra | garra@gmail.com | m | 580 | | 30 | marcelo | marcelo@gmail.com | m | 500 | | 50 | sergio | sergio@gmail.com | m | 380 | +-----------+---------+-------------------+------+--------------

#Buscar os 3 Campos de Maior Mensalidade #Funções de Total _ count, sum, avg (Mais Utilizados) # min e max _ 5 Mais utilizado ... # Somar a mensalidade sem Perguntas #Sum,count, avg, min, max select sum(valormensalidade) "soma" from cliente; +------+ | soma | +------+ | 1960 | +------+ #Menor mensalidade select min(valormensalidade) "menor" from cliente; +-------+ | menor | +-------+ | 200 | +-------+

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 11

#Maior Mensalidade select max(valormensalidade) "maior" from cliente; +-------+ | maior | +-------+ | 580 | +-------+ # Mostrar a Maior mensalidade do sexo masculino #Total Perguntando _ Agrupar #Total com não total # Total com não total (Group by) #Total (valorMensalidade), não total aquilo select max(valormensalidade) "maior", sexo from cliente group by (sexo); +-------+------+ | maior | sexo | +-------+------+ | 300 | f | | 580 | m | +-------+------+ select max(valormensalidade) "maior", sexo from cliente where sexo='m' group by (sexo); +-------+------+ | maior | sexo | +-------+------+ | 580 | m | +-------+------+ # Soma a mensalidade do Sexo Masculino ? # Agrupar é sempre por quem eu não estou calculando # Nesse caso é o sexo

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 12

select sum(valormensalidade) , sexo from cliente where sexo='m' group by (sexo); +-----------------------+------+ | sum(valormensalidade) | sexo | +-----------------------+------+ | 1660 | m | +-----------------------+------+ #Contar por sexo ... select count(*) "quantidade", sexo from cliente group by (sexo); +----------+------+ | count(*) | sexo | +----------+------+ | 1 | f | | 4 | m | +----------+------+ # Total com não total (que se duplica) sou obrigado a Agrupar ... # Mostrar a Tabela desc cliente; +------------------+-------------+------+-----+---------+------- | Field | Type | Null | Key | Default | Extra +------------------+-------------+------+-----+---------+------- | idCliente | int(11) | NO | PRI | NULL | | nome | varchar(35) | YES | | NULL | | email | varchar(50) | YES | | NULL | | sexo | varchar(1) | YES | | NULL | | valormensalidade | double | YES | | NULL | +------------------+-------------+------+-----+---------+------- --Tenho uma tabela que irei prender a cliente # A chave estrangeira OBserva A Chave Primária de Outra Tabela #Chave Estrangeira (É Uma Chave de Referência) #È para Servir de servir de relação (Relacionamento) #ID_CLIENTE RELAÇÃO (PORFIRIO)

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 13

create table endereco( idEndereco int primary key, bairro varchar (35), cidade varchar (50), id_Cliente int, foreign key(id_cliente) references Cliente(idCliente)); desc endereco; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | idEndereco | int(11) | NO | PRI | NULL | | | bairro | varchar(35) | YES | | NULL | | | cidade | varchar(50) | YES | | NULL | | | id_Cliente | int(11) | YES | MUL | NULL | | +------------+-------------+------+-----+---------+-------+

select * from cliente; +-----------+----------+--------------------+------+------------| idCliente | nome | email | sexo | valormensalidade | +-----------+----------+--------------------+------+------------| 10 | porfirio | porfirio@gmail.com | m | 200 | | 20 | lu | lu@gmail.com | f | 300 | | 30 | marcelo | marcelo@gmail.com | m | 500 | | 40 | garra | garra@gmail.com | m | 580 | | 50 | sergio | sergio@gmail.com | m | 380 | +-----------+----------+--------------------+------+------------ #Essa teoria È Chamada Chave Estrangeira (Último Numero) insert into cliente values (60,'belem','belem@gmail.com','m',350); #Dados do Endereco #Insere oS DADOS DO ENDEREÇO insert into endereco values (1000,'tijuca','Rio de janeiro',40); insert into endereco values(1500,'Barra da tijuca','Rio de janeiro',10); insert into endereco values(2000,null,'Rio de janeiro',30); insert into endereco values(2500,'nova iguacu','Rio de janeiro',50); insert into endereco values(3000,'Leblon','Rio de janeiro',20); insert into endereco values(3500,'Recreio','Rio de janeiro',60);

Modelagem de Banco de Dados Prof. Edson Belém

Aula

01

Insert, Selects

www.cotiinformatica.com.br 14

#Atualizar ... commit;

Recommended