Você está na página 1de 35

Banco de Dados

Modelo Entidade - Relacionamento


Joo Eduardo Ferreira Osvaldo Kotaro Takai

jef@ime.usp.br DCC-IME-USP

Introduo
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. O MER utilizado para 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
O esquema conceitual criado usando-se o MER chamado Diagrama EntidadeRelacionamento (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 Empregado


Uma entidade EMPREGADO pode ser descrita pelo seu nome, o trabalho que realiza, idade, endereo e salrio. Uma entidade em particular ter um valor para cada um de seus atributos.
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

e1

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

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.

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 FILME Ttulo, Quantidade b1

(Joo da Silva, 55, 800) a2 (Roberto Carlos, 40, 300) a3 (Camlia Colina, 25, 200)

(CPMI do Mensalo, 10) b2 (Eu, o Rob, 5)


Extenso

Atributo-Chave
Uma restrio importante sobre entidades de um tipo de entidade a restrio de atributo-chave.
Todo Tipo de Entidade deve ter um atributochave, 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.

Relacionamentos e Tipos de Relacionamentos


Um relacionamento uma associao entre uma ou mais entidades
EMPREGADO TRABALHA-PARA r1 e1 e2 e3 e4 e5 e6 e7 r2 r3 r4 r5 r6 r7 d1 d2 d3 DEPARTAMENTO

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 r3 r4 PEA b1 b2 b3 r5 r6 r7 PROJETO c1 c2 c3

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)

Papis e Relacionamentos Recursivos


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.

Papis e Relacionamentos Recursivos


Existem casos em que a indicao do papel necessria.
Em Tipos de Relacionamentos Recursivos
FUNCIONRIO a1 a2 a3 a4
2 1 2 1 2 1

SUPERVISIONA r1 r2 r3

Papis e Relacionamentos Recursivos


Em Tipos de Relacionamentos cuja semntica no fique clara ou seja ambgua:
EMPRESA CONTRATA DEPARTAMENTO EMPRESA INVESTE PESSOA DEPARTAMENTO GERENCIA PESSOA

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

Razo de Cardinalidade
EMPREGADO TRABALHA_PARA DEPARTAMENTO: (1:N)
TRABALHA-PARA EMPREGADO DEPARTAMENTO

N
e1 e2 e3 e4 e5 e6 e7

r1 r2 r3 r4 r5 r6 r7

1
d1 d2 d3

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

1
r1 r2 r3

d1 d2 d3

Razo de Cardinalidade
EMPREGADO TRABALHA_EM PROJETO: (N:N)
TRABALHA-EM EMPREGADO a1 a2 a3 PROJETO

r1 r2 r3 r4 r5 r6

b1 b2 b3 b4 b5

Restrio de Participao
EMPREGADO TRABALHA_PARA DEPARTAMENTO

Empregado somente pode existir se estiver relacionado com algum departamento (Participao Total) Departamento pode existir mesmo no tendo nenhum empregado (Participao Parcial)
EMPREGADO e1 e2 e3 e4 e5 e6 e7 Total TRABALHA-PARA r1 r2 r3 r4 r5 r6 r7 Parcial d1 d2 d3 DEPARTAMENTO

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
TRABALHA-PARA N e1 e2 e3 e4 e5 e6 e7 Total r1 r2 r3 r4 r5 r6 r7 Parcial 1 d1 d2 d3 TRABALHA-PARA r1 r2 r3 r4 r5 r6 r7

EMPREGADO

DEPARTAMENTO

EMPREGADO e1 e2 e3 e4 e5 e6 e7

DEPARTAMENTO d1 d2 d3

(1, 1)

(0, N)

Atributo de Relacionamento
Os Tipos de Relacionamentos tambm podem ter Atributos. Por exemplo:
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

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
EMPREGADO e1 e2 e3 e4 e5 e6 e7 GERENCIA r1 r2 r3 d1 d2 d3 DEPARTAMENTO

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
TRABALHA-PARA EMPREGADO N e1 e2 e3 e4 e5 e6 e7 r1 r2 r3 r4 r5 r6 r7 1 d1 d2 d3 DEPARTAMENTO

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

DEPENDENTE d1 = { Maria, F, 01/01/1970, Esposa } Maria d2 = { Joo, M,02/02/2002, Filho Joo d3 = { Ana, F, 03/03/2003, Filha Ana d4 = { Joo, M,02/02/2002, Filho Joo d5 = { Vtor, M,02/02/2002, Filho tor }* } }* }

CLIENTE { Antnio, 0001, ... } = c1 { Antnio, 1000, ... } = c2 { Marta, 6789, ... } = c3

r2 r3 r4 r5 r6 r7

{ Rodrigo, 9876, ... } = c4


Tipo de entidade proprietrio da identificao

d6 = { Jos, M,02/02/1971, Marido } d7 = { Snia, F, 01/01/1970, Esposa } Snia


Tipo de entidade-fraca

Tipo de relacionamento de identificao do Tipo de entidade-fraca

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, porque no possvel identificar uma entidade-fraca sem a correspondente entidade proprietria. Um tipo de entidade-fraca tem uma chaveparcial, que um conjunto de atributos que pode univocamente identificar entidades-fracas relacionadas mesma entidade proprietria.

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 Restrio Estrutural (min, max) na participao de E em R

(min, max)

O DER do Sistema Companhia


Pnome Mnome Snome Nmero Nome Nss Sexo Endereo Salrio NmeroDeEmpregados
N 1

TRABALHA-PARA

Nome

Localizao

EMPREGADO DataNasc

DataIncio

DEPARTAMENTO

1 supervisor supervisionado

GERENCIA CONTROLA Horas


N

SUPERVISIONA

M 1

TRABALHA-EM

PROJETO

DEPENDENTE-DE

Nome Nmero Localizao

DEPENDENTE

Nome

Sexo

DataNasc

TipoRelao

Questes
Discuta o papel de um modelo de dados de alto-nvel no projeto de banco de dados. Cite alguns possveis casos onde o valor nulo (null) pode ser aplicado. Defina os seguintes termos: entidade, atributo, valor de atributo, instncia de relacionamento, atributo composto, atributo univalorado, atributo multivalorado, atributo derivado e atributo-chave.

Questes
Defina tipo de entidade. Descreva as diferenas entre entidade e tipo de entidade. Defina tipo de relacionamento. Descreva as diferenas entre relacionamento e tipo de relacionamento. Quando necessrio indicar papis num DER?

Questes
Descreva as formas alternativas de especificar restries sobre tipos de relacionamentos. Quais so as vantagens e desvantagens de cada uma? Sobre quais condies um tipo de relacionamento pode se tornar um atributo de um tipo de entidade? Qual o significado de um tipo de relacionamento recursivo? D alguns exemplos diferentes daquele apresentado.

Questes
Defina os termos: tipo de entidade proprietrio da identificao, tipo de relacionamento de identificao e chave-parcial. 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).

Bibliografia
Batini, C.; Ceri, S.; Navathe, S. Conceptual Database Design: An EntityRelationship Approach. Benjamin/Cummings, Redwood City, Calif., 1992. Date, C.J., Introduo a Sistemas de Banco de Dados, traduo da 8 edio americana, Campus, 2004. Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 4th ed. Addison-Wesley, Reading, Mass., 2003. 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. Heuser, C.A., Projeto de Banco de Dados., Sagra - Luzzatto, 1 edio, 1998. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a. Edio, Makron Books, 1998. Ramakrishnan, R.; Gehrke, J., Database Management Systems, 2 nd ed., McGraw-Hill, 2000. Setzer, W. W.; Bancos de dados - conceitos, modelos gerenciadores, projeto lgico, projeto fsico.. So Paulo: E. Blcher, 1999. Teorey, T.J. Database Modeling and Design, 3rd Ed., Morgan Kaufmann, San Francisco, Calif., 1998. Notas de aula: http://www.ime.usp.br/~jef/apostila.pdf.

Você também pode gostar