You are on page 1of 25

Uma introduo aos conceitos bsicos

Teoria Prtica de

BANCO de DADOS com

MySQL

Luiz Fernando da Silva

TL;DR
Um pouco (mas muito pouco mesmo) da histria dos bancos de
dados e mo na massa pra entender os principais
comandos do SQL. Vamos inserir, consultar, atualizar,
excluir e relacionar dados do seu dia a dia.
Para essa experincia vamos usar o
MySQL Workbench, todos prontos?
http://www.mysql.com/products/workbench/

Os primeiros bancos de dados


Antes era tudo salvo em arquivos

Algum decidiu relacionar e organizar os dados em rvores

Anos

60

Surgiu o Banco

de Dados Hierrquico

Depois aperfeioaram esse modelo, tirando a hierarquia


surgiu assim o

Banco de Dados em Rede

Ambos tinham seus benefcios, mas

Eram muito restritivos.

Os bancos relacionais
Nos anos 80 a computao se espalha viralmente
Surge a necessidade de aplicaes comerciais
mais robustas, o que impulsionou o

Modelo Relacional

A revoluo estava no uso de

Tabelas e Chaves
E o fundamento matemtico
com base na...

Teoria dos conjuntos


E se Romeu e Julieta tivessem filhos?

Benvlio

Romeu
Jr.
Julieta
Teobaldo

Capuletos

Romeu
Julieta
Romeu

Montecchios

O MySQL
um sistema de banco de dados relacional mundialmente famoso.
Gratuito e compatvel com praticamente qualquer plataforma e ambiente.

Usado por grandes empresas como


Facebook, Google e Adobe. Economiza
dinheiro e atende com perfeio grandes
sistemas.

Fcil de instalar,
Fcil de configurar e
Fcil de usar.

Na prtica, uma coleo


Vamos entender tudo isso na prtica.
Algum coleciona alguma coisa? Vamos criar um banco de
dados da sua coleo.

Modelando os dados
Como todo bom projeto, tudo comea com desenhos
malucos.

Chaves e relacionamento
Para relacionar duas tabelas precisamos criar chaves que
possuam um valor comum. A chave mais popular a
Chave Primria, ela define a exclusividade de cada
registro. Para relacionar um registro de uma tabela com
outro de outra tabela precisamos de uma Chave
Estrangeira.
Chave primria

Chave estrangeira

Criando a estrutura
No SQL, para criar alguma coisa usamos o comando
CREATE, mas para facilitar, vamos criar tudo pelo MySQL
Workbench, uma interface grfica que ajuda na criao dos
cdigos.

Inserindo dados
Acharam que no teria cdigo? Mos na massa!
INSERT INTO Coisa
(Atributo,Outro_Atributo) VALUES
(Bl,Bl);

Consultas simples
Vamos brincar um pouco com a sua coleo, selecionando e
exibindo os dados que voc inseriu.
SELECT * FROM Coisa;
Vamos filtrar um pouco.
SELECT * FROM Coisa WHERE Atributo =
Bl;

Atualizando dados
E se voc descobriu uma informao nova sobre um item
da sua coleo, como atualizar o banco de dados?
UPDATE Coisa SET Atributo = BlBl
WHERE Atributo = Bl;
Simples assim.

Excluindo dados
Perdeu um item da coleo? Isso tambm precisa acontecer
no banco de dados.
DELETE FROM Coisa WHERE Atributo =
Bl;
Sumiu...

Consultas avanadas
Tudo isso muito bsico. Vamos evoluir um pouco...

Selecionar apenas alguns resultados;


Ordenar o resultado;
Unir resultados.

Consultas avanadas: limit


Com o LIMIT podemos selecionar apenas alguns
resultados da nossa consulta.
SELECT * FROM Coisa LIMIT 5;
E exibimos s 5 registros.

Consultas avanadas: order by


Para ordenar o resultado usamos o ORDER BY.
SELECT * FROM Coisa ORDER BY Atributo;
Agora os resultados invertidos...
SELECT * FROM Coisa ORDER BY Atributo
DESC;

Consultas avanadas: inner join

Quando queremos s o que combina em duas tabelas relacionadas.


SELECT Coisa1.Atributo, Coisa2.Atributo FROM Coisa1
INNER JOIN Coisa2 ON Coisa2.Atributo = Coisa1.Atributo;

Consultas avanadas: left join

Quando queremos tudo da primeira tabela e tambm o que combina da segunda.


SELECT Coisa1.Atributo, Coisa2.Atributo FROM Coisa1
LEFT JOIN Coisa2 ON Coisa2.Atributo = Coisa1.Atributo;

Consultas avanadas: right join

Quando queremos tudo da segunda tabela e tambm o que combina da primeira.


SELECT Coisa1.Atributo, Coisa2.Atributo FROM Coisa1
RIGHT JOIN Coisa2 ON Coisa2.Atributo = Coisa1.Atributo;

O futuro dos bancos de dados


A tendencia que os bancos relacionais acabem perdendo
a realeza para os bancos no relacionais, que so mais
simples, eficientes e versteis. Mas isso um assunto para
outra palestra.
MongoDB: http://www.mongodb.org/
Redis: http://redis.io/
Cassandra: http://cassandra.apache.org/

Como aprender mais?


1. Instale o MySQL no seu computador;
http://youtu.be/xqzzUPDzWM0

2. Instale o MySQL Workbench;


http://youtu.be/_tCNc_sPS_Q

3. Invente Solucione um problema;


4. Instale o driver ODBC do MySQL;
http://youtu.be/hEi74dQGQmg

5. Crie um aplicativo com o MS Access.


6. Erre, pergunte e pesquise.

Q&A
Se no conseguiu formular a pergunta agora, me envie no
e-mail, se no souber responder aprendemos juntos.
E-mail: lfsilva@sccorinthians.com.br
E-mail: folksilva@gmail.com
Twitter: @folksilva
Facebook: /folksilva
Mais?: http://about.me/folksilva

Links teis
MySQL Community Server: http://www.mysql.com/downloads/mysql/
MySQL Workbench: http://www.mysql.com/downloads/workbench/
MySQL ODBC Driver: http://dev.mysql.com/downloads/connector/odbc/
Curso PHP + MySQL: http://www.iped.com.br/programacao-edesenvolvimento/curso/php-mysql
Centro do Desenvolvedor MySQL: http://dev.mysql.com/
iMasters MySQL: http://imasters.com.br/secao/banco-de-dados/mysql

Referncias
SIEBRA, Sandra de Albuquerque. Banco de dados. Recife: Universidade Federal Rural de Pernambuco, 2010. 58 p.
Disponvel em: <http://www.slideshare.net/CLEAN13/livro-bancodedadosvolume01>. Acesso em: 01 out. 2012..
WIKIPEDIA (Comp.). Teoria dos conjuntos. Disponvel em:
<http://pt.wikipedia.org/wiki/Teoria_dos_conjuntos>. Acesso em: 01 out. 2012.