. Modelo-entidade-relacionamento
O modelo de dados representa uma colecao de ferramentas concentuais que servem para descrever dados, relacoes, semanticas e constraints. Define uma forma de descrever o design de um banco de dados em qualquer nivel, partindo do mundo real.
ex: hierarquico, relacional, orientado a objeto, a grafos… cada geracao ou amplia o restringe o objeto de estudo dos modelos, grafos eh restrito, objeto eh amplo (em representacao semantica).
Modelagem de dados representa uma parte essencial do nível de abstração do sistema, permitindo uma melhor compreensão e organização dos dados. Para isso, durante anos vários cientistas e pesquisadores propuseram diversos modelos que deveriam ser capazes de representar o mundo real, intangível e, digamos, nebuloso, em uma amalgama de dados capaz de efetivamente demonstrar-lo em um contexto computacional.
Basicamente, todos os modelos de dados seguem o principal deste diagrama (no escopo de banco de dados)

Modelo Entidade-Relacionamento (ME-R)
Este modelo foi proposto por Peter Chen em 1976. Sua intenção era amplificar a qualidade da modelagem, visto que os modelos anteriores eram incapazes de representar o volume de dados que estava sendo criado no contexto da epoca.
definicao: Este modelo usa uma coleção de objetos básicos conhecidos como entidades, e representa o relacionamento entre esses objetos.
Neste contexto (1980), não havia como representar dados de maneira concreta, então foi uma das primeiras representações semânticas da realidade dentro de um sistema computacional (este modelo consegue representar entidades reais como pessoas, contas de banco e etc.).
Entidades são descritas com um conjunto de atributos, como nome, descricao, etc. Podemos usar um ID para identificar cada objeto.
[!tip] Dica
Lembre-se, uma entidade é apenas uma instancia de um conjunto de entidades, este sim, representa um grupo de objetos reais ou conceitos.
“elemento do conjunto não corresponde ao conjunto inteiro, ou seja: entidade (uma unica ocorrência do conjunto) != conjunto de entidades
Um relacionamento representa uma associação entre diversas entidades.
Tanto entidades como relacionamentos tem seus respectivos conjuntos, cuja logica estrutural (esquema/schema) pode ser representada graficamente com um diagrama entidade-relacionamento. Podemos usar a UML - Unified Modeling Language para descrever esse esquema.
Diagrama Entidade Relacionamento (DE-R)
definicao: Um DE-R eh uma representacao grafica das pecas logicas do Modelo Entidade-Relacionamento.
- Conjunto de entidades sao representadas por retangulos com o nome rotulado e seus atributos listados.
- atributos: a descricao de um conjunto de entidades eh efetuada pelas caracteristicas que sao relevantes, chamadas de atributos.
- Relacoes sao representadas por diamantes conectando um par de entidades.
atributos podem ser (referentes aos componentes):
- (1) Simples - apenas um item
- exemplo: nome, ID, dept_name
- (2) Composto - mais de um item definindo
- exemplo: endereco: cep, numero, rua
EX:
- Instrutor: conjunto de entidades.
- ID: atributo identificador
- Name: atributo simples
- Salario: atributo simples
- Departamento: conjunto de entidades.
- dept_name: atributo identificador
- building: atributo simples
- budget: atributo simples
- member: relacionamento.
exemplo 1.1 - desenho requerido pelo professor no meu caderno.
um atributo pode ser:
- univalorado: eh possivel assumir apenas um valor (representado por um traco e um circulo em sua ponta)
- multivalorado: eh possivel assumir varios valores (representado por um traco e um circulo com outra circunferencia menor em sua ponta)
exemplo 1.2 - no caderno
Busca de uma entidade em um conjunto de entidades
Desejamos buscar, de maneira unica, uma ocorrencia dentro do conjunto de entidades. Para tal, usaremos as chaves primarias para identificar cada entidade.
Superchave
Uma colecao de atributos que, ao ser valorada, permite encontrar uma entidade dado um conjunto de entidades. ex: {Nome, RG}.
Chave candidata
Uma superchave que nao possui nenhum subconjunto proprio como superchave. ex: {Nome} e {rg}.
Chave Primaria
Uma das possiveis chaves candidatas escolhida pelo projetista. ex: {Rg}. Deve ser, portanto, o mais enxuta possivel.

Dominio de um atributo
Intervalo de valores o qual um atributo pode assumir.
e.g: idade(humana): numero naturais < 200
Conjuntos de relacionamento
Permitem especificar a associacao entre conjuntos de entidades.

Restricoes de cardinalidade
Permite especificar as possibilidades de associacao entre os respectivos conjuntos de entidades envolvidos.
ex: n:1, 1:n, n:n, 1:1

associacoes sao representadas por verbos, e.g:
cliente possui servidor
Graus de relacionamento
Definido pelo numero de conjuntos de entidades envolvidas.
e.g:
- grau 1 (auto relacionamento)
- grau 2 (binario), se ha 2 conjuntos de entidades envolvidos
- grau 3 (terceario), se ha 3 conjuntos de entidades envolvidos
Representacoes para relacionamentos de grau 2
1:1
uma entidade no conjunto de entidades A pode estar relacionado, no maximo, a uma entidade no conjunto de entidades B e vice-versa.

1:n
Um entidade em A pode estar associada a n entidades em B, enquanto o contrario n se aplica. Uma entidade de B associa-se a uma entidade em A.

n:1
Uma entidade de B pode estar associada a N entidades em A, euquanto uma entidade em A se associa a apenas 1 entidade em B.

n:m
N entidades em A podem associar-se a N entidades em B, e vice-versa.

Auto relacionamento
Podemos representar associacoes entre entidades de um mesmo conjunto de entidades. Segue as regras de relacionamentos convencionais.

Atributos de conjuntos de relacionamentos
Descreve o tipo de associacao, por exemplo, um numero de data de inicio e etc.
exercicio: construa um projeto conceitual para uma secretaria de uma universidade. A secretaria mantem os dados sobre cada disciplina, incluindo professor e a sala. Armazena tambem as informacoes dos alunos matriculados nas respectivas disciplinas e suas notas finais.
exercicio feito em sala de aula
Representacao de relacionamentos ternarios

le-se:
- um cliente numa agencia pode ter muitas contas
- uma conta numa agencia pode ser de muitos cliente
- um cliente associado a uma conta pode estar em varias agencias

