Upload
phamcong
View
218
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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