Banco de Dados

16 abr, 2008

Documentação de Projetos Web – DER

Publicidade

Diagrama Entidade Relacionamento (DER) é a terceira etapa da série que estou escrevendo sobre Documentação de Projetos.

O DER é o diagrama de documentação do banco de dados relacionais, sendo responsável por mostrar de maneira gráfica os relacionamentos entre as entidades do banco de dados. Por isso o nome diagrama entidade relacionamento.

Para nos auxiliar no estudo dos DERs, iremos utilizar como base o DBDesigner, software que serve para criar diagramas desse tipo, além de gerar o código SQL a partir dos diagramas e ser composto de algumas outras funcionalidades que não são do escopo desse artigo. Porém, existem outros programas que podem ser utilizados para que sejam confeccionados os diagramas, como por exemplo as ferramentas gráficas (Fireworks, Photoshop, etc) ou o Microsoft Visio, dentre outras (papel e caneta).

O DER é composto de poucos símbolos gráficos que representam os relacionamentos do banco, listados a seguir:

Retângulo

Representa a entidade do banco de dados, o que muito provavelmente será uma tabela quando o banco for criado;

Losango

Representa o relacionamento entre as entidades.

Triângulo (ou as setas do DBDesigner)

Representam as especializações.

Bolinhas (ou uma lista dentro da entidade)

Representa os atributos.

Entidades

Entidades são qualquer elemento que possua atributos que serão utilizados na base de dados, como por exemplo, um cliente que possui nome, CPF, Telefone, E-mail e outros dados, ou um produto possuir nome, data de validade, fabricante e etc.

Chaves Primárias

Uma chave primária é um atributo usado como identificador do ítem da entidade, como por exemplo um produto que possui um código de barras que o difere dos demais produtos. Esse código de identificação deve ser único.

Chaves Estrangeiras

A chave estrangeira é responsável pelo relacionamento entre duas entidades, como por exemplo, um produto que se relaciona com categoria deve conter como chave estrangeira o código (chave primária) da categoria a qual ele pertence

Relacionamento

Os relacionamentos ocorrem entre as entidades, e esse conjunto forma a base do banco de dados. Uma entidade pode se relacionar com outra entidade de três formas diferentes

Os relacionamento 1-1 (um para um)

Ocorrem quando uma se relaciona com no máximo 1 para com a outra. Um exemplo desse tipo de relacionamento poderia ser entre cônjuges, onde um marido pode ter apenas uma mulher e uma mulher apenas um marido, segundos as leis brasileiras.

Esse tipo de relacionamento não é muito usado, pois geralmente, quando ele ocorrer, as duas entidades podem ser substituídas por uma só se auto-relacionando, ou sem relacionamento algum.

No exemplo dos cônjuges, seria usada apenas uma entidade “Pessoa” que se relacionaria com ela mesma, mostrando que uma pessoa se relaciona com outra (auto-relacionamento será explicado mais para frente).

Um exemplo de relacionamento 1-1 que poderia ser substituído por uma entidade sem relacionamento seria o de produto e características, pois os atributos das duas entidades poderiam estar contidos todos na entidade produto.

Relacionamento 1-1Relacionamento 1-1

Os relacionamentos 1-N (um para n, um para muitos)

Ocorrem quando o relacionamento da entidade a para a entidade b e de no máximo 1 e de b para a e de no máximo n (ou seja, não tem máximo)

Um exemplo desse tipo de relacionamento é o relacionamento entre pai e filho, pois um pai pode ter vários filhos, porém um filho pode ter apenas um pai (para esse exemplo, levaremos em consideração apenas a existência de um pai biológico)

Esse tipo de relacionamento é representado como abaixo

Relacionamento 1-NRelacionamento 1-N

Os Relacionamentos N-N(n para n, muitos para muitos)

Ocorrem quando tanto de a para b quanto de b para a o máximo de n (ou seja, não tem máximo)

Um exemplo desse tipo de relacionamento é o de compra, onde um cliente pode comprar vários produtos, e um produto pode ser comprado por vários clientes.

Nesse caso, existe a necessidade da implementação de uma entidade fraca entre as duas entidades. Essa entidade é chamada de entidade fraca pois sua chave primária é formada por duas chaves estrangeiras. Nesse caso, as chaves estrangeiras poderão se repetir, mas o conjunto delas duas nunca irá se repetir, formando a chave primária.

Relacionamento N-NRelacionamento N-N

Auto relacionamento

O auto relacionamento ocorre quando um ítem de uma entidade se relaciona com outro ítem dessa mesma entidade, como foi dito no exemplo das pessoas como cônjuges. Esse tipo de relacionamento é representado a seguir

Auto RelacionamentoAuto Relacionamento

Porém, pode haver um relacionamento N-N entre a mesma entidade, como no caso de categoria e sub-categoria, onde uma categoria pode conter varias sub-categorias e uma sub-categoria pertencer a várias categorias. Nesse caso também é criada uma entidade fraca entre o relacionamento, como mostrado a seguir

Auto Relacionamento N-NAuto Relacionamento N-N

Especialização

Ocorre quando uma entidade pode ser especializada em diferentes entidades, um exemplo comum desse caso é o de pessoa física e de pessoa jurídica, onde ambos são pessoas, porem a pessoa física tem atributos que a pessoa jurídica não tem (CPF por exemplo) e a pessoa jurídica tem atributos que a pessoa física não tem (CNPJ), porém ambas têm atributos em comum (Nome, Telefone, Endereço).

EspecializaçãoEspecialização