Diagramas de entidade-relacionamento são uma ferramenta útil para a concepção de bases de dados. Mostram as entidades envolvidas, os seus atributos, e as relações entre elas. É necessário definir estes elementos para compreender correctamente a estrutura da base de dados antes de a construir.
Um método frequentemente utilizado para criar um diagrama de entidade-relacionamento é a notação do pé-de-cabra. Introduzido nos anos 70, as setas distintivas utilizadas na notação do pé de galinha foram também chamadas de setas invertidas, pés de galinha, ou apenas garfos.
Quais são os símbolos usados na notação do pé de galinha?
Notação do pé de galinha usa algumas formas e símbolos únicos para representar os elementos numa base de dados.
Entidades
Uma entidade é uma coisa do mundo real (pessoa, lugar, objecto – o que quer que se possa nomear na base de dados pode ser uma entidade) representada na notação do pé de galinha por um rectângulo com um nome numa caixa no topo. Uma entidade é sempre singular.
Atributos
Entidades têm atributos que as descrevem. Estes atributos são listados por baixo do nome no resto do rectângulo. Uma entidade pode ter um ou muitos atributos. Um desses atributos será o seu atributo chave, ou identificador, que identifica de forma única essa entidade. O identificador é mostrado com um asterisco ao lado do seu nome.
Então a nossa entidade jogador é representada por um rectângulo com a palavra jogador no seu interior.
Relações
As entidades representadas no diagrama têm relações que descrevem a forma como interagem. As relações entre entidades são representadas por uma linha com um verbo escrito na linha.
Como é que as relações funcionam na notação do pé de galinha?
As linhas de relação na notação do pé de galinha têm dois indicadores para descrever a cardinalidade e a modalidade da relação. A cardinalidade diz-lhe o número máximo de vezes que uma instância de uma entidade pode ser associada a instâncias da outra entidade. A modalidade diz-lhe o número mínimo de vezes que a instância pode ser associada a instâncias da outra entidade. Note que, na maioria das vezes, pode simplesmente utilizar a palavra cardinalidade.
Estes indicadores são mostrados em ambos os extremos da linha de relação, para que possa ver como as entidades se relacionam uma com a outra.
One
Muito
p>P>Pode ver a partir disto linha de onde veio o nome “pé de galinha”…
Zero ou muitos
Um zero ou muitas relações significa que é opcional. Pode não haver qualquer ligação entre as entidades, ou pode haver uma ou mais.
Um ou muitos
O “um” indica que esta não é uma relação opcional, embora possa haver mais do que uma.
Um e apenas um
Não é possível haver mais do que uma relação entre instâncias.
Zero ou uma
Outra relação opcional, com um máximo de uma.
Notação do pé de galinha vs. pé de galinha
Notação do pé de galinha não é a única forma de desenhar um diagrama entidade-relacionamento. Uma abordagem alternativa e anterior, a notação Chen, adopta uma abordagem diferente para representar entidades e as suas relações: as entidades são rectângulos, os seus atributos são ovais e as relações são diamantes.
Notação Chen utiliza símbolos nas linhas entre relações e entidades para mostrar a cardinalidade:
alguns críticos da notação Chen argumentam que os seus diagramas ocupam mais espaço do que os pés de galinha e que os símbolos das relações são menos intuitivos.
Exemplo da notação do pé de galinha em acção
Mapa de uma loja online para mostrar como funciona a notação do pé de galinha. Para o nosso exemplo, vamos simplificar a loja e representar apenas quatro entidades: cliente, encomenda, produto, e código de desconto.
P>Pode ver-se pelo diagrama que cada entidade tem um número de atributos e que o identificador único é marcado com um asterisco.
Agora vamos começar a mapear as relações. Podemos começar com cliente e encomenda.
A linha de relação mostra que um cliente pode ter zero ou muitas encomendas, enquanto que uma encomenda pode ser associada a um e apenas a um cliente. O verbo usado para a relação pode ser “lugares”, como no cliente coloca uma encomenda.
Movendo-se para produto e encomenda, um produto pode ser associado a zero ou a muitas encomendas, enquanto que uma encomenda deve ter um ou muitos produtos (não se pode ter uma encomenda sem encomendar algo!). Para produto e encomenda, podemos usar o verbo “é adicionado a” para descrever como um produto é adicionado a uma encomenda.
P>Próximo é código de desconto. Queremos encorajar os nossos clientes a encomendar produtos, por isso, por vezes, enviamos um código de desconto sazonal por e-mail. Poderíamos enviar códigos específicos ligados a um cliente específico, mas para o nosso exemplo iremos com o mesmo código alfanumérico curto para todos.
Não precisamos de ligar o cliente ao código de desconto, porque eles apenas introduzem o código quando encomendam e este actualizará o custo total da encomenda. Não precisa de haver uma relação persistente entre cliente e código de desconto.
Encomendas e códigos de desconto têm uma relação zero ou uma: um cliente pode não introduzir um código de desconto, mas se o fizer, só pode utilizar um de cada vez. Voltando ao contrário, uma encomenda pode não ter qualquer código de desconto associado, mas se tiver, só pode ter um de cada vez. Um código de desconto é “aplicado a” uma encomenda.
Um diagrama de entidade-relação real desenhado usando notação de pé de galinha será muito mais complexo do que o nosso exemplo. Mas é possível ver como a notação do pé de galinha facilita a visualização rápida do funcionamento da base de dados. Provavelmente até pode começar a imaginar as outras partes da nossa loja online e como se podem relacionar entre si.
p>Notação de pés de galinha funciona melhor quando precisa de começar seriamente a construir a sua base de dados. Quando tiver de ser muito claro sobre como as entidades se relacionam entre si, apreciará o nível de detalhe encapsulado pelas linhas de relacionamento num diagrama de entidade-relação (ERD) criado utilizando a notação do pé de galinha. Mas quando está apenas a começar a desenvolver o seu projecto, pode confiar em abordagens mais simples da ERD. O primeiro passo na comunicação das suas ideias é esboçar aproximadamente as entidades, atributos e relações. Nessa fase, é geralmente uma boa ideia trabalhar rapidamente e não se preocupar demasiado com os detalhes.
Gleek suporta a notação do pé de galinha, e nós permitimos-lhe criar muitos outros diagramas. As nossas ferramentas de diagramação são para o programador que deseja criar rapidamente um diagrama ER informal ao nível conceptual ou um diagrama de contexto rápido para determinar como o seu produto se relaciona com entidades externas. Se precisar de discutir as suas ideias numa reunião ou colaborar nas fases iniciais da concepção de uma base de dados, experimente a abordagem de Gleek aos diagramas.