Diagrama de Entidade Associação ou
Relacionamento

Quanto à obrigatoriedade dos elementos de
uma entidade participarem, ou não, no
relacionamento com outra entidade, tem-se:

Participação obrigatória de ambas as entidades

Participação não obrigatória de uma das duas
entidades

Participação não obrigatória de nenhuma das
entidades
1
Diagrama de Entidade Associação ou
Relacionamento

O quadro 12 exemplifica um conjunto de situações e
simbologias utilizadas, neste caso, num
relacionamento binário

Para facilitar a explicação descreve-se, em quase
todos os exemplos, o relacionamento apenas de um
dos lados

No preenchimento da coluna “Descrição”, os valores
entre parêntesis devem ler-se (mínimo..máximo)
2
Diagrama de Entidade Associação ou
Relacionamento
3
Construção do DEA

Na construção de um modelo DEA, realizamse por ordem os seguintes passos:

Identificar as entidades

Identificar associações entre entidades, tipo e grau
de associação

Identificar os atributos identificadores e os
atributos descritores de cada entidade

Definir os graus máximo e mínimo de associações
4
Construção do DEA

Também na construção de um modelo DEA se deve
observar que:

Todos os atributos se aplicam a todas as instâncias de uma
entidade

Quando há grupos repetitivos cria-se uma nova entidade e
uma nova associação. Entende-se por grupo repetitivo um
conjunto de atributos cujos valores se repetem para um
dado valor do atributo identificador

Quando existir relacionamentos de M:M, subdividem-se em
dois relacionamentos 1:M, criando-se uma entidade
associativa adicional, que fará a interface entre as entidades
anteriores e que pode apresentar alguns atributos
específicos
5
Construção do DEA

A partir do conteúdo de dois depósitos de dados, fornecedores
e produtos, de um Dicionário de Dados, desenha-se o
Diagrama de Entidade Associação da figura 1.16, identificandose as entidades, o tipo e grau de associação, os atributos
descritores e os atributos identificadores
6
Construção do DEA

A figura 1.17 indica que face a um
relacionamento de M:M é preciso criar a
entidade associação ForneceProdutos
7
Construção do DEA

A figura 1.18 mostra uma outra forma de
representar o diagrama da figura 1.17
8
4.2.4. Normalização de dados
9
Normalização de dados

A normalização de dados pode ser aplicada
directamente sobre um conjunto de dados em bruto
ou feita a partir de modelos de dados resultantes da
modelação com diagramas E-R, com o objectivo de
criar um modelo de base de dados relacional

A normalização de dados consiste numa série de
passos relacionados com o desenho de uma base de
dados de forma a obterem-se estruturas de dados
sem redundância e consistentes

Este processo é conduzido por um conjunto de regras
que constituem as Formas Normais
10
Normalização de dados

As Formas Normais enunciam um conjunto de
restrições sobre os relacionamentos ou as
dependências existentes entre os dados

Inicialmente foram criadas três formas normais: 1.ª
Forma Normal (1FN), 2.ª Forma Normal (2FN) e
3.ª Forma Normal (3FN)

Depois surgiram mais formas normais: Forma
Normal de Boyce-Codd (FNBC), 4.ª Forma
Normal (4FN) e 5.ª Forma Normal (5FN)
11
Normalização de dados

Representação de dados na forma não
normalizada

Uma estrutura diz-se não normalizada quando os dados se
agrupam por atributos que não foram analisados segundo as
regras da normalização

O quadro 13 mostra um exemplo de como representar uma
entidade através dos seus atributos segundo três notações
diferentes

Neste caso, por cada nota de encomenda podem existir
vários produtos encomendados, o que acarreta, em termos
de organização de uma base de dados informatizada, uma
redundância de dados, ocupando mais espaço, tornando o
processamento mais lento e aumentando a probabilidade de
ocorrem erros
12
Normalização de dados

Representação de dados na forma não
normalizada (continuação)
13
Normalização de dados

Representação de dados na forma não
normalizada (continuação)
14
Normalização de dados

Fases da normalização

O modelo da base de dados relacional organiza os dados em
estruturas designadas por relações (figura 1.19)

Os atributos de uma relação correspondem às colunas e os
tuplos correspondem às linhas que apresentam um conjunto
de dados relativos a uma entidade concreta

Estes dados são, por sua vez, representados por valores
15
Normalização de dados

Para alcançar um modelo de uma base de dados
minimamente consistente, é suficiente submeter a
sua estrutura de dados até à terceira forma normal

A primeira forma normal obriga a que não exista
grupo de atributos repetitivos

No exemplo da entidade Encomenda os atributos
que se encontram entre parêntesis constituem um
grupo repetitivo, porque para uma mesma
encomenda podem ser pedidos vários produtos
16
Normalização de dados
Encomenda = @Número_encomenda + Data_encomenda + Código_cliente
+ Nome_cliente + Telefone + {Código_produto + Nome_produto +
Preço_unitário + Quantidade} + Total_encomenda

Para aplicar a 1FN, efectuam-se os seguintes passos

Escolher uma chave primária ou um atributo identificador,
que é um atributo que identifica de forma exclusiva cada
ocorrência de uma entidade. No exemplo dado a chave
identificada é Número_encomenda

Identificar o grupo repetitivo, que é {Código_produto +
Nome_produto + Preço_unitário + Quantidade}

Criar uma nova relação por cada grupo repetitivo,
escolhendo uma nova chave e efectuando um
relacionamento com a entidade original através do atributo
comum Número_encomenda
17
Normalização de dados

Da entidade inicial Encomenda, depois de
aplica a 1FN, resultam as entidades
Encomenda e DetalheEncomenda
Encomenda = @Número_encomenda + Data_encomenda +
Código_cliente + Nome_cliente + Telefone +
Total_encomenda
DetalheEncomenda = @Número_encomenda + @Código_produto +
Nome_produto + Preço_unitário + Quantidade
18
Normalização de dados

A segunda forma normal obriga a que se removam todas as
dependências funcionais que dependam apenas de uma parte
da chave e não da sua totalidade

No caso da entidade DetalheEncomenda, a chave primária é
constituída pelo para de atributos Número_encomenda e
Código_produto

Os atributos Nome_produto e Preço_unitário, para além de
serem identificados de forma unívoca pela chave, são também
identificados por parte dela, isto é, são funcionalmente
dependentes do atributo Código_produto
19
Normalização de dados

Para aplicar 2FN, efectuam-se os seguintes
passos:

Verificar se os atributos não-chave são
dependentes funcionalmente da totalidade da
chave

Criar uma nova relação com os atributos que
dependem de parte da chave, sendo esta a chave
da nova relação

Identificar os relacionamentos existentes entre a
nova relação e a relação original, mantendo,
nesta, a chave inicial que contém o atributo
comum às duas relações
20
Normalização de dados

Da entidade inicial DetalheEncomenda,
depois de aplicada a 2FN, resultam as
entidades DetalheEncomenda e Produto
DetalheEncomenda = @Número_encomenda + @Código_produto +
Quantidade
Produto = @Código_produto + Nome_produto + Preço_unitário
21
Normalização de dados

A terceira forma normal obriga a que se
removam todas as dependências funcionais
que dependam de atributos-não-chave

No caso da entidade Encomenda, os
atributos Nome_cliente e Telefone são
também funcionalmente dependentes do
atributo-não-chave Código_cliente
22
Normalização de dados

Para aplicar a 3FN, efectuam-se os seguintes
passos:

Verificar se os atributos não-chave são
dependentes funcionalmente de outros atributosnão-chave

Criar uma nova relação com os atributos que
dependem dos atributos-não-chave, sendo estes a
chave da nova relação

Identificar os relacionamentos existentes entre a
nova relação e a relação original, mantendo,
nesta, o atributo-não-chave que é um atributo
comum
23
Normalização de dados

Da entidade Encomenda, depois de aplicada a 3FN,
resultam as entidades Encomenda e Cliente
Encomenda = @Número_encomenda + Data_encomenda + Código_cliente
Cliente = @Código_cliente + Nome_cliente + Telefone

Depois de aplicadas as três formas normais à
entidade inicial, Encomenda, resultam as entidade
normalizadas: Cliente, Produto, Encomenda, e
DetalheEncomenda
Cliente = @Código_cliente + Nome_cliente + Telefone
Produto = @Código_produto + Nome_produto + Preço_unitário
Encomenda = @Número_encomenda + Data_encomenda + Código_cliente
DetalheEncomenda = @Número_encomenda + @Código_produto +
Quantidade
24
Download

Diagrama de Entidade Associação ou Relacionamento