MODELAGEM DE DADOS

Entendendo Diagramas Entidade-Relação com exemplos carnavalescos

Cecília Moraes
Apple Developer Academy | UFPE
6 min readFeb 15, 2023

--

Dentro de um banco, empresa ou até de uma companhia aérea, é necessário armazenar e gerenciar grande quantidade informações. Nos bancos, por exemplo, é preciso ter o controle dos clientes, documentações, transações, entre outros dados. O desafio é ter o controle de um enorme número de dados. Para isso, utiliza-se de um banco de dados, em que ocorre um agrupamento de dados semelhantes que podem ser modificados e consultados ao longo do tempo.

No processo de realização de um projeto de banco de dados, utiliza-se algum método de modelagem do mesmo. Um dos mais usados é o Modelo de Entidade-Relacionamento para a construção de modelagem de banco de dados. Esse modelo foi desenvolvido inicialmente por Peter Chen, em 1976 e até hoje é usado com o objetivo de facilitar esse processo, funcionando como um protótipo do projeto físico final.

Neste artigo abordaremos conceitos básicos para criação de um Diagrama Entidade-Relação. O assunto não é lá dos mais interessantes, e até pode te fazer chorar, mas trazemos exemplos divertidos e de fácil compreensão que vão te dar vontade de aprender rapidamente o assunto pra poder sair logo pra folia.

Diagrama Entidade-Relação binária. O “n” se refere a cardinalidade, explicada posteriormente no artigo.

Entidade

Uma entidade é uma representação de algo que existe no mundo real e que queremos mapear para o banco de dados. Ela pode ser usada para retratar um grupo de pessoas, de objetos, ou até blocos de Carnaval. Toda entidade precisa ter um identificador único. No caso de uma PESSOA que mora no Brasil, o CPF é um bom identificador, porque é exclusivo para cada brasileiro. Já para o BLOCO DE CARNAVAL, basta usarmos seu NOME, já que só existe um “Cariri Olindense”, ou uma “Ceroulas” (e, por sinal, só existe também um Carnaval de Olinda, melhor do Brasil!, embora Recife reclame o título para si).

Na notação de Chen, uma entidade é representada com seu nome inscrito num retângulo.

Entidade é representada por um retângulo. Folião é um exemplo de entidade. “Cecília”, que é um foliã, é uma ocorrência de entidade folião.

Atributo

Um atributo é uma informação que descreve a entidade. Por exemplo, temos uma entidade CRIATURA. Algumas ocorrências de criaturas podem ser “anjo”, “monstro”, ou “diabo”. Imagine agora que temos um atributo COR DO CABELO para essas criaturas. Então, podemos ter um “anjo moreno”, ou mesmo um diabo loiro. Também podemos pensar que uma entidade MULHER tenha uma ocorrência “morena”, e essa entidade tenha o atributo GEOLOCALIZAÇÃO do tipo “tropicana”; uma morena tropicana.

Repare que, no primeiro caso, “loiro” serviu como atributo de “diabo”, enquanto no último exemplo “morena” é, em si, uma entidade, e não um atributo. Essa distinção vai depender da maneira que você quer modelar o seu banco de dados.

Na notação de Chen, um atributo fica dentro de uma elipse, ligado à entidade por um traço.

Existem alguns tipos de atributos:

Atributo chave — É o identificador único, como o nome do bloco. Ex.: “Bloco Trinca de Ás

Atributo composto — Um atributo que pode ser quebrado em vários. Por exemplo, você pode separar o ENDEREÇO DA SEDE da Pitombeira em RUA:”Rua 27 de janeiro”, NÚMERO:”128”, BAIRRO:”Carmo”. O ENDEREÇO DA SEDE é um atributo composto, pois só funciona se tiver todos os outros atributos juntinhos.

Atributo multivalorado — As CORES de um bloco podem ser vistas como atributos multivalorados. O bloco “Eu Acho é Pouco”, por exemplo, tem duas cores: “vermelha” e “amarela”. Ou seja, temos dois valores para um único atributo.

Atributo derivado — o atributo ANO DO BLOCO é derivado da DATA DE FUNDAÇÃO do bloco. O “Elefante de Olinda” saiu pela primeira vez em 12 de fevereiro de 1952, então é dispensável dizer que ele fez 71 anos em 2023, pois basta fazer o cálculo a partir da sua fundação.

Atributos de atributos — Se ESTANDARTE é um atributo de um BLOCO DE CARNAVAL, as CORES seriam um atributo do estandarte, um atributo do atributo.

Lembrando que um atributo pode ser considerado uma entidade, ou uma entidade pode ser considerada um atributo, a depender de como você quer montar seu banco de dados.

Relação

Uma relação é uma ação que conecta entidades. Um FOLIÃO, por exemplo, FREQUENTA um BLOCO DE CARNAVAL, que por sua vez é frequentado por esse folião. Eles estão associados a partir desta relação que, covenhamos, é bom demais. Na notação de Chen, utilizamos um losango para simbolizar uma relação, que pode ser unária, binária ou de ordem superior.

Diagrama Entidade-Relação unária: a relação de uma entidade com ela mesma.
Diagrama Entidade-Relação binária: a relação entre duas entidades.
Diagrama Entidade-Relação ternária: a relação entre três entidades.

Veja abaixo um exemplo de relação binária:

Uma leitura possível para esse diagrama seria:
Cada bloco tem um estandarte. E cada estandarte pertence a um bloco.

Cardinalidade

Repare, pelo gráfico anterior, que a relação bloco/estandarte é única nos dois sentidos. O estandarte só pode pertencer a um bloco, enquanto o bloco só pode ter um estandarte. Isso porque a cardinalidade é 1 para 1. Mas há ainda relações 1:n e n:n. Vamos a um exemplo de todas essas relações com uma relação binária.

No primeira caso a relação é monogâmica porque um folião só pode beijar outro folião e ser beijado pelo mesmo. No seguinte, um folião pode beijar vários outros foliões, sendo um por vez, como uma fila para uma barra do beijo. No último, um folião pode beijar vários outros foliões ao mesmo tempo.

Participação

Participação total e parcial: A relação BLOCO <tem> BONECO GIGANTE é total (linha dupla) do lado boneco gigante. Isto é, não pode existir Boneco do homem da meia-noite sem que haja um bloco Homem da Meia-Noite. De forma distinta, nem todo bloco precisa ter um boneco gigante, ou seja, a relação do lado do bloco é parcial (linha única).

O boneco do Homem da Meia noite só existe porque há o bloco do Homem da Meia Noite.

Conclusão

Em linhas gerais, é assim que a gente monta um Modelo Entidade-Relacionamento na notação de Chen. Não tem feitiço. Ao fim, temos o que se chama de projeto conceitual de banco de dados. Ele nem sempre será seguido à risca quando for transferido para um sistema digital, mas pensar em como seus dados podem ser relacionar é importante para a criação de um banco claro e robusto.

--

--