Modelo de Entidade Relacionamento: Banco de Dados
O modelo de entidade relacionamento é uma forma de representar graficamente a estrutura de um banco de dados. Ele é composto por entidades, atributos e relacionamentos. Neste post, vamos explicar o que são esses conceitos e como eles se aplicam a um banco de dados.
O que são entidades?
Uma entidade é um objeto ou conceito que existe no domínio do problema e que tem relevância para o banco de dados. Por exemplo, em um banco de dados de uma escola, as entidades podem ser alunos, professores, disciplinas, turmas, etc. Cada entidade tem um conjunto de propriedades que a caracterizam, chamadas de atributos. Por exemplo, os atributos de um aluno podem ser nome, matrícula, data de nascimento, etc.
O que são atributos?
Um atributo é uma propriedade ou característica de uma entidade. Ele pode ser classificado em diferentes tipos, de acordo com a sua natureza e função. Os principais tipos de atributos são:
- Atributo simples: é um atributo que não pode ser subdividido em outros atributos. Por exemplo, o nome de um aluno é um atributo simples.
- Atributo composto: é um atributo que pode ser subdividido em outros atributos. Por exemplo, o endereço de um aluno é um atributo composto, que pode ser formado por rua, número, bairro, cidade, estado, etc.
- Atributo monovalorado: é um atributo que tem apenas um valor para cada entidade. Por exemplo, a matrícula de um aluno é um atributo monovalorado, pois cada aluno tem apenas uma matrícula.
- Atributo multivalorado: é um atributo que pode ter mais de um valor para cada entidade. Por exemplo, o telefone de um aluno é um atributo multivalorado, pois um aluno pode ter mais de um telefone.
- Atributo derivado: é um atributo que pode ser obtido a partir de outros atributos. Por exemplo, a idade de um aluno é um atributo derivado, pois pode ser calculada a partir da data de nascimento.
- Atributo chave: é um atributo que identifica de forma única cada entidade. Por exemplo, a matrícula de um aluno é um atributo chave, pois não há dois alunos com a mesma matrícula.
Um relacionamento é uma associação entre duas ou mais entidades. Ele expressa uma dependência ou uma interação entre as entidades envolvidas. Por exemplo, em um banco de dados de uma escola, há um relacionamento entre alunos e disciplinas, que indica quais alunos estão matriculados em quais disciplinas. Cada relacionamento tem um conjunto de propriedades que o definem, chamadas de cardinalidades. As cardinalidades indicam o número mínimo e máximo de ocorrências de uma entidade que podem estar associadas a uma ocorrência de outra entidade. Por exemplo, no relacionamento entre alunos e disciplinas, a cardinalidade pode ser de 0 a N para os alunos, e de 1 a N para as disciplinas. Isso significa que um aluno pode estar matriculado em nenhuma ou várias disciplinas, e que uma disciplina deve ter pelo menos um e pode ter vários alunos matriculados.
Um modelo de entidade relacionamento pode ser representado por um diagrama de entidade relacionamento (DER), que é uma forma gráfica de mostrar as entidades, os atributos e os relacionamentos de um banco de dados. Um DER usa símbolos e notações para representar os elementos do modelo. Existem diferentes formas de representar um DER, mas uma das mais comuns é a notação de Chen, que usa os seguintes símbolos:
- Retângulo: representa uma entidade. O nome da entidade é escrito dentro do retângulo.
- Elipse: representa um atributo. O nome do atributo é escrito dentro da elipse. Um atributo composto é representado por uma elipse com outras elipses dentro. Um atributo multivalorado é representado por uma elipse dupla. Um atributo derivado é representado por uma elipse tracejada. Um atributo chave é sublinhado.
- Losango: representa um relacionamento. O nome do relacionamento é escrito dentro do losango. Uma linha conecta o losango à entidade participante. As cardinalidades são escritas nas extremidades das linhas, indicando o número mínimo e máximo de ocorrências de cada entidade no relacionamento.
- Linha: representa uma restrição ou uma generalização. Uma restrição é uma condição que limita as possibilidades de associação entre as entidades. Por exemplo, uma restrição de exclusão é representada por uma linha tracejada com um X na ponta, indicando que uma entidade só pode estar associada a uma das entidades relacionadas. Uma generalização é uma forma de agrupar entidades que compartilham atributos e relacionamentos comuns. Por exemplo, uma generalização de aluno e professor é representada por uma linha sólida com um triângulo na ponta, indicando que aluno e professor são subtipos de uma entidade genérica chamada pessoa.
Para ilustrar o uso do modelo de entidade relacionamento, vamos considerar um exemplo de um banco de dados de uma escola. O banco de dados contém as seguintes entidades: aluno, professor, disciplina, turma e sala. Os atributos e os relacionamentos entre as entidades são os seguintes:
- Aluno: tem os atributos nome, matrícula (chave), data de nascimento, endereço (composto) e telefone (multivalorado). Está relacionado com disciplina, indicando as disciplinas em que está matriculado, com cardinalidade de 0 a N para aluno e de 1 a N para disciplina. Está relacionado com turma, indicando a turma em que está alocado, com cardinalidade de 1 para aluno e de 0 a N para turma.
- Professor: tem os atributos nome, código (chave), data de nascimento, endereço (composto) e telefone (multivalorado). Está relacionado com disciplina, indicando as disciplinas que leciona, com cardinalidade de 1 a N para professor e de 1 para disciplina. Está relacionado com turma, indicando a turma que orienta, com cardinalidade de 0 a 1 para professor e de 1 para turma.
- Disciplina: tem os atributos código (chave), nome, carga horária e ementa. Está relacionada com aluno, indicando os alunos matriculados, com cardinalidade de 1 a N para disciplina e de 0 a N para aluno. Está relacionada com professor, indicando os professores que lecionam, com cardinalidade de 1 para disciplina e de 1 a N para professor. Está relacionada com turma, indicando as turmas em que é ofertada, com cardinalidade de 1 a N para disciplina e de 1 para turma.
- Turma: tem os atributos código (chave), período e horário. Está relacionada com aluno, indicando os alunos alocados, com cardinalidade de 0 a N para turma e de 1 para aluno. Está relacionada com professor, indicando o professor orientador, com cardinalidade de 1 para turma e de 0 a 1 para professor. Está relacionada com disciplina, indicando a disciplina ofertada, com cardinalidade de 1 para turma e de 1 a N para disciplina. Está relacionada com sala, indicando a sala em que ocorre, com cardinalidade de 1 para turma e de 0 a N para sala.
- Sala: tem os atributos número (chave), capacidade e tipo. Está relacionada com turma, indicando as turmas que ocorrem, com cardinalidade de 0 a N para sala e de 1 para turma.
Conclusão
Neste post, vimos o que é o modelo de entidade relacionamento, um método de representar graficamente a estrutura de um banco de dados. Aprendemos os conceitos de entidade, atributo e relacionamento, e como eles se aplicam a um banco de dados. Também vimos os tipos de atributos e de relacionamentos, e como eles podem ser classificados. Por fim, vimos como representar um modelo de entidade relacionamento por meio de um diagrama de entidade relacionamento, usando a notação de Chen. Vimos um exemplo de um banco de dados de uma escola, e como ele pode ser modelado usando o modelo de entidade relacionamento. Esperamos que este post tenha sido esclarecedor e útil para você. Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo. Obrigado por ler.
Esperamos que este post tenha sido útil para você entender o que é e como se faz a modelagem de dados. Se você gostou deste post, compartilhe com seus amigos e deixe seu comentário. Obrigado por ler!
Se você quer saber mais sobre esse assunto, clique aqui e conheça agora os nossos cursos da FASPEC, ou matricule-se agora e descubra um mundo de oportunidades