Minicursos - MySQL

Criando Tabelas


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:

Criando Tabelas

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:

Criando Tabelas

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:

Criando Tabelas

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:

Criando Tabelas

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:

Criando Tabelas

Vale fazer alguns comentários nesse pequeno código:

Criando Tabelas

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;

Criando Tabelas

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:

Criando Tabelas

Com isso encerramos a primeira parte do tutorial e já sabemos como criar tabelas em MySQL!




Notícias - Games

Atari VCS é finalmente lançado e surpreende

O Atari VCS foi lançado recentemente e trouxe suporte a praticamente todos os serviços de streaming de jogos já disponíveis. A única exceção foi por conta do Playstation Now, cujo suporte nativo não é oferecido, mas ele pode ser acessado através do modo PC do VCS, já que o console possui Googl...

Ler Notícia Completa

Conheça o Playstation 2 portátil criado por um brasileiro

Claudio Adriano decidiu criar uma versão portátil do console Playstation 2, da Sony. Inspirado no Nintendo Switch, o console ficou pronto depois de 2 anos de trabalho e algumas interessantes adaptações. Partindo de uma placa-mãe de um PS2 Slim, Claudio fez os encaixes necessários para que a pla...

Ler Notícia Completa

PS5 com SSDs não originais apresentam ótimo resultado

A última atualização do PS5 permite que se faça a expansão do armazenamento do console. Embora o aparelho exija características específicas para os dispositivos de expansão, como taxa de leitura de 5Gb/s, ele funciona surpreendentemente bem com SSDs de velocidades inferi...

Ler Notícia Completa

Capcom Pro Tour sofre o cancelamento de algumas etapas por conta do coronavírus

Em um comunicado ao público via redes sociais, a Capcom revelou que algumas etapas do Capcom Pro Tour foram removidas do calendário como precaução contra o surto de coronavírus pelo mundo...

Ler Notícia Completa

Conheça o Stadia: a incrível plataforma de streaming de games do Google

O Google deu o pontapé inicial para o que espera ser o futuro dos videogames: consoles e hardware em geral ficam em segundo plano, e os games rodam em qualquer dispositivo via streaming. A plataforma Stadia promete levar jogos para notebooks, TVs, celulares e muito mais. O projeto do Google se...

Ler Notícia Completa

Anúncios pornográficos eram exibidos em jogos infantis da Google Play Store devido a um bug

Um app malicioso foi responsável por fazer com que cerca de 60 jogos publicados na Google Play Store veiculassem anúncios pornográficos. Entre os aplicativos estão games infantis e títulos baixados mais um milhão de vezes na loja online da Google. O problema foi flagrado pela empresa de seguran...

Ler Notícia Completa

Sim, jogadores profissionais de games podem ter carteira assinada.

Com a profissionalização dos jogadores de games, quem escolhe viver da habilidade no mouse, teclado ou joystick tem direito a carteira assinada e aos benefícios de atletas e de outros profissionais? Sim. É o que pensam advogados especializados em direito desportivo que estavam na Campus Party 20...

Ler Notícia Completa

Segunda temporada de Castlevania chegará no segundo semestre

Para quem ficou na vontade após apenas 4 episódios, a segunda temporada da série animada de "Castlevania" deve ser lançada no meio de 2018 na Netflix. A informação foi divulgada pelo roteirista da série, Warren Ellis, por meio de sua conta oficial no Twitter. O escritor também confirmou que esta...

Ler Notícia Completa
Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!