regras para mapeamento or

Transcrição

regras para mapeamento or
BANCO DE DADOS GEOGRÁFICOS E
WEBMAPPING
- PROJETO LÓGICO RELACIONAL
Prof. Angelo Augusto Frozza, M.Sc.
http://about.me/TilFrozza
1
PROJETO DE BANCO DE DADOS

Atividade de modelagem de dados em diversos níveis de
abstração

Modelagem conceitual (projeto conceitual)

abstração de mais alto nível



objetivo: representação dos requisitos de dados do domínio
independente de modelo de BD
Modelagem lógica (projeto lógico)
representação da modelagem conceitual em um modelo de BD
 ênfase na eficiência de armazenamento



evitar: muitas tabelas (e junções); tabelas sub-utilizadas, ...
Modelagem física (implementação)

esquema SQL para a modelagem lógica


dependente de SGBD
ênfase na eficiência de acesso

implementação de consultas, índices, ...
ROTEIRO

Regras para mapeamento E-R

Regras para mapeamento OR
PROJETO LÓGICO DE BD

Mapeamento ER -> Relacional

Para 1 esquema ER -> N esquemas relacionais

Existem várias maneiras de “se implementar” uma modelagem
conceitual abstrata
PROJETO LÓGICO DE BD

Compromisso entre:

evitar um grande número de tabelas


evitar atributos opcionais


evitar um tempo longo de resposta nas consultas e atualizações de
dados
 implica minimizar junções entre tabelas
evitar tabelas sub-utilizadas
 implica evitar desperdício de espaço
evitar muitos controles de integridade no BD

evitar organizações de dados em tabelas que gerem muitos
controles de integridade
 implica evitar muitas dependências entre dados
PROCESSO DE MAPEAMENTO
1.
Mapeamento preliminar de entidades e seus
atributos
2.
Mapeamento de especializações
3.
Mapeamento de relacionamentos e seus atributos
MAPEAMENTO DE ENTIDADES
Empregados (RG, Nome, Idade)
MAPEAMENTO DE ENTIDADES FRACAS

Identificador da entidade forte torna-se
parte da chave primária na tabela correspondente à
entidade fraca (tabelaFraca)
 chave estrangeira na tabelaFraca

Itens (NroPedido, NroItem, Produto, Quantidade)
MAPEAMENTO DE ATRIBUTOS
Empregados (RG, Nome, Idade, PlanoSaúde,
Rua, Número, Cidade)
Telefone (RG, Número)
ou
Telefone (RG, Número)
MAPEAMENTO DE ATRIBUTOS
Empregados (RG, Nome, Idade, PlanoSaúde,
Rua, Número, Cidade,
FoneRes, FoneCom, Celular)
PROCESSO DE MAPEAMENTO
1.
Mapeamento preliminar de entidades e seus
atributos
2.
Mapeamento de especializações
3.
Mapeamento de relacionamentos e seus atributos
MAPEAMENTO DE ESPECIALIZAÇÕES

Três alternativas são geralmente adotadas:
1.
tabela única para entidade genérica e suas especializações
2.
tabelas para a entidade genérica e as entidades
especializadas
3.
tabelas apenas para as entidades especializadas
ALTERNATIVA 1
Servidores (CPF, Nome, Tipo, Função, Titulação, Categoria)

Tipo pode assumir mais de um valor se a especialização é nãoexclusiva
ALTERNATIVA 2
Servidores (CPF, Nome)
Funcionários (CPF, Função)
Professores (CPF, Titulação, Categoria)
ALTERNATIVA 3
Funcionários (CPF, Nome, Função)
Professores (CPF, Nome, Titulação, Categoria)

Não se aplica a especializações parciais
PROCESSO DE MAPEAMENTO
1.
Mapeamento preliminar de entidades e seus
atributos
2.
Mapeamento de especializações
3.
Mapeamento de relacionamentos e seus atributos
MAPEAMENTO DE RELACIONAMENTOS
Recomendações de mapeamento baseiam-se na
análise da cardinalidade dos relacionamentos


com base nesta análise, algumas alternativas de
mapeamento podem ser adotadas:
1.
entidades relacionadas podem ser fundidas em uma única tabela
2.
tabelas podem ser criadas para o relacionamento
3.
chaves estrangeiras podem ser criadas em tabelas a fim de
representar adequadamente o relacionamento
RELACIONAMENTO 1-1
 Obrigatório
em ambos os sentidos
Conferências (Sigla, Nome, DataInstCom, NroCom,
EndereçoCom, eMailCom)
RELACIONAMENTO 1-1
 Opcional
em um dos sentidos
Pessoas (Código, Nome, NúmeroCarteiraMotorista,
DataExpedição, Validade, Categoria,
DataRetirada)
RELACIONAMENTO 1-1

Opcional em um dos sentidos
Pessoas (Código, Nome)
CarteirasMotorista (Número, DataExpedição,
Validade, Categoria, Código,
DataRetirada)
RELACIONAMENTO 1-1
 Opcional
em ambos os sentidos
Homens (RG, Nome)
Mulheres (RG, Nome)
Casamento (RGh, RGm, Data)
RELACIONAMENTO 1-1
 Opcional
em ambos os sentidos
Homens (RG, Nome, [RGesposa])
Mulheres (RG, Nome, RGmarido, DataCasamento)
RELACIONAMENTO 1-N
 Obrigatório/opcional
no “lado N”
Departamentos (Código, Nome)
Empregados (CPF, Nome, CodDepto, DataLotação)
RELACIONAMENTO 1-N
 Opcional
no “lado 1”
Pessoas (RG, Nome)
Automóveis (Chassi, Modelo, Ano)
Posse (RG, Chassi, DataCompra)
RELACIONAMENTO 1-N

Opcional no “lado 1”
Pessoas (RG, Nome)
Automóveis (Chassi, Modelo, Ano, RG, DataCompra)
RELACIONAMENTO N-M
 Obrigatório/opcional
em ambos os sentidos
Empregados (RG, Nome)
Projetos (Código, Nome)
Participação (RG, Código, DataInício)
AUTO-RELACIONAMENTO

Valem as mesmas recomendações anteriores

Alternativas:
1.
Empregados (RG, Nome, Idade)
Gerência (RGe, RGg)
2.
Empregados (RG, Nome, Idade, RGg)
RELACIONAMENTOS COM ENTIDADES ASSOCIATIVAS

Valem as mesmas recomendações anteriores

questão: “localizar”a entidade associativa
1
Livros (Código, ..., RGcli, DataDevolução, RGBibl)
Clientes (RGcli, ...)
Bibliotecárias (RGbibl, ...)
RELACIONAMENTOS COM ENTIDADES ASSOCIATIVAS

Outro exemplo
Correntista (RG, Número)
CartõesMagnéticos (Número, DataExp, RG, NroConta)
RELACIONAMENTOS TERNÁRIOS
Instituições (Sigla, ...)
Projetos (Número, ...)
Pesquisadores (RG, ...)
Pesquisa (Sigla, Número, RG, DataInício)
RELACIONAMENTOS TERNÁRIOS
Produtos (Código, ...)
Cidades (Código, ...)
Distribuidores (RG, ...)
Distribuição (CodProduto, CodCidade, RG)
RELACIONAMENTOS TERNÁRIOS
Bairros (Código, ...)
Carteiros (RG, ...)
Correspondências (CodCarta, Peso, CodBairro, RG, ...)
ROTEIRO

Regras para mapeamento E-R

Regras para mapeamento OR
REGRAS PARA MAPEAMENTO OR
 Objetos

Encapsulam atributos e operações
 BDR


Representam de maneira eficiente os atributos
Tem limitações para representar operações
 Atributos


de objeto -> colunas na tabela
Nem sempre a regra pode ser aplicada
Pode depender de
Tipos de dados
 Tamanho dos campos etc.

REGRAS PARA MAPEAMENTO OR

Regra 1:
Toda tabela deve ter uma chave-primária
 A unicidade do objeto é garantida por um identificador de objetos (OID)
em cada tabela, gerado pelo sistema e que não é alterado pelo usuário

REGRAS PARA MAPEAMENTO OR

Regra 2:

Mapeamento de atributos


a) Atributos simples são mapeados para colunas
b) Atributos compostos podem ser mapeados em várias colunas
REGRAS PARA MAPEAMENTO OR

Regra 2:

Mapeamento de atributos

c) Atributos multivalorados devem ser mapeados em tabelas, cuja chaveprimária é composta pela chave-primária da tabela que representa a classe
mapeada e a chave que representa o atributo multivalorado
REGRAS PARA MAPEAMENTO OR

Regra 3:

Herança

a) Cria-se uma tabela para cada classe
REGRAS PARA MAPEAMENTO OR

Regra 3:

Herança

b) Cria-se uma única tabela para toda a hierarquia de classes
REGRAS PARA MAPEAMENTO OR

Regra 3:

Herança

c) Cria-se uma tabela para cada classe concreta
REGRAS PARA MAPEAMENTO OR

Regra 4:

Associação N:M

Cria-se uma tabela associativa em que a chave-primária é composta pelas
chaves-primárias das tabelas associadas
REGRAS PARA MAPEAMENTO OR

Regra 5:

Associação N:M com Classe de Associação



A Classe de Associação tem atributos específicos da associação
Cria-se uma tabela associativa em que a chave-primária é composta pelas
chaves-primárias das tabelas associadas
Os atributos da classe associativa permanecem na tabela que é gerada para
mapear a associação
REGRAS PARA MAPEAMENTO OR

Regra 6:

Associação 1:N

A tabela do lado N herda a referência (chave-estrangeira) da tabela do lado
1
REGRAS PARA MAPEAMENTO OR

Regra 7:

Associação 1:N com Classe de Associação


A tabela do lado N herda a referência (chave-estrangeira) da tabela do lado
1
Os atributos da classe associativa são herdados como atributos na tabela do
lado N
REGRAS PARA MAPEAMENTO OR

Regra 8:

Associação 1:1

É gerada uma única tabela com a junção dos atributos das duas classes
REGRAS PARA MAPEAMENTO OR

Regra 8:

Associação 1:1

Pode-se gerar duas tabelas, mas pode-se perder em performance





A tabela secundária deve herdar um atributo (chave-primária) como
chave-estrangeira
Facilita a manutenção das tabelas
A estrutura do BD fica mais flexível
As operações de consulta precisam de uma operação de Join ou pelo menos
dois acessos ao BD
Precisa implementar triggers ou rotinas especiais para manter a
integridade (p.ex. na exclusão)
EXERCÍCIO

Crie o mapeamento para o esquema relacional
apresentado em sala da aula.
Use o brModelo 2.0 para gerar um diagrama lógico.
 Tipos de dados devem ser indicados no formato texto, na
propriedade especifica para tal.
