Para que possamos prosseguir o minicurso e começarmos a utilizar o MySQL de forma prática, você precisará, claro, tê-lo instalado em seu computador. Você pode baixá-lo gratuitamente em http://www.mysql.com/downloads/ . Os exemplos que vou criar serão feitos na versão 5.5, mas caso queira pegar uma versão mais nova, fique à vontade, pois provavelmente os códigos funcionarão nela sem problemas. A única observação que faço é que se você pretende desenvolver aplicações para Internet, deve se atentar para utilizar, em seus testes, a mesma versão que o provedor de serviços de hospedagem disponibiliza, para não haver possibilidade de incompatibilidade.
Depois de instalado, aparecerá uma janela a mais em seu grupo de programas instalados, conforme essa imagem:
Para abrir o Mysql basta clicar nela e, em seguida, na opção MySQL Server 5.5 Command Line Client.
Surgirá uma tela semelhante às antigas telas do saudoso MS-DOS, solicitando sua senha, que é a mesma que você cadastrou durante a instalação do MySQL. Após inseri-la chegaremos ao prompt de comando, que deve ser parecido com essa imagem:
Reparem que, conforme citei na página de introdução, o copyright já faz referência à Oracle, atual proprietária do MySQL.
Para prosseguirmos vamos falar sobre alguns conceitos importantes:
Base de Dados
Uma base de dados nada mais é do que um grupo de tabelas que podem ou não estar relacionadas. Para manter a organização, cada aplicação tem a sua própria base de dados, por isso, antes de iniciarmos a criação da nossa primeira tabela, precisamos criar uma base de dados que irá recebê-la.
Vou criar uma base de dados chamada ‘Teste’ e para isso o comando que utilizarei é:
create database Teste;
Basta digitar isso no prompte teclar Enter que a mensagem de sucesso deve surgir, como essa:
Para especificarmos que trabalharemos com a base recém criada, digitaremos o comando ‘use Teste’;
Uma mensagem de “Database changed” surgirá na tela, indicando que nossa base de dados está selecionada e todos os comandos aplicados a partir de agora terão efeito sobre ela.
Vou imaginar um modelo bem simples, onde um cliente aluga filmes em uma locadora e, para simplificar ainda mais, já que o objetivo é ensinar a criar tabelas, a locadora possui somente uma cópia de cada filme, dessa forma:
Conforme é possível observar neste pequeno modelo, a tabela "Cliente" terá as seguintes colunas:
- Nome
- Telefone
- Idade
- Endereço
- E-mail
- CPF (Chave Primária)
Já a tabela filme terá as colunas
- Gênero
- Título
- Código (Chave Primária)
E a tabela "Aluga" terá somente a coluna Data.
Vamos nos concentrar primeiro na tabela "Cliente".
Definirei campos do tipo varchar para todos os atributos, exceto a idade, cujo tipo será int. Os comandos a serem digitados, no MySQL, para criação desta tabela serão:
create table Cliente(
telefone varchar(15),
nome varchar(40),
endereco varchar(50),
email varchar(40),
idade int,
cpf varchar(12) primary key) engine=innoDB;
Você deverá receber a seguinte mensagem:
Vale fazer alguns comentários nesse pequeno código:
A sintaxe do comando para criar tabelas em MySQL é muito simples. Basta executar a sequência:
create table nomedatabela(campo1 tipo, campo2, tipo...);
Sempre lembrando que todos os comandos MySQL terminam com o sinal de ponto e vírgula. O retorno Query OK, no prompt, indica que a tabela foi criada com sucesso.
Vou repetir o processo para a tabela Filme.
create table filme(
genero varchar(30),
titulo varchar(40),
codigo int primary key) engine=innoDB;
E vou fazer o mesmo para a tabela Aluga, herdando as chaves das tabelas Cliente e Filme, já que estamos lidando com um relacionamento 1:n.
create table Aluga(
cpf varchar(12),
codigo int,
data date,
primary key(data, cpf, codigo),
foreign key(cpf) references Cliente(cpf),
foreign key(codigo) references Filme(codigo)) engine=innoDB;
Comentários sobre esta tabela:
1- Coloquei a data como parte da chave, para permitir que um mesmo cliente possa retirar o mesmo filme futuramente. Como estamos lidando com uma chave composta, se todos os itens que a compõem tiverem o mesmo valor, provocaremos uma violação de chave e a inserção não poderá ser feita, ou seja, sem a data, a chave seria composta apenas pelo CPF do cliente e pelo Código do Filme, portanto se um cliente tentar alugar o mesmo filme no futuro, a chave será exatamente igual a formada pela sua primeira locação deste título, então também teríamos uma violação. Colocando a data como parte dessa chave composta isso nunca acontecerá, pois claro que um cliente nunca alugará o mesmo filme em um mesmo dia mais de uma vez.
2- Focando as atenções na tabela Aluga, se não colocássemos o CPF e o Código do filme como partes da chave, teríamos apenas a data armazenada, portanto poderíamos consultar todas as datas das locações dos filmes, mas não poderíamos saber quem os locou e quais títulos foram locados.
Agora temos nossas três tabelas criadas! Se quiser confirmar, basta digitar o comando show tables; no prompt do MySQL, vejam:
Com isso encerramos a primeira parte do tutorial e já sabemos como criar tabelas em MySQL!
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
Tomb Raider - O Filme
Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.
River Raid
O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.
Computadores de 1,5 tonelada
Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.
Ábaco
O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.
Tetris
Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.
PC com barulho?
Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.
Cuidados com o notebook
Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Final Fantasy
O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.
Nintendo Entertainment System
O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.