12 de Outubro de 2008 - Trabalho 1: Engenharia Reversa de Banco de Dados Relacional
Foi escolhido o software Plogger 1.0b3 por se mostrar eficiente em suas funcionalidades mesmo se valendo de um banco de dados tão enxuto.
Esquema do banco de dados: o banco de dados do Plogger é simples e eficiente. Ele consiste originalmente em oito tabelas, mas verificou-se que a tabela plogger_tag e alguns campos da tabela plogger_pictures (campos com o prefixo “EXIF_”) não eram usados nesta versão (possivelmente eles podem ter sido usados em alguma versão mais atual) e foram removidos da nossa análise. A tabela plogger_collections armazena dados sobre as coleções do usuário, a plogger_albums armazena dados sobre os álbuns que fazem parte de uma coleção, a plogger_pictures guarda informações sobre as fotos que compõe um álbum ou que serão utilizadas como thumbnails, a plogger_thumbnail_config possui dados sobre esses thumbnails usados nas imagens do sistema, a plogger_comments armazena os comentários das fotos. As tabelas plogger_config e plogger_tag2picture guardam dados de configurações do sistema.
Diagrama: o resultado pode ser observado na imagem abaixo ou através
deste arquivo xml ou
deste pdf.
Formas normais: observou-se que as relações entre as tabelas já se encontram na normalizadas (terceira forma normal).
Relacionamentos:
Relação 01
Cardinalidade mínima: 1:1 (porque ao iniciar o programa ele já inicia com uma coleção e um álbum).
Cardinalidade máxima: 1:N (porque uma coleção pode possuir vários álbuns).
Relação 02
Cardinalidade mínima: 1:0 (ao instalar o programa, o mesmo inicia com uma coleção contendo um álbum vazio).
Cardinalidade máxima: 1:N (um álbum contém várias fotos).
Relação 03
Cardinalidade mínima: 1:0 (uma coleção pode não ter thumbnail inicialmente).
Cardinalidade máxima: 1:1 (uma coleção pode ter no máximo um thumbnail).
Relação 04
Cardinalidade mínima: 1:1 (ao criar um álbum, deve-se atribuir ao mesmo uma imagem a qual será seu thumbnail).
Cardinalidade máxima: 1:1 (um álbum só pode possuir um thumbnail).
Relação 05
Cardinalidade mínimo: 1:1 (não há foto sem, ao menos, um thumbnail).
Cardinalidade máxima: 1:N (uma imagem pode conter vários thumbnails).
Relação 06:
Cardinalidade mínima: 1:0 (uma foto pode não ter comentários).
Cardinalidade máxima: 1:N (uma foto pode conter vários comentários atrelados a ela).
Relação 07:
Cardinalidade mínima: 1:1 (ao criar um álbum, deve-se atribuir ao mesmo uma imagem a qual será seu thumbnail).
Cardinalidade máxima: 1:1 (um álbum só pode possuir um thumbnail).