normalização de dados - planeamento estratégico de ... · 3 normalização de dados nos...

34
1 Normalização de dados Vantagens da normalização A normalização permite: Agrupar os atributos de uma entidade de forma a reduzir o número de dependências funcionais existentes entre os dados numa base de dados, diminuindo a redundância Garantir a integridade, a consistência e a fiabilidade dos dados estruturados em relações segundo o modelo relacional Minimizar o espaço utilizado pelos dados criando bases de dados simples e flexíveis A qualquer utilizador aplicar com certa facilidade as suas formas normais

Upload: lyanh

Post on 19-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

1

Normalização de dados Vantagens da normalização

A normalização permite: Agrupar os atributos de uma entidade de forma a

reduzir o número de dependências funcionais existentes entre os dados numa base de dados, diminuindo a redundância

Garantir a integridade, a consistência e a fiabilidade dos dados estruturados em relações segundo o modelo relacional

Minimizar o espaço utilizado pelos dados criando bases de dados simples e flexíveis

A qualquer utilizador aplicar com certa facilidade as suas formas normais

Page 2: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

2

Normalização de dados Regras de transformação do diagrama ER no

modelo relacional A normalização de dados pode ser feita a partir de modelos

de dados resultantes da modelação com diagramas ER A seguir, apresenta-se um conjunto de regras para obter

essa transformação, tendo em conta o tipo e o grau do relacionamento

Toda a entidade do diagrama ER traduz-se numa relação no modelo relacional, com os mesmos atributos e chaves

Nos relacionamentos 1:1, com participação obrigatória em ambos os lados, pode-se construir uma ou duas relações

No caso de serem criadas duas relações, cada uma contém uma chave estrangeira

Uma chave estrangeira de uma relação é a repetição da chave primária de outra relação, permitindo o relacionamento

Page 3: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

3

Normalização de dados Nos relacionamentos 1:1 com participação

obrigatória apenas de um dos lados, constroem-se duas relações

A chave estrangeira encontra-se na relação com participação não obrigatória

Nos relacionamentos 1:1 com participação opcional em ambos os lados, constroem-se três relações

Uma das relações corresponde à entidade associação que contem as chaves estrangeiras das duas entidades iniciais

Podem ser precisos mais atributos para constituir a sua chave primária

Podem-se criar outros atributos na entidade associativa

Page 4: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

4

Normalização de dados Nos relacionamentos 1:M, constrói-se primeiro a

relação de cardinalidade 1 e, depois, a de cardinalidade M, adquirindo esta a chave da primeira no caso de existir obrigatoriedade dos dois lados ou apenas do lado 1

Nos relacionamentos de 1:M, constroem-se três relações no caso de existir obrigatoriedade do lado M ou no caso dos dois lados serem de obrigatoriedade opcional

Uma das relações corresponde à entidade associação que contem as chaves das duas entidades iniciais

Nesta relação, pode ser preciso acrescentar mais atributos para constituir a sua chave primária, assim como outros atributos descritores

Page 5: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

5

Normalização de dados Nos relacionamentos M:M, constroem-se

primeiro as relações de cardinalidade M e, depois, a relação que corresponde à entidade associação

Esta relação adquire a chave das entidades iniciais

Nesta relação, pode ser preciso acrescentar mais atributos para constituir a sua chave primária, assim como outros atributos descritores

Page 6: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

6

Normalização de dados O quadro 14 resume a informação relacionada com o

número de relações que se podem derivar do modelo ER de acordo com o tipo e o grau de cardinalidade de associação presente entre as entidades, de forma a garantir que não haja em cada uma atributos com valores que não estejam definidos

Na coluna Descrição são, inicialmente, apresentadas as entidades e o respectivo diagrama ER

Por fim, são apresentadas as relações obtidas para o modelo relacional

De salientar que o símbolo @ é utilizado para identificar a chave primária e o sublinhado é utilizado para identificar uma chave primária

Page 7: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

7

Normalização de dados

Page 8: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

8

Normalização de dados

Page 9: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

9

Normalização

Page 10: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

10

Normalização

Page 11: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

11

Normalização

Page 12: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

12

Normalização A partir do diagrama da figura 1.20

exemplifica-se a aplicação das regras de transformação de um modelo ER num esquema relacional, descrevendo-se a seguir as relações do modelo relacional obtidas

Page 13: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

13

Normalização

Page 14: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

14

NormalizaçãoAtleta = @codAtleta + nomeNascimento + dataNascimento

Modalidade = @codModalidade + nomeModalidade + pavilhão + codTreinador

Cacifo = @codCacifo + local + dataAluga + codAtleta

Treinador = @codTreinador + nomeTreinador

Inscrito = @codAtleta + @codModalidade + dataInscrição

Page 15: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

15

4.2.5. Esquema de tabelas

Page 16: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

16

Esquema de tabelas Durante a análise de um sistema têm sido

utilizados diferentes diagramas ou desenhos, representando, modelando ou idealizando esse sistema

Estes desenhos permitem mostrar como podem vir a ser realmente implementados esses sistemas

O esquema de tabelas é um desenho que se debruça sobre os dados armazenados no sistema e que se designa por modelo estático

Page 17: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

17

Esquema de tabelas Na aplicação do modelo estático, parte-se do

princípio que é preciso garantir uma redundância reduzida entre os dados, minimizar o número de tabelas e garantir a integridade e fiabilidade dos dados

Sendo assim, obter um esquema de tabelas é derivar do modelo ER as relações para uma base de dados relacional

Esta derivação é conseguida quando se aplicam ao modelo ER as regras de normalização e da cardinalidade

Page 18: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

18

Esquema de tabelas A normalização aplica-se sobre um modelo ER

quando as suas entidades ainda não estão normalizadas como, por exemplo, no caso apresentado no ponto Fases da normalização, relativamente à entidade inicial Encomenda

Encomenda = @Número_encomenda + Data_encomenda + Código_cliente + Nome_cliente + Telefone + {Código_produto + Nome_produto + Preo_unitário + Quantidade} + Total_encomenda

Page 19: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

19

Esquema de tabelas As regras da cardinalidade (quadro 14)

aplicam-se sobre o modelo ER quando as suas entidades já se encontram normalizadas

O ponto Regras de transformação do diagrama ER no modelo relacional é o exemplo de como se obtêm as relações de um modelo relacional a partir do modelo ER

Aqui, é de salientar que uma relação nem sempre deriva de uma entidade

Page 20: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

20

Esquema de tabelas Podem surgir relações de entidades

associativas

Estas relações passam a ter atributos identificadores de outras entidades e que se designam por chaves estrangeiras

Por exemplo, das relações do Modelo relacional obtidas a partir da figura 1.20, codAtleta e codModalidade não são atributos da entidade ER inscrito

Inscrito = @codAtleta + @codModalidade + dataInscrição

Page 21: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

21

Esquema de tabelas Há, também, relações derivadas de entidades

ER que contêm atributos de outras entidades

Por exemplo, das relações do Modelo relacional obtidas a partir da figura 1.20, codTreinador e codAtleta são respectivamente atributos das entidades ER Atleta e Treinador

Modalidade = @codModalidade + nomeModalidade + pavilhão + codTreinador

Cacifo = @codCacifo + Local + codAtleta + dataAluga

Page 22: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

22

Esquema de tabelas Observando o exemplo da figura 1.20, de

quatro entidades e três relacionamentos derivaram cinco relações

O objectivo do esquema de tabelas é conseguir obter um número mínimo de tabelas, garantindo que todos os atributos estejam correctamente definidos dentro dos objectivos do modelo relacional

Page 23: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

23

Esquema de tabelas A figura 1.21 apresenta um esquema de

tabela característico da representação de relações

O nome da tabela corresponde ao nome da relação

A chave primária é constituída pelos atributos identificadores, isto é, atributos que identificam de forma exclusiva cada ocorrência de uma relação

Os atributos descritores são atributos que descrevem a relação

As chaves estrangeiras são atributos identificadores de outras relações

Page 24: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

24

Esquema de tabelas A figura 1.22 exemplifica o esquema de tabelas das

relações obtidas do modelo ER da figura 1.20

Page 25: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

25

4.2.6. Especificação estrutural

Page 26: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

26

Especificação estrutural O modelo dinâmico debruça-se sobre as interligações

existentes entre os componentes do sistema e utiliza as ferramentas diagrama de estrutura e diagrama de acção para especificar estruturalmente um sistema segundo um conjunto de módulos, pequenos, independentes, simples, flexíveis e dispostos hierarquicamente em árvore

O modelo dinâmico permite estruturar as operações do sistema de forma sequencial e no tempo

Outra característica importante é a possibilidade de especificar aspectos de controlo do sistema

Page 27: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

27

Especificação estrutural A partir do Diagrama de Fluxo de Dados, do

Dicionário de Dados e do esquema de tabelas, é possível segmentar o sistema e obter uma hierarquia de módulos

Esta modularização tem como objectivo facilitar o desenvolvimento, a manutenção e a visualização dos sistemas ao segmentar um problema complexo em problemas menores e mais simples, pois cada módulo funciona como uma caixa preta em que se conhecem as entradas, as saídas e a função que transforma as entradas em saídas previsíveis

Page 28: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

28

Especificação estrutural Diagramas de estrutura

Um diagrama de estrutura é uma ferramenta gráfica que segmenta o sistema em módulos, mostrando a sua organização e hierarquia, a sua função, as suas interfaces de comunicação e a comunicação entre eles

O quadro 15 apresenta os símbolos utilizados por esta ferramenta gráfica para se desenhar a estrutura de um sistema baseada em três componentes básicos como os módulos, as ligações e as comunicações (chamadas)

No caso de um sistema informático, os módulos podiam representar sub-rotinas de programação e as ligações, os fluxos de dados e/ou controlo

Page 29: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

29

Especificação estrutural

Page 30: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

30

Especificação estruturalQuadro 15 (continuação)

Page 31: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

31

Especificação estrutural Diagramas de estrutura (continuação)

A figura 1.23 mostra dois diagramas de estrutura, um errado (A) e outro correcto (B)

O diagrama A não apresenta nenhuma ligação de dados, o nome do módulo de Obter registo do funcionário não abrange a função abaixo, Calcular salário, e os módulos predefinidos não podem apresentar módulos subordinados

Portanto, os nomes dos módulos devem ser claros e de forma a apresentarem a sua função e a de todos os módulos que ficam hierarquicamente abaixo

Os módulos predefinidos, apesar de poderem ter muitos módulos subordinados, nunca apresentam esses módulos subordinados num diagrama de estrutura

Page 32: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

32

Especificação estrutural

Page 33: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

33

Especificação estrutural Diagramas de acção

Como se pode perceber, um diagrama de estrutura não mostra o funcionamento interno dos módulos, os dados acedidos por eles e a sequência das operações no tempo

Cabe a um diagrama de acção mostrar detalhadamente a lógica de funcionamento da função do módulo e o modo como os dados de entrada são transformados em dados de saída

A implementação de um diagrama de acção consiste na utilização de uma linguagem de codificação para especificar os módulos

Consoante a complexidade do módulo, assim se podem utilizar linguagens com maior ou menor detalhe

Podem ser utilizadas simples especificações ou linguagens mais estruturadas ou, ainda, pseudocódigos mais próximos das linguagens de programação

Page 34: Normalização de dados - Planeamento Estratégico de ... · 3 Normalização de dados Nos relacionamentos 1:1 com participação obrigatória apenas de um dos lados, constroem-se

34

Especificação estrutural Diagramas de acção (continuação)

A seguir, apresenta-se um exemplo de um diagrama de acção, utilizando uma linguagem simples, que codifica o diagrama de estrutura da figura 1.23 B

Emitir cheque pagamentoPara cada empregadoLê o nome e salário-base do do registo do empregadoCalcula salárioSalário é igual ao salário-base menos os descontosImprime no cheque o nome do empregado, montante a receber, data de emissão e localidade