tlbd i

14
TLBD I TLBD I Revisão MySQL Prof. Claudio Lopes Ferrini Garcia

Upload: nathy

Post on 12-Nov-2014

363 views

Category:

Documents


9 download

DESCRIPTION

Tecnologia e Linguagem para Banco de Dados

TRANSCRIPT

TLBD ITLBD I

Revisão MySQL

Prof. Claudio Lopes Ferrini Garcia

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 )