mata60 banco de dadosformas.ufba.br/dclaro/mata60/aula 3 - mer.pdf · o modelo de dados é a...

38
MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro

Upload: others

Post on 06-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

MATA60 – BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos

Prof. Daniela Barreiro Claro

Page 2: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Modelo de Dados

MER

Agenda

2 de X; X=37 FORMAS - UFBA

Page 3: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

O Modelo de Dados é a principal ferramenta que fornece a

abstração a um BD.

É um conjunto de conceitos que podem ser usados para descrever a

estrutura de uma base de dados.

Estrutura de uma base de dados entende-se os tipos de dados,

relacionamentos e restrições pertinentes aos dados.

Muitos modelos de dados também definem um conjunto de

operações para especificar como recuperar e modificar a base de

dados.

Modelo de Dados

3 de X FORMAS - UFBA

Page 4: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Modelar é criar representações do mundo real

Modelo de Dados

4 de X FORMAS - UFBA

Page 5: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Modelo de Dados

5 de X

Minimundo

Levantamento e Análise dos Requisitos

Projeto Lógico

Projeto Físico

Criação do banco de dados

Análise Funcional

Projeto do Programa

de Aplicação

Implementação da Aplicação

Programas de Aplicação

Mapeamento do Modelo de Dados Independente do SGBD

SGBD Específico

Requisitos funcionais

Requisitos dos dados

Page 6: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

A modelagem relacional pode ser representada via MER

(Modelo de Entidade Relacionamento)

O MER define estruturas e restrições e utiliza uma

notação denominada Diagrama ER

Diferentes autores propõem notações distintas do

Diagrama ER.

Modelo de Dados

6 de X FORMAS - UFBA

Page 7: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

A base do MER é representar o mundo real por meio de

conjuntos de objetos chamados entidades e

relacionamentos.

A junção ordenada/lógica destes tipos de objetos

representa a estrutura/esquema do mundo real. Ou seja,

deve suportar o armazenamento de dados que reflitam

a situação do mundo real

MER

7 de X FORMAS - UFBA

Page 8: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Descreve os dados como

Entidades

Atributos

Relacionamentos

MER

8 de X Prof. Daniela Barreiro Claro

Page 9: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Entidades

uma entidade é uma “coisa” ou um “objeto” do mundo real que

pode ser identificada(o) de uma forma unívoca em relação a

todos os outros objetos.

Pode ser um objeto físico

carro, casa, pessoa, funcionário, livro

Objeto de existência conceitual ou abstrata

Empresa, trabalho, curso, empréstimo

MER

9 de X FORMAS - UFBA

Page 10: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Banco de Dados da Empresa Claro Ltda

A empresa Claro Ltda possui empregados. Ela está organizada em departamentos.

Quais são entidades?

Empregados

Departamentos

MER – Requisitos de Negócio

10 de X FORMAS - UFBA

Entidade

Retângulo

Page 11: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos

Cada entidade tem atributos que são propriedades particulares que a descrevem

Cada instância de entidade terá um valor para cada um dos seus atributos

Este conjunto de entidades do mesmo tipo compartilham as mesmas propriedades

Atributos são propriedades descritivas de cada membro de um conjunto de entidades e cada entidade tem seus próprios valores nos atributos.

Para cada atributo existe um conjunto de valores possíveis, chamado domínio.

Formalmente, um atributo de um conjunto de entidades é uma função que relaciona o conjunto

de entidades a seu domínio.

Cada entidade pode ser descrita pelo conjunto formado pelos pares (atributo-valor) referentes

a cada atributo do conjunto

conjunto em questão.

MER

11 de X FORMAS - UFBA

Page 12: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos

MER

12 de X FORMAS - UFBA

Page 13: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos Compostos x Simples (atômicos)

Atributos compostos podem ser subdivididos até os atributos

simples

MER – Classes de Atributos

13 de X FORMAS - UFBA

Page 14: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos Monovalorados X Multivalorados

Valor único, ex. idade,bairro, cep

Conjunto de valores, ex. cor, titulação, telefones, endereços

Atributos Armazenados X Derivados

Atributos calculados e derivados de outro atributo armazenado.

Ex. idade, numeroEmpregados, somatorio, total

MER – Classes de Atributos

14 de X FORMAS - UFBA

Page 15: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos com valores nulos

Uma entidade pode não ter valor aplicável a um atributo

Valor NULL pode ser:

Não aplicável – Apartamento, titulação

Desconhecido

Existe mas está faltando. Ex. a altura de uma pessoa

Nao se sabe se existe. Ex. telefone residencial

MER – Campos de Atributos

15 de X FORMAS - UFBA

Page 16: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Banco de Dados da Empresa Claro Ltda

A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento.

Quais são os atributos?

nome, cpf, endereço, telefones (residencial e comercial)

codigo e o nome

MER – Requisitos de Negócio

16 de X FORMAS - UFBA

Page 17: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Um relacionamento é uma associação entre várias entidades

Cada instância de um relacionamento ri em R é uma associação de

entidades, na qual a associação inclui exatamente uma instância

de uma entidade de cada entidade participante.

Exemplo

Um relacionamento que associa um cliente ‘Pedro’ a um emprestimo do livro

‘Metodologias do Ensino’ significa que o cliente ‘Pedro’ realizou tal

emprestimo do livro ‘Metodologias do Ensino’.

Relacionamentos

17 de X FORMAS - UFBA

Page 18: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Formalmente

Um conjunto de relacionamentos é um conjunto de mesmo tipo.

O relacionamento é uma relação matemática com n>= 2 (n=numero de entidades)

Se E1, E2,...En são entidades então um conjunto de relacionamentos R é um subconjunto

de {(e1, e2,...e3) | e1 E E1, e2 E E2, e3 E E3}, em que e1, e2, e3 são relacionamentos.

A associação entre as entidades é referida como uma participação: o conjunto

de entidades E1, E2, ..., Em participa do conjunto de relacionamentos R.

Uma instância de relacionamento em um esquema E-R representa a existência de

uma associação entre essas entidades no mundo real no qual se insere o domínio

que está sendo modelado.

Relacionamentos

18 de X

Page 19: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Consideremos as entidades cliente e produto.

Definimos o conjunto de relacionamentos compra para denotar a associação

entre clientes e produtos adquiridos pelos clientes

Relacionamentos

19 de X FORMAS - UFBA

Page 20: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Representação no Diagrama ER

Grau de um Relacionamento

Número de entidades que participam desse relacionamento

2 entidades = grau 2 ou binário

3 entidades = ternário...

Atributos descritivos em relacionamentos

atributos podem fazer parte de conjuntos relacionamentos para melhor descrever o mundo real.

Exemplo: a data da compra do produto

Relacionamentos

20 de X

Cliente Produto Compra

Page 21: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

A função que uma entidade desempenha em um relacionamento é chamada

papel.

Algumas vezes uma “entidade” pode participar de um “relacionamento” mais

de uma vez em papéis diferentes e, nessas situações, o papel é importante

para interpretação do modelo.

Em relacionamentos recursivos, nomes explícitos de papéis são necessários para

especificar como uma entidade participa de uma instância de relacionamento.

Considere a entidade Empregado. Dado um relacionamentos é_supervisor_de

que é modelado para ordenar os pares de entidades de empregado numa

relação com o seu supervisor. Neste exemplo, os relacionamentos de

é_supervisor_de são caracterizados pelos pares (supervisor, empregado).

Relacionamentos

21 de X

Page 22: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Relacionamento Recursivo

Cada tipo entidade que participa de um tipo relacionamento executa um papel particular no relacionamento

As vezes o mesmo tipo entidade participa mais de uma vez em um tipo relacionamento

Esses tipos relacionamentos são chamados Relacionamentos recursivos

Prof. Daniela Barreiro Claro

Relacionamentos

22 de X

Page 23: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Restrições são determinadas pelos requisitos de negócios

Restrição: Razão de Cardinalidade

Representa o número máximo de instâncias que um relacionamento

pode participar

As razões de cardinalidade podem ser

1:1, 1:N, N:1, M:N

Prof. Daniela Barreiro Claro

Relacionamentos

23 de X

Page 24: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Mapeamento das cardinalidades expressa o número de entidade às quais

outra entidade pode estar associada via um conjunto de relacionamentos.

Um para um: uma entidade em A está associada no máximo a uma entidade em B, e uma

entidade em B está associada a no máximo uma entidade em A.

Um para muitos: Uma entidade em A está associada a várias entidades em B. Uma entidade

em B deve estar associada no máximo a uma entidade em A.

Muitos para um: Uma entidade em A está associada a no máximo uma entidade em B. Uma

entidade em B, pode estar associada a um número qualquer de entidades em A.

Muitos para muitos: Uma entidade em A está associada a qualquer número de entidades em B

e uma entidade em B está associada a um número qualquer de entidades em A.

Relacionamentos

24 de X FORMAS - UFBA

Page 25: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos de um Relacionamento

Pode ter atributos similares aos das entidades

Exemplo, data em que o gerente começou a gerenciar

Relacionamentos 1:1

Atributos podem migrar para qualquer uma das entidades participantes

Relacionamentos 1:N

um atributo pode ser migrado apenas para a entidade do lado N

Relacionamento MxN

os atributos são especificados como atributos do relacionamento

Horas é a combinação de empregado-projeto, Data_Compra

Relacionamentos

25 de X

Page 26: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Qual a diferença entre estas

quatro abordagens?

Em cada um destes casos, como

poderiamos tratar os atributos

do relacionamento?

Exemplo: data_matricula

Relacionamentos

26 de X FORMAS - UFBA

Page 27: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Restrições de Participação e Dependência de Existência

Determina se a existência de uma entidade depende da existência de

outra

Ha dois tipos

Total e Parcial

Se a existência da entidade X depende da existência da entidade Y, então X

é dito dependente da existência de Y.

Operacionalmente, se Y deixar de existir, conseqüentemente, X deve deixar de

existir.

Prof. Daniela Barreiro Claro

Relacionamentos

27 de X

Page 28: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Atributos Chaves

Restrição de unicidade em atributos

Valores distintos para cada uma das instâncias das entidades

Cpf, RG+ORGAO

Domínio dos Atributos

Conjunto de valores válidos para os atributos de cada entidade

sexo=‘F’ | ‘M’

Chaves e restrições

28 de X FORMAS - UFBA

Page 29: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Por meio de chaves podemos diferenciar as diversas entidades pertencentes a um conjunto de

entidades, e os diversos relacionamentos pertencentes a um conjunto de relacionamentos.

Conjuntos de Entidades

Superchave: conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira

unívoca uma entidade em um conjunto de entidades.

Chaves candidatas: Superchaves para as quais nenhum subconjunto possa ser uma superchave.

Chave primária: chave candidata escolhida pelo projetista de banco de dados como a chave de significado

principal para a identificação de entidades dentro de um conjunto de entidades.

Uma chave é uma propriedade do conjunto de entidades e não de uma entidade individualmente.

Quaisquer duas entidades individuais em um conjunto não podem ter, simultaneamente, mesmos

valores em seus atributos-chave.

A especificação de uma chave representa uma restrição ao mundo real do domínio que está sendo

modelada.

Chaves e Restrições

29 de X

Page 30: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Conjuntos de relacionamentos:

A composição da chave primária para um conjunto de relacionamentos depende de uma estrutura de atributos associada ao

conjunto de relacionamentos de R.

Se o conjunto de relacionamentos não possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade

participante do relacionamento.

Se o conjunto de relacionamentos possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade

participante do relacionamento mais o conjunto de atributos deste.

A estrutura da chave primária para o conjunto de relacionamentos depende do mapeamento da

cardinalidade do conjunto.

Muitos para muitos: união das chaves da entidade + atributos descritivos;

Muitos para um ou um para muitos: chave da entidade do lado do muitos + atributos descritivos

Um para um: qualquer umas das chaves primárias pode ser usada.

Chaves

30 de X FORMAS - UFBA

Page 31: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Banco de Dados da Empresa Claro Ltda

A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento. Um empregado trabalha para um departamento. Cada empregado tem um supervisor que é um empregado. Cada empregado trabalha somente para um departamento. Um empregado gerencia um departamento. Um departamento controla um número qualquer (vários) de projetos. Um empregado está alocado a um departamento mas pode trabalhar em diversos projetos que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar para um departamento.

Quais são os relacionamentos?

MER – Requisitos de Negócio

31 de X FORMAS - UFBA

Page 32: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Entidade Fraca

São entidades que não tem seus próprios atributos-chaves

Entidade Fraca sempre possui uma restrição de participação total

(dependência de existência) em relação ao seu relacionamento

identificador

Uma entidade fraca tem normalmente uma chave parcial que é um

conjunto de atributos que a identifica quando relacionadas a uma

entidade proprietária.

Prof. Daniela Barreiro Claro

Relacionamentos

32 de X

Page 33: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Entidade Fraca

Um conjunto de entidades pode não ter atributos suficientes para formar uma chave

primária. São os conjuntos de entidades fracas.

Um conjunto de entidades que possui uma chave primária é dito forte.

A chave primária de um conjunto de entidades fracas é composto pela chave

primárias do conjunto de entidades fortes ao qual a existência do primeiro está

associada mais o identificador do conjunto de entidades fraca.

O relacionamento que associa o conjunto de entidades fracas a seu proprietário é o

relacionamento identificador.

Relacionamentos

33 de X FORMAS - UFBA

Page 34: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Banco de Dados da Empresa Claro Ltda

A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento. Um empregado trabalha para um departamento. Cada empregado tem um supervisor que é um empregado. Cada empregado trabalha somente para um departamento. Um empregado gerencia um departamento. Um departamento controla um número qualquer (vários) de projetos. Um empregado está alocado a um departamento mas pode trabalhar em diversos projetos que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar para um departamento. Cada empregado possui um dependente. Os atributos do dependente são: primeiro nome, data nascimento, sexo e parentesco.

Quais as entidades fracas?

MER – Requisitos de Negócio

34 de X

Page 35: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Esquema conceitual

M

Page 36: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Modelo Lógico

36 de X FORMAS - UFBA

Page 37: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Modelo Físico

37 de X FORMAS - UFBA

Page 38: MATA60 BANCO DE DADOSformas.ufba.br/dclaro/mata60/Aula 3 - MER.pdf · O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que

Facebook: /formasresearchgroup Twitter: /formasresearchgroup

Semantic Formalisms and Applications Research Group

FORMAS - UFBA

formas.ufba.br/dclaro

Disciplina: MATA60