Aula 25: MER: Atributos em Relacionamentos

Nem todas as informações do mini-mundo "moram" dentro das entidades; algumas informações nascem apenas no momento em que duas ou mais entidades se encontram. Estes são os atributos de relacionamento. Eles não descrevem nenhuma das entidades isoladamente, mas sim a propriedade da associação entre elas. O exemplo mais clássico é o atributo 'Horas Trabalhadas' em um relacionamento 'Trabalha-em' entre 'Empregado' e 'Projeto'. As horas não pertencem apenas ao empregado (pois ele trabalha tempos diferentes em projetos diferentes) nem ao projeto (que recebe tempos diferentes de cada funcionário).
No Diagrama Entidade-Relacionamento (DER), esses atributos são representados por elipses ligadas diretamente ao losango do relacionamento. Identificar esses dados é vital, pois colocá-los no lugar errado (como dentro da entidade 'Empregado') causaria uma redundância massiva e impediria o registro de múltiplos valores para diferentes projetos. O atributo de relacionamento captura a essência da transação ou da alocação de recursos.
A importância técnica desses atributos cresce nos relacionamentos Muitos-para-Muitos (N:M). Enquanto nos relacionamentos 1:N os atributos da associação podem ser migrados para a entidade do lado "muitos", nos relacionamentos N:M eles tornam-se colunas obrigatórias de uma nova tabela (tabela associativa) na implementação física. Sem essa distinção na fase conceitual, informações críticas como "Data da Venda" ou "Nota da Prova" seriam perdidas ou armazenadas de forma inconsistente.
Dominar o uso de atributos em relacionamentos é o que permite a criação de sistemas dinâmicos. Em softwares de e-commerce, por exemplo, o "Preço de Venda" de um item no momento da compra é um atributo do relacionamento entre o Pedido e o Produto, garantindo que o histórico financeiro seja preservado mesmo que o preço do produto mude no catálogo geral. É a precisão na modelagem desses detalhes que garante a robustez de sistemas corporativos.
Comentários
Postar um comentário