Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Este artigo irá abordar a modelagem de dados para um sistema de gerenciamento de um campeonato de futebol.

Para que serve:

Apresentar de forma prática como devemos proceder para efetuar a modelagem de um sistema de informação.

Em que situação o tema é útil:

A modelagem de dados em sistemas de informação é sempre uma atividade importante a fim de viabilizar o armazenamento e acesso às informações que um sistema lida.

A modelagem de dados em sistemas de informação é sempre uma atividade importante a fim de viabilizar o armazenamento e acesso às informações que um sistema lida. Uma má modelagem dos dados irá impactar diretamente na qualidade do sistema a ser construído ou mantido.

O primeiro passo para criação do banco de dados será a definição de suas tabelas e campos, bem como sua normalização para um melhor desempenho. O objetivo da normalização de dados é evitar problemas que possam provocar falhas, assim minimizando redundâncias e inconsistências. Isso possibilita uma maior facilidade na manipulação do banco de dados e na manutenção dos sistemas de informação.

Neste artigo, iremos abordar a modelagem de dados para um simples sistema de informação. Nosso banco de dados atenderá um sistema de gerenciamento de um campeonato de futebol, onde abordaremos de forma prática a utilização do MySQL Community Server 5.5.10 em conjunto com MySQL Workbench 5.2 CE para modelagem do nosso banco de dados.

Entendendo o Cenário

Imagine a possibilidade de haver um sistema que mantenha as informações geradas a partir de um sistema para gerenciamento de competições esportivas de futebol profissional ou amador.

Neste sistema, será possível obter informações dos clubes que participaram dos jogos, dos seus resultados e informações dos seus grupos, também armazenando as informações dos jogadores referentes a cada clube. Para possibilitar a realização de todas essas operações, precisaremos de um banco de dados que armazene tais informações e que ainda possa prover mecanismos eficientes para recuperação dos dados sempre que necessário.

A lista de informações detalhadas que precisaremos controlar neste sistema são as seguintes:

  • Controle de clubes de futebol, categorizando-os como profissionais ou amadores;
  • Controle dos jogadores que atuam nos clubes, mantendo dados estatísticos sobre seus desempenhos em jogos e campeonatos;
  • Controle de campeonatos, com a totalização dos pontos obtidos pelos clubes ao longo dos jogos, os artilheiros das competições (os jogadores que mais fazem gols) ;
  • Controle dos jogos realizados no contexto de um campeonato, com seus placares, gols, jogadores punidos com cartões amarelos ou vermelho;

Bom, então após entender o cenário iremos para nossa modelagem. A modelagem será realizada em algumas etapas, começando pela criação do banco de dados, com suas tabelas e campos, e em seguida passaremos à criação de consultas pré-definidas em formato de stored procedures. Mãos à obra!

Modelagem do banco de dados

O primeiro passo para criação do banco de dados será a definição de suas tabelas e campos, bem como sua normalização para um melhor desempenho.

Antes de iniciarmos, vamos relembrar um pouco sobre a normalização de um banco de dados relacional.

O objetivo da normalização de dados é evitar problemas que possam provocar falhas, assim minimizando redundâncias e inconsistências. Isso possibilita uma maior facilidade na manipulação do banco de dados e na manutenção dos sistemas de informação.

Para o processo de normalização, aplicamos uma série de regras sobre as tabelas de um banco de dados, para verificar se estas estão corretamente projetadas. Embora existam cinco formas normais (ou regras de normalização), geralmente usamos apenas três.

PRIMEIRA FORMA NORMAL: Uma tabela estará na primeira (1FN), se e somente se, todos seus atributos (colunas) forem atômicos, ou seja, não conter grupos repetitivos ou colunas que tenham mais de um valor.

Passos a serem aplicados para consolidação da 1FN:

  • Identificação da chave primária da tabela.
  • Identificação da coluna que contem dados repetidos e removê-las.
  • Criação de uma nova tabela com chave primária para armazenamento do dado repetido.
  • Criar uma relação entre a tabela principal e a tabela secundária

SEGUNDA FORMA NORMAL: Uma tabela está na 2FN se, e somente se, estiver na 1FN e todos seus atributos (colunas) não chaves dependam unicamente da chave primária. Se algum atributo depende de apenas uma parte da chave primária, isso é considerada uma violação da 2FN.

Passos a serem aplicados para consolidação da 2FN:

  • Identificar colunas que não são funcionalmente dependentes da chave primária da tabela.
  • Remover a coluna da tabela e criar uma nova tabela com esses dados.

TERCEIRA FORMA NORMAL: Uma tabela está na 3FN se, e somente se, estiver na 2FN e todos os atributos (colunas) não chave forem mutuamente independentes, isto é, não há dependência funcional entre elas, e todas dependem única e exclusivamente da chave primária de forma irredutível.

Passos a serem aplicados para consolidação da 3FN:

...
Quer ler esse conteúdo completo? Tenha acesso completo