teoria prática de banco de dados com mysql
DESCRIPTION
Conheça rapidamente os conceitos de bancos de dados usando como referência o MySQL!TRANSCRIPT
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: [email protected]
E-mail: [email protected]
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.