Modelo ER - Conceitos Básicos
O modelo ER define a visão conceitual de um banco de dados. Ele funciona em torno de entidades do mundo real e as associações entre elas. No nível da visão, o modelo ER é considerado uma boa opção para projetar bancos de dados.
Entidade
Uma entidade pode ser um objeto do mundo real, animado ou inanimado, que pode ser facilmente identificável. Por exemplo, em um banco de dados escolar, alunos, professores, turmas e cursos oferecidos podem ser considerados entidades. Todas essas entidades têm alguns atributos ou propriedades que lhes conferem sua identidade.
Um conjunto de entidades é uma coleção de tipos semelhantes de entidades. Um conjunto de entidades pode conter entidades com atributos que compartilham valores semelhantes. Por exemplo, um conjunto de Alunos pode conter todos os alunos de uma escola; da mesma forma, um conjunto de Professores pode conter todos os professores de uma escola de todas as faculdades. Os conjuntos de entidades não precisam ser separados.
Atributos
As entidades são representadas por meio de suas propriedades, chamadas attributes. Todos os atributos possuem valores. Por exemplo, uma entidade de aluno pode ter nome, classe e idade como atributos.
Existe um domínio ou intervalo de valores que podem ser atribuídos a atributos. Por exemplo, o nome de um aluno não pode ser um valor numérico. Tem que ser alfabético. A idade de um aluno não pode ser negativa, etc.
Tipos de Atributos
Simple attribute- Atributos simples são valores atômicos, que não podem ser mais divididos. Por exemplo, o número de telefone de um aluno é um valor atômico de 10 dígitos.
Composite attribute- Os atributos compostos são compostos por mais de um atributo simples. Por exemplo, o nome completo de um aluno pode ter first_name e last_name.
Derived attribute- Atributos derivados são os atributos que não existem no banco de dados físico, mas seus valores são derivados de outros atributos presentes no banco de dados. Por exemplo, o salário_média em um departamento não deve ser salvo diretamente no banco de dados, mas pode ser derivado. Para outro exemplo, a idade pode ser derivada de data_of_birth.
Single-value attribute- Atributos de valor único contêm um valor único. Por exemplo - Social_Security_Number.
Multi-value attribute- Atributos de vários valores podem conter mais de um valor. Por exemplo, uma pessoa pode ter mais de um número de telefone, email_address, etc.
Esses tipos de atributos podem se reunir de uma forma como -
- atributos simples de valor único
- atributos simples de vários valores
- atributos compostos de valor único
- atributos compostos de múltiplos valores
Conjunto de entidades e chaves
Chave é um atributo ou coleção de atributos que identifica exclusivamente uma entidade entre o conjunto de entidades.
Por exemplo, o roll_number de um aluno torna-o identificável entre os alunos.
Super Key - Um conjunto de atributos (um ou mais) que identificam coletivamente uma entidade em um conjunto de entidades.
Candidate Key- Uma superchave mínima é chamada de chave candidata. Um conjunto de entidades pode ter mais de uma chave candidata.
Primary Key - Uma chave primária é uma das chaves candidatas escolhidas pelo designer do banco de dados para identificar exclusivamente o conjunto de entidades.
Relação
A associação entre entidades é chamada de relacionamento. Por exemplo, um funcionárioworks_at um departamento, um estudante enrollsem um curso. Aqui, Works_at e Enrolls são chamados de relacionamentos.
Conjunto de Relacionamento
Um conjunto de relacionamentos de tipo semelhante é chamado de conjunto de relacionamento. Como entidades, um relacionamento também pode ter atributos. Esses atributos são chamadosdescriptive attributes.
Grau de Relacionamento
O número de entidades participantes em um relacionamento define o grau do relacionamento.
- Binário = grau 2
- Ternário = grau 3
- n-ária = grau
Mapeando cardinalidades
Cardinality define o número de entidades em um conjunto de entidades, que pode ser associado ao número de entidades de outro conjunto por meio de conjunto de relacionamento.
One-to-one - Uma entidade do conjunto de entidades A pode ser associada a no máximo uma entidade do conjunto de entidades B e vice-versa.
One-to-many - Uma entidade do conjunto de entidades A pode ser associada a mais de uma entidade do conjunto de entidades B, no entanto, uma entidade do conjunto de entidades B pode ser associada a no máximo uma entidade.
Many-to-one - Mais de uma entidade do conjunto de entidades A pode ser associada a no máximo uma entidade do conjunto de entidades B, no entanto, uma entidade do conjunto de entidades B pode ser associada a mais de uma entidade do conjunto de entidades A.
Many-to-many - Uma entidade de A pode ser associada a mais de uma entidade de B e vice-versa.