You are on page 1of 10

_______________________

_______________________
_______________________

Banco de Dados I _______________________
_______________________
Parte II a: Abordagem
_______________________
Entidade-Relacionamento _______________________
_______________________
Prof. Gregorio Perez ( gregorio@uninove.br ) _______________________
_______________________
Colaboração: profa. Ana Leda
prof. André Santos _______________________
prof. José Ferreira Prata
_______________________
_______________________
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Roteiro
_______________________
n Introdução _______________________

n Entidade _______________________
_______________________
n Relacionamento
_______________________
n Conceitos Básicos
n Cardinalidade _______________________
_______________________
n Atributo
_______________________
n Generalização / Especialização _______________________

n Entidade Associativa
_______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 2
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Atributo
_______________________
n Dado que é associado a cada ocorrência de uma entidade _______________________
ou de um relacionamento
_______________________
n Representações Projeto Projeto _______________________

tipo _______________________
nome tipo
código código _______________________
nome
_______________________
n Cada ocorrência de Projeto tem associado exatamente um
nome,
nome um código e um tipo _______________________
n Entidades podem ter grande quantidade de atributos _______________________
n Representação textual separada do diagrama ER
_______________________
n Dicionário de Dados
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 3
_______________________
_______________________
Atributo
_______________________
Cardinalidade de Atributo
_______________________
n Um atributo pode possuir uma cardinalidade _______________________
n Semelhante à entidade em um relacionamento
_______________________
n Define quantos valores deste atributo podem estar _______________________
associados a uma ocorrência da entidade / relacionamento
a qual ele pertence _______________________
_______________________
Cliente
_______________________
Telefone (0,n)
_______________________
código
nome _______________________

n A cardinalidade 1,1 pode ser omitida dos diagramas
_______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 4
_______________________
_______________________
Atributo
_______________________
Cardinalidade de Atributo
_______________________
n No exemplo _______________________
Cliente

Telefone (0,n) _______________________
código _______________________
nome
_______________________

n Código e nome tem cardinalidade 1,1
_______________________
n Cardinalidade mínima 1 : significa valor obrigatório _______________________
n Cardinalidade máxima 1 : monovalorados, apenas um valor
_______________________
n Telefone tem cardinalidade 0,n _______________________
n Cardinalidade mínima 0 : significa valor não obrigatório
_______________________
n Cardinalidade máxima n : multivalorados, vários valores
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 5
_______________________
_______________________
Atributo
_______________________
Atributo de Relacionamento
_______________________
n Relacionamentos também podem possuir atributos _______________________
n No exemplo: Um Engenheiro, quando está atuando em um
Projeto assume uma função. O relacionamento atua em _______________________
possui um atributo
_______________________
(0,n) (0,n) _______________________
Engenheiro Atua em Projeto
_______________________
_______________________
código nome função código nome
_______________________
n Não é atributo de Engenheiro nem de Projeto
_______________________
n Um Engenheiro pode atuar em diversos projetos, exercendo
diferentes funções _______________________
n Em um Projeto podem atuar diversos Engenheiros com
diferentes funções _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 6
_______________________
_______________________
Atributo
_______________________
Atributo de Relacionamento
_______________________
n O exemplo abaixo modela vendas em um comércio _______________________
n Vendas podem ser à vista ou à prazo
n Uma Venda à prazo está relacionada à uma Financeira _______________________
n nº de parcelas e taxa de juros são atributos do relacionamento
_______________________
nº de parcelas _______________________

(0,1) (0,n) _______________________
Financeira financiamento Venda _______________________
_______________________
Taxa de juros
_______________________
n Estes atributos poderiam ser atributos opcionais de Venda _______________________
n Vendas não são todas a prazo
n Portanto, nem todas possuem estes atributos _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 7
_______________________
_______________________
Atributo
_______________________
Identificador de Entidade
_______________________
n Cada Entidade deve possuir um Identificador _______________________

n É um conjunto de um ou mais atributos e relacionamentos _______________________
cujos valores servem para distinguir uma ocorrência da _______________________
entidade das demais ocorrências da mesma entidade
_______________________
código
Pessoa nome _______________________
endereço
n Caso mais simples: um único atributo identificador _______________________
n Ex. Cada Pessoa possui um código diferente, mas várias _______________________
ocorrências de Pessoa podem ter o mesmo nome e endereço
_______________________
n Deve ser mínimo e único _______________________
n Também denominado chave primária
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 8
_______________________
_______________________
Identificador de Entidade
_______________________
Identificador Composto
_______________________
n Considere um almoxarifado _______________________
n Os produtos ficam armazenados em prateleiras com certa
capacidade de armazenamento _______________________
n As prateleiras encontram-se em armários organizados em _______________________
corredores
n Os corredores são numerados seqüencialmente a partir de 1
_______________________
n As prateleiras são numeradas seqüencialmente a partir de 1 _______________________
dentro de cada corredor
_______________________
n Para identificar uma prateleira é necessário conhecer o
número da prateleira e o número do corredor onde está _______________________
_______________________
capacidade
Prateleira num. do corredor _______________________
num. da prateleira
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 9
_______________________
_______________________
Identificador de Entidade
_______________________
Relacionamento Identificador
_______________________
n O Identificador de uma entidade pode ser composto por _______________________
atributos da entidade e por relacionamentos das quais a
entidade participa _______________________
_______________________
(1,1) (0,n) _______________________
Empregado ED Dependente
_______________________
_______________________
código nome número nome
Linha mais densa
seqüência _______________________
representa um relacionamento
_______________________
identificador
_______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 10
_______________________
_______________________
Identificador de Entidade
_______________________
Relacionamento Identificador
_______________________
n No exemplo, um Empregado está associado à seus _______________________
Dependentes para fins de impostos e benefícios
_______________________
n Um Dependente está relacionado a exatamente um
_______________________
Empregado
n Um Dependente é identificado pelo Empregado e ao _______________________
número de seqüência que o distingue dos demais _______________________
dependentes do mesmo Empregado
_______________________
(1,1) (0,n) _______________________
Empregado ED Dependente
_______________________

código nome número nome
_______________________
seqüência _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 11
_______________________
_______________________
Relacionamento Identificador
_______________________
Entidade Fraca
_______________________
n É aquela que só existe relacionada a outra Entidade _______________________

Entidade Fraca Entidade Fraca _______________________
_______________________
Atributo 1 Atributo 1
Atributo 2 Atributo 2 _______________________

n O termo “Fraca” não é uma propriedade da Entidade
_______________________
n Designa uma propriedade da Entidade em um Relacionamento _______________________
(1,1) (0,n) (1,1) (0,n) _______________________
Grupo ED Empresa ED Filial
_______________________
_______________________
código número da número da
empresa filial _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 12
_______________________
_______________________
Atributo
_______________________
Identificador de Relacionamento
_______________________
n Identificador utilizado para distinguir Relacionamentos nos _______________________
casos em que podem existir diversos ocorrências de
relacionamento entre as mesmas ocorrências das entidades _______________________
n Relacionamento identificado pelas entidades e pelos atributos
_______________________
identificadores
_______________________
n n
Médico Consulta Paciente _______________________
_______________________
data / hora _______________________
n Entre um determinado médico (ocorrência de Médico) e um _______________________
determinado paciente (ocorrência de Paciente) podem
_______________________
haver várias consultas (ocorrência do relacionamento
Consulta) _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 13
_______________________
_______________________
_______________________
Generalização / Especialização
_______________________
n Conceito que permite atribuir propriedades particulares a _______________________
um subconjunto das ocorrências (especializadas) de uma
entidade genérica _______________________
_______________________
nome
Filial Cliente _______________________
código
(1,1) (0,n)
_______________________
A entidade Cliente é dividida _______________________
em 2 subconjuntos:
_______________________
Entidade Pessoa Física e
Entidade Pessoa Jurídica Pessoa Física Pessoa Jurídica _______________________
_______________________
CIC sexo CNPJ tipo
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 14
_______________________
_______________________
Generalização / Especialização
_______________________
Herança de Propriedades
_______________________
n Cada ocorrência da entidade especializada possui, além de _______________________
suas próprias propriedades (atributos e relacionamentos),
as propriedades da ocorrência da entidade genérica _______________________
correspondente
_______________________
nome
Filial Cliente _______________________
código
(1,1) (0,n)
_______________________
_______________________
_______________________
§ A entidade Pessoa Física possui os
atributos CIC e sexo (particulares), Pessoa Física Pessoa Jurídica _______________________
nome e código (de Cliente), além do _______________________
relacionamento com a entidade Filial CIC sexo CNPJ tipo
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 15
_______________________
_______________________
Generalização / Especialização
_______________________
Níveis
_______________________
n Não há limite para o número de níveis hierárquicos
_______________________
Veículo _______________________
_______________________
n Uma entidade
especializada pode ser _______________________
Veículo Terrestre Veículo Aquático a entidade genérica de
outra generalização / _______________________
especialização
_______________________
_______________________
Automóvel Veículo Anfíbio Barco
_______________________
n Herança Múltipla _______________________
n Uma entidade pode ser especialização de mais de uma entidade
genérica _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 16
_______________________
_______________________
Generalização / Especialização
_______________________
Restrições
_______________________
n Entidades Especializadas herdam o identificador das _______________________
Entidades Genéricas
_______________________
n Entidades Especializadas não possuem identificador próprio _______________________
n Só pode haver uma entidade Genérica em cada hierarquia
_______________________
_______________________
Genérica A Genérica B _______________________
Hierarquia Proibida _______________________
A entidade especializada possuiria
_______________________
Identificadores das classes genéricas
Especializada _______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 17
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Entidade Associativa
_______________________
n Um relacionamento é uma associação entre entidades _______________________
n Associações entre entidades e relacionamentos não são
previstas, mas podem ser desejáveis _______________________
_______________________
n Suponha que em uma consulta médica (diagrama abaixo), um
Médico prescreveu medicamentos para um Paciente _______________________
(0,n) (0,n) _______________________
Médico consulta Paciente
_______________________
n Entre um determinado Paciente e um Médico específico podem _______________________
ocorrer várias consultas
n Em cada consulta o Médico pode prescrever medicamentos _______________________
diferentes para o Paciente
_______________________
n Portanto, a prescrição seria um relacionamento entre uma
entidade Medicamento e o relacionamento consulta _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 18
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Entidade Associativa
_______________________
n É um relacionamento que é ser tratado como uma Entidade _______________________
n É chamada associativa, pois é baseada em um relacionamento
_______________________
(0,n) (0,n)
Médico consulta Paciente _______________________
_______________________
(0,n)
prescrição
_______________________
_______________________
(0,n)
Medicamento _______________________

n No exemplo, consulta é um relacionamento entre Médico e _______________________
Paciente que pode ser visto como um entidade que está
_______________________
associada (Entidade Associativa) às entidades Médico,
Paciente e Medicamento _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 19
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Entidade Associativa
_______________________
n Sem o uso da Entidade Associativa, o relacionamento _______________________
consulta deveria ser transformado em uma entidade
_______________________
n Estes diagramas são Médico Paciente
_______________________
equivalentes (1, 1) (1, 1)
_______________________
(0,n) (0,n)
(0,n) (0,n) _______________________
Médico consulta Paciente Consulta
_______________________
(0,n)
(0,n)
_______________________
prescrição prescrição
_______________________
(0,n) (0,n)
_______________________
Medicamento Medicamento
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 20
_______________________
_______________________
_______________________
Símbolos
_______________________
Entidade Entidade _______________________

Relacionamento r
_______________________
_______________________
atributo 1
Atributo Entidade
atributo 2 _______________________

Atributo Identificador Entidade Entidade _______________________

(1,1)
_______________________
Relacionamento Identificador Entidade 1 ri Entidade 2
_______________________
Generalização / Especialização _______________________
_______________________
Entidade Associativa ea
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 21
_______________________
_______________________
Questões
_______________________
DER de uma Farmácia
_______________________
n Considere (0,n) (1,n)
Fornecedor Fabricante _______________________
o Modelo
(1,1) (1,1) _______________________
de Dados
ao lado que _______________________
descreve (0,n) (0,n)
(0,n) (1,n) _______________________
uma Lote Produto
farmácia
_______________________
e responda _______________________
as questões Medicamento Perfumaria _______________________
(0,n) (0,n)
_______________________
(0,n) (0,n)
_______________________
Venda _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 22
_______________________
_______________________
Questões
_______________________
DER de uma Farmácia
_______________________
n Descreva tudo o que está representado no diagrama _______________________
_______________________
n Invente nomes para os relacionamentos
_______________________
n Defina atributos possíveis para cada entidade do diagrama _______________________

n Para cada entidade, defina os atributos identificadores
_______________________
_______________________
n Alguns medicamentos possuem restrições de venda (tarja
_______________________
vermelha ou preta) e só podem ser vendidos com a
apresentação de uma receita médica. Esta condição, apesar _______________________
de ser real, não está descrita no modelo dado. Acrescente
esta informação no diagrama. _______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 23
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Exemplo: Companhia
_______________________
n Considere o exemplo da Companhia dado anteriormente e _______________________
acrescente os atributos ao DER
n Exemplo extraído de O.K.Takai, et. al.; Introdução a Banco de _______________________
Dados, DCC-IME-USP, 2005
_______________________
n A companhia é organizada em departamentos. _______________________
_______________________
n Cada departamento tem um nome, um número e um
empregado que gerencia o departamento. Armazena-se a _______________________
data de início que o empregado começou a gerenciar o
_______________________
departamento. Um departamento pode ter diversas
localizações _______________________
_______________________
n Um departamento controla inúmeros projetos, sendo que
cada um tem um nome, um número e uma localização _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 24
_______________________
_______________________
Abordagem Entidade Relacionamento
_______________________
Exemplo: Companhia
_______________________
n Do empregado armazena-se o nome, o número do seguro _______________________
social, endereço, salário, sexo e data de nascimento. Todo
empregado é associado a um departamento, mas pode _______________________
trabalhar em diversos projetos, que não são
necessariamente controlados pelo mesmo departamento.
_______________________
Armazena-se, também, o número de horas que o _______________________
empregado trabalha em cada projeto. Mantém-se, ainda, a
indicação do supervisor direto dos empregados de cada _______________________
projeto; _______________________

n Os dependentes de cada empregado são armazenados para _______________________
propósito dos benefícios. Para cada dependente será _______________________
armazenado o nome, sexo, data de nascimento e o
relacionamento com o empregado. _______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 25
_______________________
_______________________
Exemplo: Companhia
_______________________
DER
_______________________

(1,n) trabalha para (1,1) _______________________
_______________________
Empregado Departamento
(1,1) (0,1)
(1,1) _______________________
gerencia
(1,1) supervisor
_______________________
controla
supervisionado _______________________
(0,1)
(1,n) (0,n) _______________________
(0,n)
(1,n)
supervisiona trabalha em Projeto _______________________
(0,n) _______________________
Dependente _______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 26
_______________________
_______________________
Questões
_______________________
DER de um sistema de RH
_______________________
n Considere o Modelo de Dados abaixo que descreve parte _______________________
de um sistema de Recursos Humanos de uma Empresa
_______________________
(0,n) (1,1)
(1,n) Empregado Lotação Departamento _______________________
_______________________
Gerência
(0,1)
_______________________
Gerente Secretária Engenheiro _______________________
(1,n) (0,n) _______________________
domínio participa
_______________________
(0,n) (0,n)
Processador _______________________
Projeto
Textos _______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 27
_______________________
_______________________
Questões
_______________________
DER de um sistema de RH
_______________________
n Descreva tudo o que está representado no diagrama _______________________
_______________________
n Defina atributos possíveis para cada entidade do diagrama
_______________________
n Para cada entidade, defina os atributos identificadores _______________________
_______________________
_______________________
_______________________
_______________________
_______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 28
_______________________
_______________________
_______________________
Bibliografia
_______________________
_______________________
n C.A. Heuser
n Projeto de Banco de Dados, 5a Ed. _______________________
n Ed. Sagra Luzzatto _______________________

n C.J. Date _______________________
n Introdução a Sistemas de Bancos de Dados, 7a Ed. _______________________
n Ed. Campus
_______________________
n A. Silberschatz, H.F. Korth e S. Sudarshan _______________________
n Sistema de Banco de Dados, 5a Edição
n Ed. Campus _______________________
_______________________
_______________________
2007 Banco de Dados I - parte II a - prof. Gregorio Perez 29
_______________________