Teoria prática de banco de dados com MySQL

Post on 24-May-2015

796 views 0 download

description

Conheça rapidamente os conceitos de bancos de dados usando como referência o MySQL!

Transcript of Teoria prática de banco de dados com MySQL

BANCO de DADOS com

MySQL

Teoria Prática de

Uma introdução aos conceitos básicos

Luiz Fernando da Silva

TL;DR

Um pouco (mas muito pouco mesmo) da história dos bancos de dados e mão na massa pra entender os principais comandos do SQL. Vamos inserir, consultar, atualizar, excluir e relacionar dados do seu dia a dia.

Para essa experiência vamos usar o

MySQL Workbench, todos prontos?http://www.mysql.com/products/workbench/

Os primeiros bancos de dados

Anos

60

Antes era tudo salvo em arquivos

Alguém decidiu relacionar e organizar os dados em árvores

Surgiu o Banco de Dados HierárquicoDepois aperfeiçoaram esse modelo, tirando a hierarquia

surgiu assim o Banco de Dados em Rede

Ambos tinham seus benefícios, mas

Eram muito restritivos.

Os bancos relacionais

Nos anos 80 a computação se espalha viralmente

Surge a necessidade de aplicações comerciaismais robustas, o que impulsionou o

Modelo Relacional

A revolução estava no uso de

Tabelas e Chaves

E o fundamento matemáticocom base na...

Teoria dos conjuntos

Capuletos Montecchios

Julieta Romeu

Teobaldo

Benvólio

JulietaRomeu

RomeuJr.

E se Romeu e Julieta tivessem filhos?

O MySQL

É um sistema de banco de dados relacional mundialmente famoso.

Gratuito e compatível com praticamente qualquer plataforma e ambiente.

Fácil de instalar,Fácil de configurar eFácil de usar.

Usado por grandes empresas comoFacebook, Google e Adobe. Economizadinheiro e atende com perfeição grandessistemas.

Na prática, uma coleção

Vamos entender tudo isso na prática.

Alguém coleciona alguma coisa? Vamos criar um banco de dados da sua coleção.

Modelando os dados

Como todo bom projeto, tudo começa com desenhos malucos.

Chaves e relacionamento

Para relacionar duas tabelas precisamos criar chaves que possuam um valor comum. A chave mais popular é a Chave Primária, 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 primária

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 gráfica que ajuda na criação dos códigos.

Inserindo dados

Acharam que não teria código? Mãos na massa!

INSERT INTO Coisa (Atributo,Outro_Atributo) VALUES (“Blá”,”Blá”);

Consultas simples

Vamos brincar um pouco com a sua coleção, 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 informação nova sobre um item da sua coleção, como atualizar o banco de dados?

UPDATE Coisa SET Atributo = “BláBlá” WHERE Atributo = “Blá”;

Simples assim.

Excluindo dados

Perdeu um item da coleção? Isso também precisa acontecer no banco de dados.

DELETE FROM Coisa WHERE Atributo = “Blá”;

Sumiu...

Consultas avançadas

Tudo isso é muito básico. Vamos evoluir um pouco...

Selecionar apenas alguns resultados;

Ordenar o resultado;

Unir resultados.

Consultas avançadas: limit

Com o LIMIT podemos selecionar apenas alguns resultados da nossa consulta.

SELECT * FROM Coisa LIMIT 5;

E exibimos só 5 registros.

Consultas avançadas: 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 avançadas: 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 avançadas: left join

Quando queremos tudo da primeira tabela e também o que combina da segunda.

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

Consultas avançadas: right join

Quando queremos tudo da segunda tabela e também 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 não relacionais, que são mais simples, eficientes e versáteis. 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 não conseguiu formular a pergunta agora, me envie no e-mail, se não 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-e-desenvolvimento/curso/php-mysql

Centro do Desenvolvedor MySQL: http://dev.mysql.com/

iMasters MySQL: http://imasters.com.br/secao/banco-de-dados/mysql

Referências

SIEBRA, Sandra de Albuquerque. Banco de dados. Recife: Universidade Federal Rural de Pernambuco, 2010. 58 p. Disponível em: <http://www.slideshare.net/CLEAN13/livro-bancodedadosvolume01>. Acesso em: 01 out. 2012..

WIKIPEDIA (Comp.). Teoria dos conjuntos. Disponível em: <http://pt.wikipedia.org/wiki/Teoria_dos_conjuntos>. Acesso em: 01 out. 2012.