diagrama de entidade associação ou relacionamento · para aplicar a 1fn, efectuam-se os seguintes...
TRANSCRIPT
1
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
2
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)
4
Construção do DEA Na construção de um modelo DEA, realizam-
se 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
5
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
6
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, identificando-se as entidades, o tipo e grau de associação, os atributos descritores e os atributos identificadores
7
Construção do DEA A figura 1.17 indica que face a um
relacionamento de M:M é preciso criar a entidade associação ForneceProdutos
10
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
11
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)
12
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
15
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
16
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
17
Normalização de dadosEncomenda = @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
18
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
19
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
20
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
21
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
22
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
23
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 atributos-nã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
24
Normalização de dados Da entidade Encomenda, depois de aplicada a 3FN,
resultam as entidades Encomenda e ClienteEncomenda = @Número_encomenda + Data_encomenda + Código_clienteCliente = @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 + TelefoneProduto = @Código_produto + Nome_produto + Preço_unitárioEncomenda = @Número_encomenda + Data_encomenda + Código_clienteDetalheEncomenda = @Número_encomenda + @Código_produto +
Quantidade