Para quem se dedica à concepção de base de dados é importante que possua uma ferramenta que facilite todo o processo. Uma das ferramentas mais usadas para este efeito é sem dúvida o MySQL WorkBench que disponibiliza as mais diversas funcionalidades.
No passado demos aqui uma visão geral de como criar um Diagrama EER mas hoje vamos detalhar a parte de criar a Bases de dados e tabelas.
A criação de uma bases de dados e tabelas não é algo difícil de definir no MySQL Workbench. O mais difícil é mesmo “desenhar” a estrutura da base de dados.
Como Criar a Base de Dados?
Uma base de dados pode ser criada de várias formas. No entanto, para este tutorial, vamos criá-la através do modelo EER. Para isso vamos aos Modelos e carregamos em “+”
Em seguida damos duplo clique na zona indicada pela primeira seta e mudamos o nome na caixa de texto mais abaixo. E está criada (no modelo EER) a base de dados db_Pplware.
Como criar tabelas?
Depois de criada a base de dados vamos proceder à criação das tabelas. Para este tutorial vamos considerar um exemplo muito simples com apenas duas tabelas. Uma tabela autores e outra com o nome editoras. Para isso carregamos em Add Table
Tabela autores
Para esta tabela vamos considerar os seguintes campos:
- id_autores, que será a chave da tabela (PK), o campo não poderá ser nulo (NN) e a cada registo o valor da chave é incrementado + 1 (AI – AutoIncrement)
- nome – Nome do autor que será do tipo VARCHAR, com 45 caracteres
- dataNascimento, campo do tipo data
- Morada que será do tipo VARCHAR, igualmente com 45 caracteres
Tabela editora
Para esta tabela vamos considerar os seguintes campos:
- id_editora, que será a chave da tabela (PK), o campo não poderá ser nulo (NN) e a cada registo o valor da chave é incrementado + 1 (AI – AutoIncrement)
- Nome Editora – Nome da editora que será do tipo VARCHAR, com 45 caracteres
Relações entre tabelas
Numa base de dados relacional, as relações permitem-lhe impedir a existência de dados redundantes. Existem 3 tipos de relações:
1) 1 para 1 Tal como o nome indica uma relação do tipo 1 para 1, é uma relação em que a uma ocorrência da tabela A, corresponde uma e só uma ocorrência da tabela B e vice-versa.
Exemplo: Uma pessoa só pode ter um número de BI, e um BI só pode pertencer a uma pessoa.
Numa relação do tipo um para um, cabe ao “criador” do modelo entidade-relação a escolha de qual a tabela que irá receber a chave estrangeira.
2) 1 para N (em que N significa vários) Uma relação do tipo 1 para n, é uma relação de um para vários, ou seja, entre duas tabelas A e B, a uma ocorrência da tabela A podem corresponder várias ocorrências da tabela B, enquanto que a uma ocorrência da tabela B corresponde só uma da tabela A.
Exemplo: Um leitor pode fazer várias requisições, mas uma requisição só pode ser feita por um leitor, quer isto dizer que entre a tabela Leitor e a tabela Requisições existe uma relação do tipo 1 para n.
A chave principal é adicionada ao lado que tem n, transformando-se assim numa chave estrangeira.
3. N para M (em que N e M significam vários) Uma relação do tipo n para m, é uma relação de vários para vários, ou seja, entre duas tabelas A e B, a várias ocorrências da tabela A podem corresponder várias ocorrências da tabela B, e vice-versa.
Exemplo: Uma moeda pode ser emitida durante vários anos, mas um ano pode emitir várias moedas, quer isto dizer que entre a tabela Moeda e a tabela Ano existe uma relação do tipo n para m.
Para toda e qualquer relação do tipo n para m, há que decompor a relação em duas do tipo 1 para n, ou seja, irá ser necessário criar uma nova tabela, com o nome que o “criador” do modelo entidade-relação bem entender, onde a mesma irá conter as chaves principais das tabelas envolvidas, chaves estas que se irão tornar numa chave composta da nova tabela.
Decomposição final:
Para saber mais sobre a estruturação de uma base de dados pode consultar este artigo.
Criar Relações entre tabelas no Workbench
Para criar relações entre tabelas no Workbench devem carregar em Add Diagram
Em seguida devem arrastar as duas tabelas para o diagrama.
O próximo passo é definir a relação entre tabelas. Neste caso estamos perante uma relação 1:N ou seja, uma linha da tabela editora pode ter várias linhas correspondentes na tabela autores, mas uma linha da tabela autores só pode ter uma linha correspondente na tabela editora.
Para definir a relação basta carregar no botão da barra lateral, carregar sobre a tabela autores e arrastar para a tabela editora.
Nota: Como podem ver, nessa barra lateral há dois tipos de botões para definir uma relação de 1:N. O — significa que a chave primária da tabela com que vamos fazer a relação passa a estrangeira na outra tabela. No caso de escolher o botão com ___ essa chave fica também como primária da tabela para onde vamos fazer a relação.
Esperamos que este artigo ajude quem está agora a começar a perceber de base de dados. Alguma dúvida ou questão temos todo o gosto de ajudar.