You are on page 1of 14

TLBD I

Revisão MySQL

Prof. Claudio Lopes Ferrini


TLBD 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
Principais tipos de dados
Numé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
Criando base de dados e
tabelas
Utiliza-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


Criando base de dados e
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
Chave Estrangeira –
Foreign Key
CREATE 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


Chave Estrangeira –
Foreign 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
Prof. Claudio Lopes Ferrini
Consultas (Select)
(MAX / MIN)

SELECT MAX(ALUGUEL) AS "MAIOR


VALOR" FROM LOCATARIO;

SELECT MIN(ALUGUEL) AS "MENOR


VALOR" FROM LOCATARIO;

Prof. Claudio Lopes Ferrini


Consultas (Select)
(LIKE)

select endereco as "endereço"


from imovel where endereco
like "%e%";

Prof. Claudio Lopes Ferrini


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


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


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
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 l
inner join imovel i on (l.id_imovel =
i.cod_imovel)
inner join proprietario p on(p.cod_prop =
i.id_prop) Prof. Claudio Lopes Ferrini
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 )

You might also like