Sei sulla pagina 1di 42

Curso Superior de Tecnologia em ADS

Aula 02
Modelo Entidade - Relacionamento
Modelagem de Dados e Projeto de Banco
de Dados
2
Modelo ER
Objetivo
Estudar o modelo Entidade-Relacionamento; um modelo
conceitual amplamente difundido e utilizado pelos projetistas
de bancos de dados.
Principais tpicos
Introduo ao Modelo Entidade-Relacionamento
Conceitos:
Entidades e Atributos
Atributos Compostos
Atributos Multivalorados
Atributos Derivados
Valores Nulos de Atributos
Tipos de Entidades
Atributos-Chaves
3
Modelo ER
Principais tpicos (continuao)
Relacionamentos e Tipos de Relacionamentos
Graus de um Tipo de Relacionamento
Relacionamento como um Atributo
Papis e Relacionamentos Recursivos
Restries sobre Tipos de Relacionamentos
Razo de Cardinalidade
Restrio de Participao
Restrio Estrutural
Atributo de Relacionamento
Tipo de Entidade-Fraca
Notao do DER
O DER do Sistema Companhia
Questes
4
Introduo ao Modelo ER
Independncia Lgica de Dados

Independncia Fsica de Dados

5
Introduo ao Modelo ER

O Modelo Entidade-Relacionamento (MER):
um modelo de dados de alto-nvel criado com o objetivo de
representar a semntica associada aos dados do minimundo.

utilizado na fase de projeto conceitual, onde o esquema
conceitual do banco de dados da aplicao concebido.

Seus conceitos so intuitivos, permitindo que projetistas de
banco de dado capturem os conceitos associados aos dados
da aplicao, sem a interferncia da tecnologia especfica de
implementao do banco de dados (neutralidade tecnolgica).
6
Introduo ao Modelo ER
MER : Diagramao do mundo real, num alto nvel de
abstrao apresentando os objetos e os seus
relacionamentos entre si.





7
Introduo ao Modelo ER
DER: Representao da estrutura lgica de um banco
de dados




Mostrar rea de trabalho.scf
8
Introduo ao Modelo ER
DER: Representao da estrutura lgica de um banco
de dados




Mostrar rea de trabalho.scf
9
Entidades e Atributos
O objeto mais elementar que o MER representa a
entidade.
Uma entidade algo do mundo real que possui uma
existncia independente.
Objetos, pessoas, empregado, entes, conceitos, "coisas", etc. -
do mundo real so representados como Entidades.
Cada Entidade tem propriedades particulares que so
chamadas de Atributos.

10
Exemplo de uma Entidade
Uma entidade EMPREGADO pode ser descrita pelo
seu nome,idade, endereo, salrio, etc.
Uma entidade em particular ter um valor para cada
um de seus atributos.

e
1
Nome=Joo da Silva
Cdigo = 2222
RG= 12345678
CPF= 09876543210
Endereo=Rua Gois 711So Paulo, SP, 1301100
Idade=55
Telefone residencial=713-749
Salrio=1.200,00
11
Atributos Compostos
Alguns atributos podem ser divididos em sub-
partes com significados independentes.

Endereo
Endereo da Rua Cidade Estado CEP
Nome da Rua Nmero Apartamento
Nota:
O minimundo considerado neste exemplo definiu que Endereo um atributo composto.
Porm, outros minimundos podem no definir o Endereo como atributo composto!

Memorizar:
Quem define se o atributo deve ou no ser composto o minimundo!
12
Atributos Multivalorados
Muitos atributos tm apenas um valor (uni-
valorados). Porm existem atributos que podem ter
um conjunto de valores (Multivalorados)
e
1

Nome = Marco Aurlio
Telefones = {678-6789, 678-9876, 678-1234}
13
Atributos Derivados
So atributos cujos valores devem ser obtidos aps
algum processamento utilizando informaes
obtidas do prprio banco de dados:
Saldo de uma conta corrente
Nmero de empregados de um determinado departamento
Nota:
Atributos Derivados so modelados, pois queremos guard-los para depois recuper-los!
14
Atributos Derivados
ERD Conta Corrente
Comandos no tempo
15
Valores Nulos de Atributos
O valor null pode ser aplicado quando um valor :
No aplicvel: Algumas vezes pode acontecer de um atributo
no possuir valor:
Apartamento = null para aqueles empregados que no residam
em um prdio. (no aplicvel)
Desconhecido: Algumas vezes pode acontecer das pessoas
no conhecerem o valor de um atributo:
Apartamento: null para aqueles pacientes que chegaram
desacordados num pronto-socorro mdico.
16
Tipos de Entidades
Entidades que tm a mesma "estrutura" e a mesma
semntica, so representadas como Tipo de
Entidade.
Extenso

FUNCIONRIO Empresa
Nome, Idade, CPF Nome, CNPJ
Esquema (Inteno)

a
1

a
2

a
3

(Joo da Silva, 55, 222...)
(Roberto Carlos, 40, 111...)
(Camlia Colina, 25, 333...)



b
1

b
2

(Rener, 123...)
(Casas Bahia,, 333...)



17
Atributo-Chave
Uma restrio importante sobre entidades de um
tipo de entidade a restrio de atributo-chave.
Todo Tipo de Entidade deve ter um atributo-chave, seja ele um
atributo simples ou composto.
Os valores de um atributo-chave devem ser distintos. Esta
unicidade deve valer para quaisquer extenses desse tipo de
entidade.
18
Relacionamentos e Tipos de
Relacionamentos
Um relacionamento uma associao entre uma ou
mais entidades

EMPREGADO
TRABALHA-PARA
DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
19
Grau de um Tipo de
Relacionamento
O Grau de um Tipo de Relacionamento = nmero de
Tipos de Entidades Envolvidas

FORNECEDOR
FORNECE
PEA
b
1

b
3

b
2

r
1

r
6

r
7

r
2

r
3

r
4

r
5

c
1

c
3

c
2

PROJETO
a
1

a
2

20
Relacionamento como Atributo
O Tipo de Relacionamento
EMPREGADO TRABALHA_PARA DEPARTAMENTO
Pode ser pensado como:
EMPREGADO possuindo um atributo DEPARTAMENTO ou
DEPARTAMENTO possuindo um atributo EMPREGADO
(multivalorado)
21
Papis
Cada tipo de entidade que participa de um tipo de
relacionamento possui um papel especfico.
No caso de:
EMPREGADO TRABALHA_PARA DEPARTAMENTO,
O papel de EMPREGADO empregado ou
trabalhador e do DEPARTAMENTO empregador.
A escolha do nome nem sempre simples.

EMPREGADO ESTA ALOCADO EM DEPARTAMENTO.

22
Papis em Relacionamentos
Recursivos
Existem casos em que a indicao do papel
OBRIGATRIA.
Por exemplo:
Em Tipos de Relacionamentos Recursivos
1
1
1
2
2
2
SUPERVISIONA
r
1
r
2
r
3
a
1
a
2
a
3
a
4
FUNCIONRIO
23
Papis em Relacionamentos
com Semntica Ambgua
Em Tipos de Relacionamentos cuja semntica no
fique clara ou seja ambgua:
EMPRESA CONTRATA DEPARTAMENTO
EMPRESA INVESTE PESSOA
DEPARTAMENTO GERENCIA PESSOA
24
Restries sobre Tipos de
Relacionamentos
Razo de Cardinalidade:
especifica a quantidade de instncias de relacionamentos em
que uma entidade pode participar (1:1, 1:N, N:N)
Participao:
especifica se a existncia de uma entidade depende dela estar
relacionada com outra entidade atravs de um relacionamento.
Total (Dependncia existencial)
Parcial
Restrio Estrutural:
Define o mnimo e mximo em que uma entidade pode participar de
um relacionamento.
25
Razo de Cardinalidade
1:N
EMPREGADO TRABALHA_PARA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
N 1
26
Razo de Cardinalidade
1:1:
EMPREGADO GERENCIA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
d
1
d
2
d
3
1 1
27
Razo de Cardinalidade
N:N
EMPREGADO TRABALHA_EM PROJETO
r
1

a
1

a
3

a
2

r
2

r
3

b
1

b
3

b
2

b
4

b
5

r
4

r
5

r
6

N
N
28
Restrio de Participao
EMPREGADO TRABALHA_PARA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
N 1
Total Parcial
Empregado existe
somente se estiver
relacionado com algum
departamento (Total)
Departamento pode
existir mesmo no
tendo nenhum
empregado (Parcial)
d
4
29
Restrio
Estrutural
Restrio Estrutural
A restrio estrutural de:
EMPREGADO (1,1), pois participa em
No mnimo em 1 e no mximo em 1 relacionamento
DEPARTAMENTO (0, N), pois participa em
No mnimo 0 e no mximo N relacionamentos

EMPREGADO TRABALHA-PARA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
Total Parcial
N
1
EMPREGADO TRABALHA-PARA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
(1, 1) (0, N)
30
Atributo de Relacionamento
Os Tipos de Relacionamentos tambm podem ter
Atributos.
Exemplos:
Quantidade de horas trabalhadas por um empregado em um
dado projeto (Horas)
Pode ser representado como um atributo do relacionamento
TRABALHA_EM
Data em que um gerente comeou a gerenciar um
departamento (DataIncio)
Pode ser representado como um atributo do relacionamento
GERENCIA
31
Atributo de Relacionamento
Atributos de Tipos de Relacionamentos 1:1 podem
ser colocados em um dos Tipos de Entidades
participantes
DataIncio em
EMPREGADO GERENCIA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
d
1
d
2
d
3
1 1
32
Atributo de Relacionamento
Atributos de TR 1:N podem ser colocados no TE
que est no lado N do relacionamento
DataIncio em
EMPREGADO TRABALHA_PARA DEPARTAMENTO
e
1
e
2
e
3
e
4
e
5
e
6
e
7
n
r
1
n
r
2
n
r
3
n
r
4
n
r
5
n
r
7
n
r
6
d
1
d
2
d
3
N 1
d
4
DataIncio
33
So Tipos de Entidades que no tm atributos-
chaves. Entidades s podem ser identificadas
atravs da associao com uma outra Entidade.
Tipo de Entidade-Fraca
DEPENDENTE
POSSUI
d
1
= { Maria, F, 01/01/1970, Esposa }
d
3
= { Ana, F, 03/03/2003, Filha }
d
2
= { Joo, M, 02/02/2002, Filho } *
d
4
= { Joo, M, 02/02/2002, Filho } *
d
6
= { Jos, M, 02/02/1971, Marido }
d
5
= { Vtor, M, 02/02/2002, Filho }
d
7
= { Snia, F, 01/01/1970, Esposa }
r
1

r
7

r
3

r
4

r
2

r
5

r
6

Tipo de entidade-fraca
Tipo de entidade
proprietrio da identificao
Tipo de relacionamento
de identificao
do Tipo de entidade-fraca
CLIENTE
{ Antnio, 0001, ... } = c
1
{ Antnio, 1000, ... } = c
2

{ Marta, 6789, ... } = c
3

{ Rodrigo, 9876, ... } = c
4

34
Um tipo de entidade-fraca sempre tem restrio de
participao total (dependncia existencial) com
respeito ao seu tipo de relacionamento de
identificao, uma vez que no possvel identificar
uma entidade-fraca sem o correspondente tipo de
entidade proprietria.
Um tipo de entidade-fraca pode ter uma chave-
parcial, que um conjunto de atributos que pode
univocamente identificar entidades-fracas
relacionadas mesma entidade proprietria.
Tipo de Entidade-Fraca
35
Notao do DER
Tipo de Entidade
Tipo de Entidade-Fraca
Tipo de Relacionamento
Tipo de Relacionamento de Identificao
Atributo
Atributo-Chave
Atributo Multivalorado
Atributo Composto
Atributo Derivado
Participao Total de E2 em R
Razo de Cardinalidade 1:N para E1 R E2
Restrio Estrutural (min, max) na participao de E em R
Atributo-Parcial
....
E1 E2
E1 E2
1 N
E
(min, max)
R
R
R
36
O DER do Sistema Companhia
TRABALHA-PARA
GERENCIA
Nome
Nss
DataNasc
Endereo
Salrio
Nome
Nmero
Localizao
NmeroDeEmpregados
DataIncio
PROJETO
Horas
DEPENDENTE
Nome Sexo DataNasc TipoRelao
supervisor
supervisionado
1 N
1
N
M
N
N
1
1
N 1
Nome
Nmero
Localizao
DEPENDENTE-DE
SUPERVISIONA
TRABALHA-EM
CONTROLA
1
EMPREGADO DEPARTAMENTO
Pnome Mnome Snome
Sexo
37
Questes
1. Discuta o papel de um modelo de dados de alto-nvel
no projeto de banco de dados.
2. Cite alguns possveis casos onde o valor nulo (null)
pode ser aplicado.
3. Defina os seguintes termos: entidade, atributo, valor de
atributo, atributo composto, atributo univalorado,
atributo multivalorado, atributo derivado e atributo-
chave.
4. Defina tipo de entidade. Descreva as diferenas entre
entidade e tipo de entidade.

38
Questes
5. Defina tipo de relacionamento. Descreva as diferenas
entre relacionamento e tipo de relacionamento.
6. Quando necessrio indicar papis num DER?
7. Descreva as formas alternativas de especificar
restries sobre tipos de relacionamentos. Quais so
as vantagens e desvantagens de cada uma?
8. Sobre quais condies um tipo de relacionamento
pode se tornar um atributo de um tipo de entidade?
9. Qual o significado de um tipo de relacionamento
recursivo? D alguns exemplos diferentes daquele
apresentado.
39
Questes
10. Defina os termos: tipo de entidade proprietrio da
identificao, tipo de relacionamento de identificao e
chave-parcial.
11. Um tipo de relacionamento de identificao pode ter
grau maior que dois? Justifique a sua resposta atravs
de um exemplo. (Pesquise na Internet ou em [EMLASRI
2005] para responder esta questo).
12. No DER do Sistema Companhia, indique as Restries
Estruturais em todos os seus Tipos de
Relacionamentos.

40
Modelo ER
Referncias Bibliogrficas
1. Batini, C.; Ceri, S.; Navathe, S. Conceptual Database Design: An
Entity-Relationship Approach. Benjamin/Cummings, Redwood City,
Calif., 1992.
2. Date, C.J., Introduo a Sistemas de Banco de Dados, traduo da
8 edio americana, Campus, 2004.
3. Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 4th
ed. Addison-Wesley, Reading, Mass., 2003.
4. Ferreira, J.E.; Finger, M., Controle de concorrncia e distribuio de
dados: a teoria clssica, suas limitaes e extenses modernas,
Coleo de textos especialmente preparada para a Escola de
Computao, 12a, So Paulo, 2000.
41
Modelo ER
Referncias Bibliogrficas
5. Heuser, C.A., Projeto de Banco de Dados., Sagra - Luzzatto, 1
edio, 1998.
6. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a.
Edio, Makron Books, 1998.
7. Ramakrishnan, R.; Gehrke, J., Database Management Systems, 2
nd ed., McGraw-Hill, 2000.
8. Teorey, T.; Lightstone, S.; Nadeau, T. Projeto e modelagem de
bancos de dados. Editora Campus, 2007.
Referncias Web
1. Takai, O.K; Italiano, I.C.; Ferreira, J.E. Introduo a Banco de
Dados. Apostila disponvel no site:
http://www.ime.usp.br/~jef/apostila.pdf. (07/07/2005).
Curso Superior de Tecnologia em ADS
Prof. Osvaldo Kotaro Takai
otakai@gmail.com
Obrigado!