79
Sistemas de Informação e Bases de Dados 2019/2020 Modelo Entidade-Associação (E-A)

Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

Sistemas de Informação eBases de Dados

2019/2020

Modelo Entidade-Associação (E-A)

Page 2: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Page 3: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sumário

� Sistemas de Informação

� Modelo Entidade-Associação (E-A)

� Entidades e Associações

� Exemplo Prático (banco)

� Requisitos não formalizáveis em E-A

Page 4: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sistemas de Informação Sistemas de Informação

= código + informação

= código + [dados + estrutura].

Page 5: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sistemas de Informação Um sistema de Informação é diferente de um programa ou de um algoritmo..

Um sistema de informação é um sistema que gere informação, e uma base de dados é onde se estrutura e armazena a informação.

Page 6: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sistemas de Informação Sistemas de Informação

= código + informação

= código + [dados + estrutura].

Base de Dados

Programa Information Schema

Page 7: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sistemas de Informação Modelos de Informação

- Sistema de Ficheiros (não tem modelo)

- Relacional (Lógico)

- Entidade Associação (Conceptual)

- Orientado a Objetos (Lógico)

Page 8: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sistemas de Informação

No fim de vida de um sistema de Informação o código acaba por ir fora, mas os dados são sempre extraídos e recuperados

Page 9: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

Modelação E-A

Page 10: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Tabelas de um sistema bancário

Como saber que são estas as tabelas (e não outras)?

Page 11: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Tabelas de um sistema bancário

Especificação de Requisitos

•requisito 1:

•requisito 2:

• …

•regra de integridade 1:

•regra de integridade 2:

•...

Page 12: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Concepção de uma Base de Dados

Especificação de Requisitos

•requisito 1:

•requisito 2:

• …

•regra de integridade 1:

•regra de integridade 2:

•...

Modelo Conceptual do Domínio(Modelo EA)

EsquemaRelacional

Page 13: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

It pays to clearly define what the problem is!

Fifty-five minutes defining the problem and only five minutes finding the solution.

A. Einstein

Page 14: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Database Design

Good database design eliminates thousands of lines of code

https://rodgersnotes.wordpress.com/2010/09/14/database-design-mistakes-to-avoid/

Page 15: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Objectivos da modelação E-AA modelação E-A visa formalizar (apenas) a

estrutura de informação do domínio (do problema) focando-se no levantamento de:

‣ Entidades do domínio

‣ De Associações entre entidades

‣ Das Restrições que as possíveis soluções válidas para o problema têm de respeitar

Page 16: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Vantagens do Modelo E-A1. Permite efetuar a comunicação entre os vários

interessados (tal como a planta de uma casa entre o utilizador final, arquiteto e construtor)

2. É um linguagem gráfica simples com poucos símbolos

3. Captura a maior parte das situações graficamente; as restantes podem ser capturadas por escrito

4. É um modelo do problema e não da solução

5. Um modelo é uma rede de conceitos inter-relacionado, portanto não pode ter ilhas isoladas

Page 17: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Objectivos do diagrama E-A‣ A descrição do domínio não deve ser poluída (com

detalhes da solução) para:

1. Não ocultar/esconder incoerências/defeitos do modelo

2. Evitar assumir que quem modela sabe qual é a melhor solução

‣ A descrição deve ser declarativa e independente (da solução) para:

4. Não restringir as possibilidades de implementação (evitando que se encontrem boas soluções).

5. Simplificar o modelo

Page 18: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A vs Diagrama de Tabelas

Semelhantes, mas:

‣ As ferramentas de modelação de bases de dados permitem criar diagramas de tabelas e de relações entre tabelas

‣ Diagramas de tabelas são modelos da solução e não modelos do problemas

Page 19: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades e Associações

Page 20: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Diferenças para a notação do livro

NOTA

A notação ensinada nas aulas tem algumas diferenças relativamente à notação do livro adoptado. Pode utilizar-se, de forma coerente, tanto notação do livro como a ensinada nas aulas.

Page 21: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades

Page 22: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

Bases de Dados 2017/18

Entidade

Definição

Uma Entidade ou (Tipo de Entidade) representa um conceito para o qual existe um conjunto de objetos (instâncias, exemplares ou ‘indivíduos’) distintos no mundo real

Page 23: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades

‣Dado um conjunto de atributos A1… An onde- Cada atributo Ai tem associado um domínio de

valores possíveis D(Ai)

‣Uma entidade E: é um conjunto de objetos com a mesma estrutura (informação):- E = {(v1,..., vn) | v1 ∈ D(A1), ..., vn ∈ D(An)}- Cada elemento e ∈ E é uma instância de E

Page 24: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

Entity Name

An entity type of the domain representing a concept for which multiple distinct objects may exist.

An entity type must have a set of attributes that distinguish between the different entity instances (KEYs)

For example, 'Employee' or 'Invoice' are entities in the sense that the system may keep information regarding, respectively, multiple 'employees', and multiple 'invoices'.

‣ Entity

Page 25: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades(exemplos)

NOTA: O conceito de entidade só está completo com a definição da forma de identificar cada instancia (chave)

Page 26: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

Entity

Attributes are characteristics of entities that represent the information (data values) to be captured for each instance of an entity set

Each instance has one value for each attribute.

‣ Attributesattr1

attr2

Page 27: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades com atributos (Exemplo)

Page 28: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades e Atributos…Visão TOP DOWN

‣ O conceito é fundamentalmente depreendido pelo nome da entidade

‣ A escolha dos atributos reflecte o nível de detalhe com o qual queremosrepresentar informação acerca de entidades.

Visão BOTTOM UP

‣ O conceito é depreendido com base nas propriedades (atributos) e das associações da entidade.

‣ O nome da entidade não tem semântica. É apenas um nome

EM AMBOS OS CASOS O CONCEITO NÂO FICA DEFINIDO ENQUANTO NÂO SE SOUBER RESPECTIVA FORMA DE IDENTIFICAÇÂO (CHAVE)

Page 29: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Restrições de Chave(Identificação)

Page 30: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Chaves de EntidadesDefinição

‣ Uma chave é o conjunto mínimo de atributos cujos valores identificam univocamente cada entidade do conjunto

‣ A chave primária está sublinhada

‣ Na prática os valores dos atributos chave são únicos (i.e. nunca podem repetir-se)

Page 31: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Chaves compostas

‣ nbi é chave? ‣ nbi + arq_id é chave!

Chave composta

Page 32: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Chaves de Candidatas‣ Podem existir vários atributos (ou sub-conjuntos de

atributos) que definem chaves, ou seja:

- Podem existir várias chaves candidatas

- Uma é escolhida para ser chave primária

‣ Se existirem várias chaves candidatas, apenas a chaveprimária é representada graficamente no modelo, as outrassão descritas como uma RI textual.

Page 33: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Heurísticas para a Chave Primária

‣ A chave mais curta (mas não necessariamente)

‣ A chave mais reconhecida pelos utilizadores do domínio

‣ A chave que não depende de nenhum outro atributo

- 'telefone' depende de 'morada' mas 'morada' nãodepende de ‘telefone'

Page 34: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Heurísticas E-A

1. Entidade com apenas um atributo: Podem não ser umaentidade (eventualmente o atributo é de outraentidade)

2. Entidade sem chave: Pode não ser uma entidade mas sim uma associação

Page 35: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Associações

Page 36: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

Bases de Dados 2017/18

Associação

Definição

Uma Associação entre duas ou mais entidades representa os possíveis relacionamentos entre as instâncias das entidades

respetivas

‣ Relaciona instâncias de entidades:- Associação Binária: duas entidades

• Não necessariamente distintas- Ternárias: três entidades, …‣ Pode ter atributos

Page 37: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Associação

‣ Dadas entidades E1… En e atributos A1…Am

‣ Uma associação A é o conjunto de elementos:- A = {(e1, ..., en, v1, …, vm) | e1 ∈ E1, ..., en ∈ En /\

v1 ∈ D(A1), ..., vm ∈ D(Am)}

‣ Cada elemento a ∈ A é uma instância da associação A

Page 38: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

A binary association between two entities capturing the relationship between them in the sense that instance of the distinct entities may can be related to one another through the association.

Note: Association = Relationship

‣ Binary Association

association name

Page 39: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Comutatividade das Associações

‣ A informação representada por:

‣ É a mesma representada por:

Page 40: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Nome das Associações‣ Minúsculas por convenção

‣ Tipicamente um verbo

‣ Os nomes das associações devem ser sempre únicosporque:

- O modelo é uma ferramenta da comunicação (e se assim não fosse, no limite todas as associações teriam o mesmo nome resultando em perda de informação do domínio)

‣ Sempre que a direção de leitura não seja óbvia deve ser indicada a direção de leitura com ‘>’ ou '<'

Page 41: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

An association with attribute captures additional information that characterises the relationship being established.

‣ Association with attribute

Association Name

attr

Page 42: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Associações com atributos (exemplo)

Page 43: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Instâncias (exemplares) de uma associação

Associating an Employee to multiple departments is the same creating multiple associations of the ‘works_in' association.

Page 44: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

A ternary association captures a relationship between three entities meaning that individuals of each of the three entities may be related through the specified association named 'assoc name'.

‣ Ternary Association

Association Name

Page 45: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Associação ternária (exemplo)

Page 46: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades e Associações

A única forma de relacionar entidades é através de associações.

Não é colocando atributos com nomes de entidades…..

A B

A B

BNeste caso, estamos a afirmar que a entidade A nada tem a ver com a entidade B, apesar de

ter um atributo com o mesmo nome

Page 47: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exercise: Modelling the Bank

Domain

Page 48: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Domain Requirements

‣ Store the information regarding accounts with attributes acctnum and balance, the first being its key.

‣ Every account is owned by a depositor with attributes id card number, name and address, the first being its key;

‣ Accounts are registered in branches. A branch is characterisedby a branch name and a city, the first being its key;

‣ It is necessary to know which depositors have an account in the city where they live, the first being its key;

Page 49: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Bank Solution

Page 50: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Requisitos não formalizáveis num modelo E-A

1. Requisitos que não sejam requisitos de informação não podem ser formalizados em E-A (desejos do utilizador, considerações sobre o aspecto gráfico do sistema)

2. Requisitos para os quais não seja possível determinar quais os atributos, não são formalizáveis em E-A

3. Requisitos que tenham que ver com o comportamento/funcionalidade dos sistema, tipicamente não são formalizáveis

Page 51: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Entidades e AssociaçõesNa prática tanto entidades como associações são:

‣ conjuntos de instâncias

‣ Podem ter propriedades

A diferença real está na forma de identificação.

‣ Os atributos que identificam as instancias de uma entidades são atributos das próprias entidades

‣ Os atributos que identificam as instancias de uma associação são atributos das entidades associadas!

Esta é a verdadeira diferença entre entidades e associações

Page 52: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

Sistemas de Informação eBases de Dados

2019/2020

Modelo Entidade-Associação (cont.)

Page 53: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Page 54: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Sumário

� Modelo Entidade-Associação (Continuação)

� Restrições de Chave

� Restrições de Cardinalidade

� Restrições de Participação

� Generalização de restrições

Page 55: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Restrições de Multiplicidade

Page 56: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(sem restrições)

‣ Um departamento pode ser gerido por quantos empregados?

‣ Um empregado pode gerir quantos departamentos?

R: Nenhum, um, ou muitos

R: Nenhum, um, ou muitos

Page 57: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(com uma restrição de

multiplicidade)

‣ Um departamento pode ser gerido por quantos empregados?

‣ Um empregado pode gerir quantos departamentos?

R: No máximo um

R: Nenhum, um, ou muitos

Page 58: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(com duas restrição de

multiplicidade)

‣ Um departamento pode ser gerido por quantos empregados?

‣ Um empregado pode gerir quantos departamentos?

R: No máximo um

R: No máximo um

Page 59: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

Each instance of either entity may be related many (as well as to none, one, or all) instances of the other entity.

‣ Many-to-many (no constraint)

‣ One-to-manyEach instance of the left entity is associated to potentiality many instances of the entity on the right. Each instance on the right can be associated with at most one instance from the left entity.

‣ One-to-one Each instance of the left entity must be associated with at most one instance of right entity. Moreover, each instance of the right entity can be related with at most one instance of the left entity.

Page 60: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Cardinalidade

muitos-para-muitos 1-para-11-para-muitos muitos-para-1

‣ Menos restrito ‣ Mais restrito

Page 61: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Restrições de Participação

Page 62: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(sem restrições)

‣ É possível existir um Departamento sem gestor?

‣ É possível existir um Empregado que não seja gestor?

R: Sim

R: Sim

Page 63: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(com uma restrição de

participação)

‣ É possível existir um Departamento sem gestor?

‣ É possível existir um Empregado que não seja gestor?

R: Não

R: Sim

Page 64: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo(com duas restrições de

participação)

‣ É possível existir um Departamento sem gestor?

‣ É possível existir um Empregado que não seja gestor?

R: Não

R: Não (todos os empregados têm obrigatoriamente de ser gestores)

Page 65: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

E-A Graphic Language

Instances of either entity type can exist in the system without necessarily participating in the association.

‣ Optional (or partial) participation (no constraint)

‣ Mandatory (or total) participation

Each instance on the right-hand entity type must participate in the association in order to exist in the system.

‣ Mutual (total on both sides) participationInstances of both entities must participate in the association.

Page 66: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exemplo (final)

‣ É possível existir um Departamento sem gestor?

‣ Quantos gestores podem existir para um departamento?

R: Não

R: No máximo um

Page 67: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exercício A.

Page 68: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exprima em língua natural cada um dos seguintes diagramas

Page 69: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Diagrama 1

‣ Employees can manage many Departments

‣ Same for ‘works_in’ …

‣ Departments can be managed by many Employees

‣ Some Departments (not all) can be managed by an Employee

‣ Some Employees (not all) may manage Departments

Page 70: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Diagrama 1I

‣ Every Employee works at least in one Department

‣ Some Departments may not have employees

‣ Every Departments is necessarily managed by an Employee

‣ Some Employees (not all) may manage Departments

‣ An Employee can work in many Departments

Page 71: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Diagrama III

‣ Every Employee works in at least one Department

‣ Every Department must have have at least one Employee

‣ Every Departments is necessarily managed by an Employee

‣ Some Employees (not all) manage Departments

‣ An Employee can work in many Departments

Page 72: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Diagrama IV

‣ Every Employee works in at least one Department

‣ Every Department must have have at least one Employee

‣ Every Departments is necessarily managed by an Employee

‣ Some Employees (not all) manage Departments

‣ An Employee can work in at most on department

Page 73: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Exercício B.

‣ Apresente uma restrição ao modelo que não possa ser representada graficamente

Page 74: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Soluções

‣ Um empregado só pode gerir um departamentoonde trabalha, ou

‣ Um departamento só pode ser gerido por um empregado de outro departamento

Page 75: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Solução

(IC-1) Instances of Employee in manages relation must also be in works_in relation

Page 76: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Restrições nas associações ternárias

Page 77: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Obrigatoriedade

a) No constraint on A, B, or C (instances of A, B, and C may exist without participating in the association)

b) Every element of A, must participate in assoc

c) Every element of A, and every element of B, must participate in assoc

d) Every element of A, B, or C, must participate in assoc

Page 78: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Multiplicidade

a) No constraint on A, B, or C

b) Any element of A, if associated, can only be associated once in assoc

c) Any element of A, and any element B, if associated, can only be associated once in assocd) Any element of A, B, or C, if associated, can only be associated once in assoc

Page 79: Sistemasde Informaçãoe Bases de Dados 2019/2020 · Sistemas de Informação ModeloEntidade-Associação(E-A) Entidadese Associações ExemploPrático ... Bases de Dados 2017/18

SIBD

Próxima aula

‣ Modelo Entidade-Associação (cont.)