Download - TLBD I
TLBD I - MySQLTLBD I - MySQL
Principais tipos de dados
Criando a Base de Dados
(Database)
Criando tabelas (table)
Chave Primaria (Primary Key)
Chave Estrangeira (Foreign Key)
Consultas (Select)Prof. Claudio Lopes Ferrini Garcia
Principais tipos de dadosPrincipais tipos de dadosNuméricos
◦ Int◦ Float◦ Double◦ Real
Texto◦ Char (255 caracteres)◦ Varchar (255 caracteres)◦ Text (65535 caracteres)
Data / Hora◦ Date (aaaa/mm/dd)◦ Time (hh/mm/ss)◦ Datetime (aaaa/mm/dd – hh/mm/ss)
Prof. Claudio Lopes Ferrini Garcia
Criando base de dados e Criando base de dados e tabelastabelasUtiliza-se os comandos:
◦CREATE DATA BASE nm_db; //cria o db
◦USE nm_db; // conecta o db
◦CREATE TABLE nm_table (campo1 datatype , campo 2 datatype);
Prof. Claudio Lopes Ferrini Garcia
Criando base de dados e Criando base de dados e tabelas – Exemplo:tabelas – Exemplo:CREATE DATABASE Imobiliaria;
USE Imobiliaria; CREATE TABLE Proprietario
(cod_prop int PRIMARY KEY auto_increment NOT null, nm_proprietario varchar (100) not null);
Prof. Claudio Lopes Ferrini Garcia
Chave Estrangeira – Chave Estrangeira – Foreign KeyForeign KeyCREATE TABLE nm_table
(campo 1 datatype PRIMARY KEY auto_increment NOT NULL, campo 2 datatype NOT NULL,
campo 3 datatype, FOREIGN KEY (campo 3)REFERENCES nm_table_reference(campo chave));
Prof. Claudio Lopes Ferrini Garcia
Chave Estrangeira – Chave Estrangeira – Foreign KeyForeign Key
CREATE TABLE Imovel (cod_imovel int PRIMARY KEY auto_increment NOT NULL, endereco varchar (100) NOT NULL, id_prop int, FOREIGN KEY (id_prop)REFERENCES proprietario(cod_prop));
CREATE TABLE Locatario (cod_locatario int PRIMARY KEY auto_increment not null, nm_locatario varchar (100) not NULL, id_imovel int, FOREIGN KEY (id_imovel)REFERENCES imovel (cod_imovel)) ;
Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)
(MAX / MIN)
SELECT MAX(ALUGUEL) AS "MAIOR VALOR" FROM LOCATARIO;
SELECT MIN(ALUGUEL) AS "MENOR VALOR" FROM LOCATARIO;
Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)
(LIKE)
select endereco as "endereço" from imovel where endereco like "%e%";
Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)ALIASES PARA TABELAS E CAMPOS / WHERE / CONSULTA EM DUAS TABELAS
Select p.nm_proprietario, i.cod_imovel as "código", i.endereco as "endereço" from Proprietario p, imovel i where p.cod_prop = i.id_prop;
Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)(COUNT / INNER JOIN* / GROUP BY)
SELECT p.nm_proprietario, COUNT(*) as "Imovéis" FROM proprietario p inner join imovel i on(p.cod_prop = i.id_prop) group by p.nm_proprietario;
Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)(SOMA DE TODOS OS VALORES)
SELECT SUM(ALUGUEL) AS "TOTAL" FROM LOCATARIO;
(SOMA DE VALORES – POR LINHA)
SELECT p.nm_proprietario, sum(l.aluguel) as "Aluguel a receber" FROM locatario l
inner join imovel i on (l.id_imovel = i.cod_imovel)
inner join proprietario p on(p.cod_prop = i.id_prop)
group by p.nm_proprietario;Prof. Claudio Lopes Ferrini Garcia
Consultas (Select)Consultas (Select)(AVG SIMPLES)
SELECT avg (aluguel) as "Aluguel a receber" FROM locatario;
(AVG COMPLEXO)SELECT p.nm_proprietario, avg(l.aluguel) as "Aluguel a receber" FROM locatario linner join imovel i on (l.id_imovel = i.cod_imovel) inner join proprietario p on(p.cod_prop = i.id_prop)group by p.nm_proprietario;
Prof. Claudio Lopes Ferrini Garcia
EXERCÍCIO PARA NOTA CRIAR UMA BANCO DE DADOS DE UMA
LOCADORA DE VEÍCULOS CRIAR AS TABELAS (CLIENTE, VEÍCULO, MARCA,
SEGURO, TIPO PAGAMENTO, LOCAÇÃO) ESTABELECER OS RELACIONAMENTOS (TODAS AS
CHAVES ESTRANGEIRAS) FAZER CONSULTAS
(CLIENTES – VEÍCULO - MARCA; VEÍCULO – MARCA – SEGURO; CLIENTE – VEÍCULO – TIPO PAGAMENTO; SOMAR VALOR TOTAL QUE A LOCADORA VAI RECEBER, SOMAR VALOR TOTAL DE SEGURO PAGO PELA LOCADORA )