sexta-feira, 20 de julho de 2012

Planejamento de um banco de dados (parte II)


2.1 Agrupar os dados relacionados em tabelas
Para criar um banco de dados relacional é preciso reunir todos os elementos que se deseja armazenar, lembrando que devemos sempre nos preocupar com a redundância.

Segue abaixo um exemplo com uma lista de atributos relativo a alocação de empregados em Projetos de consultoria:
  • Matrícula;
  • Nome do Empregado;
  • Endereço;
  • Código do projeto;
  • Título do projeto;
  • Horas trabalhadas.
Agora devemos organizar os atributos em Tabelas pensando, como disse acima, em evitar dados redundantes e na dificuldade de atualizar dados após uma alteração.

  • Seleção de chaves primárias:
Toda tabela em um banco de dados deve ter uma chave primária que identifique exclusivamente cada linha. Em resumo, basta que um atributo tenha a característica de ser único em relação a uma tabela para que seja chave candidata. Pode ser usado também a combinação de duas ou mais colunas como chave primária em uma tabela.

  • Relacionamento entre tabelas
Após a identificação da chave primária e da organização de atributos em tabelas pode-se fazer o relacionamento através da ligação entre uma tabela com chave primária e outra com a chave estrangeira. Normalmente a chave estrangeira em uma tabela contém o valor da chave primária na tabela relacionada.


Portanto neste caso a modelagem ficaria da seguinte forma (Utilizando o Diagrama de Banco de dados – SQL Server 2008):



Desta forma é possível saber por Empregado os projetos que participou e ainda as horas trabalhadas em cada um ou mesmo o total de horas gastas em todos os projetos. Se colocássemos o endereço na tabela de alocação, este deixaria de ser individualmente de cada trabalhador e passaria a ser do local onde o profissional teve sua alocação. Outra situação importante é a criação da tabela associativa TBALOCAÇÃO em função do atributo horas_trabalhadas pois somente desta forma é possível saber a quantidade de horas trabalhadas por um profissional em um determinado projeto. Nestes casos de associação a chave primária sempre será a concatenação das chaves primárias das tabelas que se associam formando uma chave primária composta.

Nenhum comentário:

Postar um comentário