16
Modelo Entidade Relacionamento Modelo Entidade-Relacionamento : Modelo de dados baseado na percepção do mundo real que consiste em um conjunto de objetos básicos chamados de entidades e relacionamentos Entidade Relacionamento Professor Dept. CC Professor Departamento Visão do Mundo Real Visão do Mundo Real Através do modelo E-R n pertence 1 Conjunto de Entidades Professor Conjunto de Entidades Departamento P1 P2 P3 P4 P5 D1 D2 Conjunto de Relacionamentos Pertence Entidade Relacionamento Elementos do Modelo Rafael Port da Rocha - Notas de Aula 1

Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Embed Size (px)

Citation preview

Page 1: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Modelo Entidade-Relacionamento : Modelo de dados baseadona percepção do mundo real que consiste em um conjunto deobjetos básicos chamados de entidades e relacionamentos

Entidade

Relacionamento

Professor

Dept. CCProfessor Departamento

Visão doMundo Real

Visão do Mundo RealAtravés do modelo E-R

n pertence 1

Conjunto deEntidadesProfessor

Conjunto deEntidadesDepartamento

P1

P2

P3

P4

P5

D1

D2

Conjunto deRelacionamentosPertence

Entidade

Relacionamento

Elementos do Modelo

Rafael Port da Rocha - Notas de Aula 1

Page 2: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ É um modelo conceitual, descrito de forma gráfica, que, apósdefinido, é mapeado para o modelo lógico de um banco dedados relacional

⇒ Sua principal característica é a simplicidade, sendo baseado emdois conceitos principais (entidade e relacionamento)

⇒ Conceitos Básicos♦ Entidade:

• É um objeto (“coisa”) do mundo real, que existe e édistinguível dos outros objetos

• Possui um conjunto de propriedades, e valores de algumasdessas propriedades podem identificar unicamente essaentidade

• Ex. de entidades: o José, o Departamento de Ciência daComputação, etc...

• Ex. de propriedade de José: nome, idade, cpf (propriedadeque identifica unicamente José)

♦ Conjunto de Entidades:• É um conjunto de entidades de um mesmo tipo, isto é,

possuem propriedades de mesmos tipos • Ex.: o conjunto de entidade Professor contém um conjunto de

entidades que são professores e possuem as propriedades:nome, endereço, cpf, matrícula na universidade

• Muitas vezes, usa-se o termo entidade para designar umconjunto de entidades

• São graficamente representadas por retângulos

♦ Relacionamento:• Um relacionamento é uma associação entre entidades• Ex.: o professor José está associado ao departamento de

Ciência da Computação e às turmas de BD e Engenharia deSoftware

Rafael Port da Rocha - Notas de Aula 2

Page 3: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

♦ Conjunto de relacionamento:• É um conjunto de relacionamentos de mesmo tipo• Ex.: Sendo os conjuntos de entidades Curso e Aluno, que

representam respectivamente alunos e cursos dauniversidade, o relacionamento inscrição relaciona alunos acursos, indicando quais os cursos de um aluno e quais osalunos de um curso

• São representados graficamente por losangos

⇒ Restrições de mapeamento♦ Cardinalidade :

• Indica o número de entidades a que uma outra entidade podeser associada através de um conjunto de relacionamentos

• Um conjunto de relacionamentos R envolvendo os conjuntosde entidades A e B, possui a cardinalidade:� 1-1, se uma entidade de A é associada a uma única

entidade de B� 1-n, se uma entidade de A é associada a várias entidades

de B, e se uma entidade de B é associada somente a umaúnica entidade de A

� n-1, se uma entidade de B é associada a várias entidadesde A, e se uma entidade de A é associada somente a umaúnica entidade de B

� n-n, se uma entidade de A é associada a várias entidadesde B e uma entidade de B é associada a várias entidadesde A

Rafael Port da Rocha - Notas de Aula 3

Page 4: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

♦ Cardinalidade máxima e mínima • Versão do modelo E-R onde a cardinalidade é definida

através de valores mínimo e máximos• Exemplo: Um conjunto de relacionamentos R envolvendo os

conjuntos de entidades A e B possui a cardinalidade(1,1) - (0,120), que indica:� que uma entidade A é associada no mínimo a nenhuma

entidade de B ou no máximo a 120 entidades de B� que uma entidade de B é associada no mínimo e no

máximo a uma entidade de A

P1

P2

P3

P4

P5

D1

D2

Professor Departamenton pertence 1

Rafael Port da Rocha - Notas de Aula 4

Page 5: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

Ana

Paulo

Maria

CC

Física

T10

T20

T30

T40

José

Pedro

João

Curso Inscrição Aluno Frequenta Turma Ministra Prof.

Diagrama de ocorrências

Diagrama de Entidade-Relacionamento (E-R)

Curso Aluno

TurmaProfessor

Inscrição

Frequenta

Ministra

N N

N

NN N

(1,1) (0,5)

Leitura do diagrama E-R• Um Professor ministra N turmas. Uma turma é

ministrada por um profesor• Um Professor ministra de 0 a cinco turmas. Uma turma

é ministrada por um professor (versão cardinalidademínima-máxima)

Rafael Port da Rocha - Notas de Aula 5

Page 6: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Relacionamentos n-ários♦ Relacionamentos que associam n entidades♦ Cardinalidade: em um relacionamento ternário envolvendo

entidades dos conjuntos A, B, C a cardinalidade refere-se apares de entidades

SuperR

XYZ

VaiVem

SM

POA

Cadeira Mesa Sofá

Diagrama deocorrências

Diagrama de Entidade-Relacionamento (E-R)

Cidade Distribuidor

Produto

DistribuiçãoN 1

N

Leitura do diagrama E-R• Um par (cidade-produto) está associado a um

distribuidor, isto é, um distribuidor tem exclusividadena distribuição de um produto em uma cidade

• Um par (distribuidor-cidade) está associado a muitosprodutos, isto é, um distribuidor pode distribuir muitosprodutos em uma cidade

Rafael Port da Rocha - Notas de Aula 6

Page 7: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Atributo♦ Atributos associam informações a entidades e a

relacionamentos, identificando propriedades dessas entidadese relacionamentos

♦ São representados graficamente através de círculos ligados àcoleções de entidades (muitas vezes são omitidos, sendodescritos separadamente em um dicionário de dados)

⇒ Identificador de entidade: ♦ Conjunto de um ou mais atributos cujos valores servem para

distinguir uma entidade em uma coleção de entidades♦ Os atributos da entidade que formam seu identificador são

representados graficamente através de círculos pretos♦ O identificador de uma entidade é denominado chave primária

Curso AlunoInscrição

CódigoC Nome Descrição CódigoA Nome Fone

Data NomeProcurador

Rafael Port da Rocha - Notas de Aula 7

Page 8: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Exemplo de Conjunto de Relacionamentos comCardinalidade n-1

♦ Um (1) professor pertence a um (1) único departamento♦ Um (1) departamento possui vários (n) professores

P1

P2

P3

P4

P5

D1

D2

Professor Departamenton pertence 1

CodDep Nome SalaCodP Nome Endereço

(1)Entidade (4)Conjunto de Entidades(2)Relacionamento (5)Conjunto de Relacionamentos(3)Atributo (6)Identificador de Entidade

(1)

(1)

(1)(1)

(4)(4)(5)

(3) (3)3)(6) (3)(6) (3) (3)

(4)(4)

(5)

Rafael Port da Rocha - Notas de Aula 8

Page 9: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Exemplo de Conjunto de Relacionamentos comCardinalidade n-n

♦ Um (1) aluno cursa várias (n) turmas♦ Uma (1) turma é cursada por vários (n) alunos

A1

A2

A3

A4

A5

t1

t2

Aluno Turman frequenta n

CodT Semestre SalaCod A Nome Endereço

(1)Entidade (4)Conjunto de Entidades(2)Relacionamento (5)Conjunto de Relacionamentos(3)Atributo (6)Identificador de Entidade

(1)(1)

(4)(4)(5)

(3) (3)(3)(6) (3)(6) (3) (3)

(4)(4)

(5)

Rafael Port da Rocha - Notas de Aula 9

Page 10: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Generalização/Especialização

C

A B

Permite atribuir propriedadesparticulares a um subconjunto deocorrências de uma entidade genérica Entidade genérica: C Entidades especializadas: A e B

♦ Exemplos

Pessoa

CodP Nome Endereço

Professor Aluno

Cargo DtAdmiss Inscrição DtIngresso

P1

P2

P3

P4

P5

P6

P7

Pessoa

Aluno

Professor

TurmaT1

T2

T3

Participa

Ministra

Turma

n ministra n

n participa n

Rafael Port da Rocha - Notas de Aula 10

Page 11: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

Pessoa

CódP Nome Endereço

Física Jurídica

CPF idade CGC InscriçãoEst

1 N

Funcionário

Vendedor Técnico

CodF

Comissão Especialidade

atendimento

N

N

p

t

p

Cont

Rafael Port da Rocha - Notas de Aula 11

Page 12: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Auto-relacionamento:♦ relacionamento entre entidades de um mesmo conjunto de

entidades♦ Ex: um Funcionário é chefiado por um Funcionário (seu chefe)

e um funcionário (chefe) chefia N funcionários

N N

Funcionário

chefe1 N

JoséMariaPauloAna

ChefeFuncionário

Disciplina

D10D11D12D13D14

Pré-RequisitoDisciplina

pré-requisito

OBSA Disciplina D10 é pré-requisito para as disciplinas D12 e D13A Disciplina D11 é pré-requisito para a disciplinas D13A Disciplina D12 é pré-requisito para as disciplinas D14

Rafael Port da Rocha - Notas de Aula 12

Page 13: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

♦ Erros comuns: • Definir para uma entidade um atributo que caracteriza

(pertence) uma outra entidade. • Especificar uma entidade do mundo real de formas diferentes

em um mesmo modelo (como atributo e como entidade) • Construir relacionamentos redundantes (relacionamentos que

podem ser eliminados sem perda de informações)• Construir atributos redundantes (usar atributos calculados)

Hospital

1 nDepart.

Médico

1

n1 n

possui

lotação

trabEm nome do departamento (redundante, obtido em Depart. através do relacionamento lotação)

num de médicos (redundante, obtido através do número relacionamentos em lotação)

redundante(obtido por possui e lotação)

datahora

⇒ Estratégia de modelagem “de cima para baixo” (top-down)

Rafael Port da Rocha - Notas de Aula 13

Page 14: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

♦ (1) Modelagem superficial: Identificação das entidades,identificação dos relacionamentos e hierarquias degeneralização/especialização, cardinalidades máximas,determinação dos atributos, determinação dos identificadores deentidades e relacionamentos

♦ (2) Modelagem detalhada: Domínios dos atributos,cardinalidades mínimas, restrições de integridades nãorepresentadas no modelo

♦ (3) Validação do modelo: verificar construções redundantes⇒ Estratégia de modelagem “de dentro para fora” (inside-out)

♦ identificar primeiro conceitos (entidades) mais importantes(centrais) e adicionar gradativamente conceitos periféricos(atributos, entidades relacionadas,generalizações/especializações)

♦ passos semelhantes à abordagem top-down

Rafael Port da Rocha - Notas de Aula 14

Page 15: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

⇒ Notação alternativa, utilizada em ferramentas CASE

Cliente♦ CodC♦ Nome♦ Endereço

Pessoa♦ CPF♦ Idade

Empresa♦ CGC♦ incrEst

Contato♦ ...

Funcionário♦ CodF♦ Nome♦ Endereço

Vendedor♦ comissão

Técnico♦ especialid

OutroFuncionário

Min.: 1, Max.: 1

Min.: 0, Max.:1

Min.: 1, Max.:n

Min.: 0, Max.:n

♦ Não permite relacionamentos maiores que binários (quedevem ser definidos através de entidades)

♦ Não permite relacionamentos que contém atributos (estesrelacionamentos devem ser definidos através de entidades)

♦ Não permite relacionamentos de generalizalção /especializ.do tipo parcial (entidades do conjunto genérico formam umaentidade específica. ex.: outros funcionários representamfuncionários que não são técnicos nem vendedores)

AtendeÉ atendido por

É representada por

Representa

Rafael Port da Rocha - Notas de Aula 15

Page 16: Modelo Entidade Relacionamento - ufrgs.br · possuem propriedades de mesmos tipos •Ex.: o conjunto de entidade Professor contém um conjunto de entidades que são professores e

Modelo Entidade Relacionamento

BIBLIOGRAFIA

DATE, C. J. An Introduction to database systems. Reading: Addison Wesley,1995.

ELMASRI, R.; NAVATHE, S.B. Fundamentals of database systems. RedwoodCity:Benjamin Cummings, 1994.

HEUSER, C.A. Projeto de banco de dados. Porto Alegre:Sagra Luzzatto, 1999.KORTK, H.; SILBERSCHATZ, A. Sistemas de bancos de dados. Makron

Books, 1994.ULLMAN, J. D. Principles of database and knowledge-base systems.

Rockville:Computer Science Press, 1989.

Rafael Port da Rocha - Notas de Aula 16