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 baixa-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!




Algumas notícias

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

Ler Notícia Completa

Formato JPEG está com os dias contados

Há quantos anos você ouve falar em arquivos JPG? O formato já era utilizado nos primórdios da web comercial nos anos 1990, vivendo há mais de 20 anos como o principal método de compressão de imagens do público. No que depender de Google, Mozilla e outras empresas, isso pode mudar dentro de algum...

Ler Notícia Completa

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

Os Estados Unidos aprovaram o primeiro tratamento que reestrutura o sistema imunológico do paciente para atacar o câncer. A agência reguladora de medicamentos do país - a FDA - diz que a decisão foi um momento "histórico" e que a medicina agora "entra em uma nova fronteira". A companhia Novar...

Ler Notícia Completa

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Um grupo formado por pesquisadores do Instituto Nacional de Saúde (NIH), dos Estados Unidos, e da empresa farmacêutica Sanofi criaram em laboratório anticorpos superdesenvolvidos capazes de atacar 99% das cepas de HIV. O feito é ainda mais significativo por ser capaz até mesmo de prevenir a infec...

Ler Notícia Completa

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Anunciada em agosto, a plataforma original de vídeos do Facebook, Watch, parece ser a grande aposta de Mark Zuckerberg para o ano que vem. De acordo com o TechCrunch, a empresa deve investir US$ 1 bilhão para criar e incentivar iniciativas voltadas para a produção de conteúdo audiovisual exclu...

Ler Notícia Completa

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

O software se chama Voco, foi desenvolvido pela Adobe (a mesma criadora do Photoshop) e permite manipular gravações de voz com uma precisão inédita, inclusive criando frases que a pessoa não disse. Na demonstração do app, um técnico forjou uma gravação em que um homem dizia “eu beijei a Jordan...

Ler Notícia Completa

Games nos Jogos Olímpicos de 2024. Será?

Sabe aquela discussão sobre os jogos eletrônicos poderem ou não ser considerados esportes? Pois o comitê responsável pela realização dos Jogos Olímpicos de 2024 acaba de colocar mais um pouco de lenha nesta fogueira. Isso aconteceu através da divulgação de que eles gostariam de incorporar torne...

Ler Notícia Completa

Algoritmo de Inteligência artificial sabe quando você está sonhando

Pesquisadores da Divisão de Medicina do Sono do Hospital Geral de Massachusetts desenvolveram um algoritmo capaz de identificar quando uma pessoa está sonhando. A tecnologia usa sinais de rádio frequência, através de um dispositivo semelhante a um roteador Wi-Fi, para monitorar a pessoa durante...

Ler Notícia Completa
Você gostará destes vídeos: