Escolar Documentos
Profissional Documentos
Cultura Documentos
c)
d)
1
3. Projeto físico do banco de dados:
• Seleção de índices e métodos de acesso.
4. Distribuição do banco de dados (se necessário distribuir os dados em rede):
• Fragmentação dos dados, replicação: Minimizar tempo de resposta, minimizar custos, maximizar
disponibilidade.
5. Implementação do banco de dados, monitoração e modificação.
Modelo Entidade-Relacionamento
- O modelo Entidade-Relacionamento foi proposto originalmente por Peter Pin Shan-Chen (MIT) em 1976, no
trabalho entitulado "The Entity-Relationship Model - Toward a Unified View of Data".
- Tem sido usado rotineiramente na análise e modelagem de sistemas.
- O modelo entidade-relacionamento (E-R) é baseado na percepção do mundo real como um conjunto de objetos
básicos chamados entidades e nos relacionamento entre as mesmas.
- Para a introdução dos conceitos associados ao modelo entidade-relacionamento e ao projeto de uma base de dados,
vamos utilizar um exemplo: A base de dados COMPANHIA.
2
o Idade;
o Relacionamento com o empregado.
Entidades e Atributos
- Entidade: - É uma classe de objetos do mundo real que possuem uma existência independente e que possuem
propriedades em comum sobre as quais deseja-se armazenar informações.
- Tais objetos podem ter existência física: Pessoa, Carro, Livro.
- Podem ainda ter apenas existência conceitual: Curso Universitário, Projeto.
- Instância de entidade: - É uma ocorrência de uma entidade. O equivalente lógico de uma instância é um
registro de uma tabela. Exemplo: A entidade Funcionário possui várias instâncias: o funcionário Pedro da Costa,
com CPF 123456789, que mora no endereço R. A, 23; o funcionário Paulo da Silva, com CPF 987654321, que mora
no endereço R. B, 32 e assim por diante.
Classificação de Atributos:
• Atributos compostos: Podem ser divididos em subpartes com significados independentes. Exemplo: O
endereço da entidade e1 pode ser subdividido em Rua e número, Cidade, Estado e CEP. São úteis quando há a
necessidade de se referenciar os mesmos como um todo, mas algumas vezes, apenas alguns de seus
componentes.
• Atributos simples: Em contraposição aos atributos compostos, são aqueles que não são divisíveis em partes.
Exemplo: O atributo idade.
• Atributos multivalorados: São aqueles que podem assumir múltiplos valores para uma dada instância da
entidade. Exemplo: É comum que uma pessoa tenha vários números de telefone ou vários endereços
comerciais.
• Atributos monovalorados: Em contraposição aos atributos multivalorados, são aqueles que assumem um único
valor para cada instância de uma entidade. Exemplo: Nome, CPF, data de aniversário são todos exemplos de
atributos que, para uma dada pessoa, assumem um único valor.
• Atributos opcionais: Quando uma entidade não possui valor para determinado atributo ou quando seu valor é
desconhecido, um valor especial chamado null é usado neste caso. Exemplo: O atributo Apartamento só se
aplicaria para aqueles funcionários que residissem em algum prédio.
• Atributos derivados: Aqueles cujos valores que assumem podem ser obtidos a partir de outro atributo ou a
partir de relacionamentos entre entidades. Exemplo: O atributo idade pode ser obtido a partir da data de
nascimento de uma pessoa.
3
• Atributo-Chave: Atributo ou conjunto de atributos que identificam de modo único cada instância de uma
entidade. Exemplo: O número do seguro social do funcionário. O CPF do funcionário.
- Chave-Primária: Pode ser escolhida dentre quaisquer um dos atributos chave, devendo-se evitar usar chaves-
primárias compostas.
Símbolos Utilizados
4
Retângulos – Representam entidades.
Elipses – Representam atributos.
Losângulos – Representam relacionamentos.
Linhas – Ligam atributos a entidades e entidades a relacionamentos.
Atributos de Relacionamentos
- Os relacionamentos também podem ter atributos, da mesma forma que as entidades. Exemplo: Necessidade de se
registrar o número de horas que um funcionário dedica a um determinado projeto.
O grau de um relacionamento
- Relacionamentos classificam-se quanto ao número de entidades envolvidas em:
• Binários: Envolvem duas entidades.
• Binários recursivos: Envolvem a associação entre duas instâncias de uma única entidade as quais
participam do relacionamento assumindo diferentes papeis.
Mapeamento de Restrições
- O mundo real pode impor certas restrições que são refletidas nos relacionamentos. Exemplo: Uma regra segundo a
qual um empregado trabalha apenas para um departamento.
Razão de Cardinalidade
- A cardinalidade expressa o número de instâncias de uma entidade às quais uma instância de outra entidade pode
estar associada por meio de um relacionamento e é, obviamente, dependente das situações reais que estão sendo
modeladas pelo relacionamento.
5
- Para um relacionamento binário entre as entidades A e B, a razão de cardinalidade pode ser:
• Um para um (1:1): Uma instância da entidade A está associada a no máximo uma instância da entidade B, e
uma instância da entidade B está associada a no máximo uma instância da entidade A.
Exemplo:
Funcionário – Gerencia - Departamento
• Um para muitos (1:N): Uma instância da entidade A está associada a várias instâncias da entidade B, e uma
instância da entidade B está associada a no máximo uma instância da entidade A.
Exemplo: Funcionário – Trabalha Para – Departamento
• Muitos para muitos (N:M): Uma instância da entidade A está associada a várias instâncias da entidade B, e
uma instância da entidade B está associada a várias instâncias da entidade A.
Exemplo: Funcionário – AtuaEm - Projeto
Restrição de Participação
- Esta restrição especifica se a existência de uma instância de uma entidade depende de ela estar relacionada com
uma instância de outra entidade através de um relacionamento.
6
Entidades Fracas
- Algumas entidades podem não ter quaisquer atributos-chave. Isto implica que podem haver instâncias cuja
combinação dos valores dos atributos são idênticas.
- A identificação destas instâncias ocorre por estarem associadas a instâncias de uma outra entidade, em combinação
com algum ou alguns de seus atributos.
- Esta outra entidade é dita ser proprietária da identificação e o relacionamento que relaciona uma entidade fraca
com a proprietária da identificação é chamado relacionamento de identificação.
- Uma entidade-fraca sempre tem uma restrição de participação total (dependência existencial) com relação ao seu
relacionamento de identificação.
- Uma entidade fraca possui uma chave parcial, que é um atributo ou conjunto de atributos que pode univocamente
identificar instâncias da entidade fraca relacionadas à mesma instância da entidade proprietária.
Exemplo: Considerando que os dependentes de um mesmo funcionário terão nomes diferentes, então o atributo
Nome de Dependente será a chave parcial.
d) Supervisiona (1:N) entre Funcionário (no papel de supervisor) e Funcionário (no papel de
supervisionado).
A participação de ambos é parcial, pois nem todo funcionário é supervisor e nem todo funcionário é
supervisionado.
Vende
M P
Companhia Produto
- Para um dado par (companhia, produto) há vários países para os quais o produto é vendido por aquela companhia.
- Para um dado par (país, produto) há várias companhias exportando aquele produto para aquele país.
- Para um dado par (companhia, país) há vários produtos exportados por aquela companhia para aquele país.
8
Companhia Produto País
A abóbora Alemanha
A abóbora Bélgica
B abóbora Alemanha
A pepino Alemanha
C pepino Bélgica
- Notar que no nosso exemplo hipotético A não exporta pepino para a Bélgica.
- Não conseguiríamos representar este fato através do seguinte diagrama ER, a partir do qual a leitura que se faz é
de que uma companhia manufatura vários produtos e exporta todos para um número de diferentes países.
N Exporta M País
Companhia
Uma companhia
produz muitos N Produz M Produto
produtos e exporta
todos os produtos
que produz para um Companhia País Companhia Produto
número de A Alemanha A abóbora
diferentes países. A Bélgica A pepino
C Bélgica C pepino
B Alemanha B abóbora
M Exporta N
Companhia País
N M
Gerente
1
Gerencia
N M
Engenheiro Projeto
9
Para um dado par (Engenheiro, Projeto): Há apenas 1 gerente. Isto é, cada engenheiro trabalhando em um projeto
particular tem exatamente um gerente.
Para um dado par (Gerente, Projeto): Há vários engenheiros. Isto é, cada gerente de um projeto pode gerenciar
muitos engenheiros.
Para um dado par (Gerente, Engenheiro): Há vários projetos. Isto é, cada gerente de um engenheiro pode gerenciar
aquele engenheiro em vários projetos.
DesignadoA
1 N
Local Funcionário
Para um dado par (Funcionário, Projeto): Há apenas um local de trabalho. Isto é, cada funcionário designado para
um projeto trabalha em apenas um local naquele projeto (mas pode estar em diferentes locais para diferentes
projetos).
Para um dado par (Funcionário, Local): Há apenas um projeto. Isto é, em um particular local um funcionário
trabalha apenas em um projeto.
Para um dado par (Projeto, Local): Há vários funcionários. Isto é, em um particular local podem haver muitos
funcionários designados para um projeto.
Usa
1 1
Livro Curso
10
Especialização
- Uma entidade pode conter subgrupos de instâncias que são, de alguma forma, diferentes de outras instâncias do
conjunto.
- O processo de projetar subgrupos de uma entidade é chamado especialização e é representado graficamente por um
triângulo.
Exemplo:
- Estas entidades de nível inferior podem possuir atributos, ou mesmo participar de relacionamentos que não podem
ser aplicados a todas as instâncias da entidade de nível superior.
- O uso do mecanismo de especialização evita que se tenha entidades com muitos atributos opcionais.
Exemplo:
TipoFuncionário
Nome
(0,1) DataExpiracaoCarteiraHabilitacao
Código Funcionário
(0,1) (0,1) (0,1)
CREA NumeroCarteiraHabilitacao
CRM
Nome
Esta situação fica melhor modelada assim:
Funcionário Código
NumeroCarteiraHabilitacao
11
Generalização
- Generalização é o processo de sintetizar várias entidades em uma entidade de nível superior, com base em
atributos comuns.
- Em termos do diagrama E-R propriamente dito, não faremos distinção entre a especialização e a generalização.
- As entidades de nível inferior (ou subclasses) também herdam a participação em relacionamentos dos quais
participam as entidades de nível superior (ou superclasses).
salário valor
data
O banco de dados O banco de dados
contém apenas o contém o histórico dos
salário atual. salários.
Funcionário Funcionário
Alocação Alocação
data
Mesa Mesa