Você está na página 1de 12

Ciclo de vida de um banco de dados relacional

1. Formulação e análise de requisitos:


a) Relacionamentos naturais entre os dados (independentes de processo).
b) Requisitos de uso (dependentes de processo).
c) Plataforma: hardware/software: SO, SGBD
d) Requisitos de desempenho e integridade.
Resultado: Documento de especificação de requisitos.

2. Projeto lógico do banco de dados:


a) Modelo ER (projeto conceitual)
b) Integração dos múltiplos diagramas ER da empresa.
c) Transformação dos diagramas ER para tabelas relacionais.
d) Normalização das tabelas relacionais.
Resultado: Esquema global transformado para definições de tabelas.
a)

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.

A Base de Dados Companhia


- Base que armazena dados sobre funcionários, departamentos e projetos. Descrição:
• Companhia organizada em departamentos. Cada departamento tem:
o Um nome;
o Um número que identifica o departamento;
o Número de funcionários;
o Uma localização;
o Um funcionário que gerencia o departamento:
Armazena-se a data de início em que o funcionário começou a gerenciar o departamento.
• Um departamento é responsável pelo controle de diversos projetos. Cada projeto tem:
o Um nome;
o Um número que identifica o projeto;
o Uma localização.
• Sobre o funcionário armazena-se:
o Nome;
o Número do seguro social;
o CPF;
o Endereço;
o Salário;
o Sexo;
o Data de nascimento;
o Idade.
• Todo funcionário é associado a um departamento, mas pode trabalhar em diversos projetos, não
necessariamente controlados pelo mesmo departamento. Todo funcionário precisa atuar em pelo menos um
projeto. Armazena-se:
o Número de horas que o empregado trabalha em cada projeto.
o Quem é o supervisor direto de cada funcionário. Nem todo funcionário tem um supervisor.
• Os dependentes de cada funcionário são armazenados para garantir os benefícios do seguro. Para cada
dependente são armazenados:
o Nome;
o Sexo;
o Data de nascimento;

2
o Idade;
o Relacionamento com o empregado.

Conceitos do Modelo Entidade-Relacionamento

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.

- Atributos: - Propriedades particulares de uma entidade (ou relacionamento).


Exemplo:
Nome=João da Silva Nome = Cooper Sugar
e1 Endereço = R. Goiás, 711 c1 Sede = Ribeirão Preto
São Paulo, SP, 1301100
Idade = 55 Presidente = João da Silva
Telefone residencial = 713-3345

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.

- Relacionamento: Classe de associações entre duas ou mais entidades. Exemplo: Há um relacionamento


“Trabalha-Para” entre a entidade Funcionário e a entidade Departamento.

- Instância de relacionamento: Ocorrência particular de um relacionamento, envolvendo instâncias específicas de


cada uma das entidades envolvidas.
Exemplo: O Funcionário João da Silva “trabalha para” o Departamento de Desenvolvimento de Produtos.

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.

• Ternários: Envolvem três entidades.

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.

- Dois tipos principais de restrições de relacionamentos são a razão de cardinalidade de um relacionamento e a


dependência de existência (restrição de participação).

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.

- Existem dois tipos de restrição de participação:


• Total: Também chamada de dependência existencial. Ocorre quando a existência de uma instância de uma dada
entidade depende da participação da mesma em um relacionamento.
Exemplo:
- Se uma companhia estabelece a regra de que todo funcionário deve trabalhar para um departamento, então uma
instância da entidade funcionário só pode existir se participar de um relacionamento Trabalha-Para.
- A participação de Funcionário em Trabalha-Para é total.
- A entidade Departamento é chamada de entidade dominante ou forte e a entidade Funcionário de entidade
dependente ou subordinada.
• Parcial: Ocorre quando a existência das instâncias de uma dada entidade é independente de sua participação em
qualquer relacionamento.
Exemplo:
- Não é esperado que todo funcionário gerencie um departamento, assim a participação de Funcionário no
relacionamento Gerencia é parcial.
- Não necessariamente todas as instâncias da entidade Funcionário estarão relacionadas a instâncias da entidade
Departamento via Gerencia.

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.

Exemplo: Entidade Dependente, relacionada a Funcionario. Trata-se de um relacionamento 1:N.


Os atributos de Dependente são Nome, DataNasc, Sexo e Relação com o funcionário (esposa, marido,
filho, etc).
Dependentes de funcionários diferentes podem ter os mesmos valores para os atributos, e ainda assim
tratam-se de entidades distintas.
Os dependentes serão identificados como entidades distintas após a determinação da entidade
funcionário com a qual cada um está relacionado.

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

Projeto da Base de Dados Companhia Utilizando o Modelo Entidade-Relacionamento


- Podemos especificar os seguintes tipos de relacionamentos extraídos da descrição sobre a companhia:

a) Gerencia (1:1) entre Funcionário e Departamento.


A participação de Empregado é parcial. A participação de Departamento é total.
O atributo DataInício é associado a esse relacionamento.

b) Trabalha-Para (1:N) entre Departamento e Empregado.


Ambos têm participação total.

c) Controla (1:N) entre Departamento e Projeto.


A participação de Projeto é total e de Departamento é 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.

e) Trabalha-Em (M:N) entre Funcionário e Projeto.


Ambos têm participação total.
O atributo Horas é associado a este relacionamento.
7
f) Dependente-de (1:N) entre Funcionário e Dependente.
É um tipo de relacionamento de identificação para a entidade-fraca Dependente.
A participação de Funcionário é parcial e de Dependente é total.

Mais sobre relacionamentos ternários


- Muitas vezes é difícil decidir se um relacionamento deve ser representado como sendo ternário ou se não pode ser
representado por vários relacionamentos binários entre as entidades participantes. O projetista da base de dados
deve se guiar pelo significado da situação particular que estiver representando para decidir qual alternativa adotar.
Exemplo1:
País
N

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

- Também não conseguiríamos representar este fato através do DER abaixo:

M Exporta N
Companhia País
N M

Produz M Produto N Compra

Companhia País Companhia Produto País Produto


A Alemanha A abóbora Alemanha abóbora
A Bélgica A pepino Alemanha pepino
C Bélgica C pepino Bélgica abóbora
B Alemanha B abóbora Bélgica pepino
Exemplo 2: Relacionamento ternário 1: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.

Exemplo 3: Relacionamento ternário 1:1:N


Projeto
1

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.

Atenção: Este DER não implica que um funcionário participe de um só projeto.

Exemplo 4: Relacionamento ternário 1:1:1


Professor
1

Usa

1 1
Livro Curso

Um professor usa um livro para um dado curso.


Nenhum professor usa o mesmo livro para diferentes cursos.
Mas diferentes professores podem usar o mesmo livro em diferentes cursos.

Extensões do Modelo E-R


- Apesar de ser possível modelar a maioria dos bancos de dados apenas com os conceitos básicos do E-R, alguns
aspectos de um banco de dados podem ser expressos de modo mais conveniente por meio de algumas extensões
como especialização e generalização.

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

Funcionário Médico Engenheiro

DataExpiracaoCarteiraHabilitacao CRM CREA

11
Generalização
- Generalização é o processo de sintetizar várias entidades em uma entidade de nível superior, com base em
atributos comuns.

- Na prática, a generalização é simplesmente o inverso da especialização.

- Em termos do diagrama E-R propriamente dito, não faremos distinção entre a especialização e a generalização.

Herança de Atributos e Relacionamentos


- Os atributos das entidades de nível superior são herdados pelas entidades de nível inferior.

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

Refletindo o aspecto temporal


- A modelagem do banco de dados deve refletir o fato de que existem:

• Atributos cujos valores sofrem modificações ao longo do tempo.


Exemplo:

Empregado Empregado Recebe Salário

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.

• Relacionamentos sofrem modificações ao longo do tempo.


Exemplo:

Funcionário Funcionário

Alocação Alocação

data

Mesa Mesa

O banco de dados O banco de dados


contém apenas a contém o histórico das
alocação atual. alocações.
12

Você também pode gostar