Você está na página 1de 38

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Fundamentos de Banco de Dados


Aula 02

Modelo Entidade - Relacionamento

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

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
3

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.

Introduo ao Modelo ER
O esquema conceitual criado usando-se o MER chamado Diagrama Entidade-Relacionamento (DER).
MER: Conjunto de conceitos e elementos de modelagem que o projetista de banco de dados precisa conhecer. DER: Resultado do processo de modelagem executado pelo projetista de dados que conhece o MER.

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.

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.
Nome=Joo da Silva Cdigo = 2222

RG= 12345678
e1 CPF= 09876543210 Endereo=Rua Gois 711So Paulo, SP, 1301100 Idade=55 Telefone residencial=713-749

Salrio=1.200,00
7

Atributos Compostos
Alguns atributos podem ser divididos em subpartes com significados independentes.

Endereo

Endereo da Rua

Cidade

Estado

CEP

Nome da Rua

Nmero

Apartamento

Atributos Multivalorados
Muitos atributos tm apenas um valor (univalorados). Porm existem atributos que podem ter um conjunto de valores (Multivalorados)

e1

Nome = Marco Aurlio


Telefones = {678-6789, 678-9876, 678-1234}

Atributos Derivados
So atributos cujos valores devem ser obtidos aps algum processamento utilizando informaes obtidas do prprio banco de dados:
Idade = Data_Atual - Data_Nascimento Nmero de empregados de um determinado departamento

10

Valores Nulos de Atributos


Algumas vezes pode acontecer de um atributo no possuir valor. Nesses casos, atribui-se um valor nulo (null) para esse atributo.
Apartamento = null para aqueles empregados que no residam em um prdio. (no aplicvel)

O valor null pode ser aplicado tambm para denotar que o valor desconhecido.

11

Tipos de Entidades
Entidades que tm a mesma "estrutura" e a mesma semntica, so representadas como Tipo de Entidade.
Esquema (Inteno) FUNCIONRIO Nome, Idade, Salrio a1 (Joo da Silva, 55, 800) a2 (Roberto Carlos, 40, 300) a3 (Camlia Colina, 25, 200)

FILME Ttulo, Quantidade b1 (CPMI do Mensalo, 10) b2 (Eu, o Rob, 5)


Extenso

12

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.

13

Relacionamentos e Tipos de Relacionamentos


Um relacionamento uma associao entre uma ou mais entidades
TRABALHA-PARA

EMPREGADO
r1 n r2 n r3 n r4 n r5 n r6 n r7 n

DEPARTAMENTO

e1 e2 e3 e4 e5 e6 e7

d1

d2
d3

14

Grau de um Tipo de Relacionamento


O Grau de um Tipo de Relacionamento = nmero de Tipos de Entidades Envolvidas
FORNECE r1 FORNECEDOR a1 a2 r2 PROJETO c1 c2 c3

r3
r4

PEA b1 b2 b3

r5

r6
r7

15

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)

16

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.

17

Papis em Relacionamentos Recursivos


Existem casos em que a indicao do papel OBRIGATRIA. Por exemplo:
Em Tipos de Relacionamentos Recursivos
FUNCIONRIO
1 2 1 2 1 2

SUPERVISIONA r1 r2 r3

a1 a2 a3 a4

18

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

19

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.

20

Razo de Cardinalidade
1:N
EMPREGADO TRABALHA_PARA DEPARTAMENTO
N
e1 e2 e3 e4 e5 e6 e7 r1 n r2 n r3 n r4 n r5 n r6 n r7 n

1
d1 d2 d3

21

Razo de Cardinalidade
1:1:
EMPREGADO GERENCIA DEPARTAMENTO
e1 e2 e3 e4 e5 e6 e7

1
r1 n r2 n r3 n

1
d1 d2 d3

22

Razo de Cardinalidade
N:N
EMPREGADO TRABALHA_EM PROJETO
N
r1 r2 r3 r4 r5 b2 b3 b4 b5

a1

b1

a2
a3

r6

23

Restrio de Participao
EMPREGADO TRABALHA_PARA DEPARTAMENTO
N
e1 e2 e3 e4 e5 e6 e7

Total
Empregado existe somente se estiver relacionado com algum departamento (Total)

r1 n r2 n r3 n r4 n r5 n r6 n r7 n

1
d1 d2 d3 d4

Parcial
Departamento pode existir mesmo no tendo nenhum empregado (Parcial)

24

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
r1
2 3

DEPARTAMENTO

EMPREGADO

TRABALHA-PARA
r1

DEPARTAMENTO

N e1 e2 e3 e4 e5 e6 e7 Total

n r n r n
r4
r5
6

1 d1 d2 d3 e1 e2 e3 e4 e5 e6 e7

n r n r n r n r n r n r
6 7 5 4 3 2

d1 d2 d3

n n r n
r7

Parcial

Restrio Estrutural

(1, 1)

(0, N)

25

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

26

Atributo de Relacionamento
Atributos de Tipos de Relacionamentos 1:1 podem ser colocados em um dos Tipos de Entidades participantes
DataIncio em
EMPREGADO
e1 e2 e3 e4 e5 e6 e7

GERENCIA

DEPARTAMENTO
1

1
r1 n r2 n r3 n

d1
d2 d3

27

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
N
e1 e2 e3 e4 e5 e6 e7 r1 n r2 n r3 n r4 n r5 n r6 n r7 n

1
d1 d2

d3
d4

DataIncio

28

Tipo de Entidade-Fraca
So Tipos de Entidades que no tm atributoschaves. Entidades s podem ser identificadas atravs da associao com uma outra Entidade.
POSSUI
r1

DEPENDENTE

CLIENTE

r2 r3 r4 r5 r6

d1 = { Maria, F, 01/01/1970, Esposa }


d2 = { Joo, M,02/02/2002, Filho d3 = { Ana, F, 03/03/2003, Filha d4 = { Joo, M,02/02/2002, Filho d5 = { Vtor, M,02/02/2002, Filho }* } }* }

{ Antnio, 0001, ... } = c1


{ Antnio, 1000, ... } = c2 { Marta, 6789, ... } = c3

{ Rodrigo, 9876, ... } = c4


Tipo de entidade proprietrio da identificao

d6 = { Jos, M,02/02/1971, Marido }


d7 = { Snia,F, 01/01/1970, Esposa }
Tipo de entidade-fraca

r7

Tipo de relacionamento de identificao do Tipo de entidade-fraca

29

Tipo de Entidade-Fraca
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 chaveparcial, que um conjunto de atributos que pode univocamente identificar entidades-fracas relacionadas mesma entidade proprietria.

30

Notao do DER
Tipo de Entidade Tipo de Entidade-Fraca Tipo de Relacionamento

Tipo de Relacionamento de Identificao


Atributo Atributo-Chave Atributo-Parcial Atributo Multivalorado
....

Atributo Composto Atributo Derivado


E1 E1 1

R R
N

E2 E2 E

Participao Total de E2 em R Razo de Cardinalidade 1:N para E1 R E2

(min, max)

Restrio Estrutural (min, max) na participao de E em R

31

O DER do Sistema Companhia


Pnome Mnome Snome Nmero Nome Nss Sexo
N 1

Endereo
Salrio

TRABALHA-PARA

Nome

Localizao

EMPREGADO DataNasc

DataIncio

NmeroDeEmpregados

DEPARTAMENTO

1 supervisor supervisionado

GERENCIA

CONTROLA

SUPERVISIONA

Horas

M 1 N

TRABALHA-EM

PROJETO

DEPENDENTE-DE

Nome Nmero Localizao

DEPENDENTE

Nome

Sexo

DataNasc

TipoRelao

32

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, instncia de relacionamento, 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.

33

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.
34

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 [ELMASRI 2005] para responder esta questo). 12. No DER do Sistema Companhia, indique as Restries Estruturais em todos os seus Tipos de Relacionamentos.

35

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.

36

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).
37

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI


Obrigado!
Prof. Gustavo Santade santade@gmail.com

Você também pode gostar