31
1 TI2007/08 MEA_1 Cadeira de Tecnologias de Informação Ano lectivo 2007/08 Prof. Mário Caldeira Profª Ana Lucas Dr. Fernando Naves Engª Winnie Picoto Engº Luis Vaz Henriques Dr. José Camacho Modelo Entidade-Associação TI2007/08 MEA_2 Técnica para modelizar os dados de um sistema de informação Modelo conceptual independente da tecnologia O Que é?

8 TI2007-MEA Normalizacao - pascal.iseg.utl.ptpascal.iseg.utl.pt/~w.picoto/ti/8_TI2007-MEA_Normalizacao.pdf · 4 TI2007/08 MEA_7 Entidade Qualquer objecto ou conceito com interesse

Embed Size (px)

Citation preview

1

TI2007/08 MEA_1

Cadeira de Tecnologias de Informação

Ano lectivo 2007/08

Prof. Mário Caldeira

Profª Ana Lucas

Dr. Fernando Naves

Engª Winnie Picoto

Engº Luis Vaz Henriques

Dr. José Camacho

Modelo Entidade-Associação

TI2007/08 MEA_2

• Técnica para modelizar os dados de um sistema de informação

• Modelo conceptual independente datecnologia

O Que é?

2

TI2007/08 MEA_3

Vantagens

• Questionar regras da organização

• Salientar novas necessidades de informação

• Revelar incoerências actuais

• Construção faseada, “ Top-Down ”

• Facilidade de comunicação entreutilizadores e informáticos

TI2007/08 MEA_4

Níveis de descrição

Gráfico

Diagrama Entidade/Associação

Descritivo

Especificações para cadacomponente do modelo

Entidades Associações

Descrição

ENTIDADES

Descrição

ASSOCIAÇÕES

Descrições de

ATRIBUTOS

3

TI2007/08 MEA_5

Análise das necessidades informacionais e

elaboração do modelo Entidade-Associação

Análise das necessidades informacionais e

elaboração do modelo Entidade-Associação

Transformação do Modelo EA num conjunto de

tabelas

Transformação do Modelo EA num conjunto de

tabelas

Normalização das tabelasNormalização das tabelas

Etapa 1

Etapa 3

Etapa 2

Modelo EA

Tabelas não normalizadas

Tabelas normalizadas

Análise e Concepção

Desenho

Etapas da Modelização da Informação

TI2007/08 MEA_6

Conceitos básicos

– Entidade

– Associação

– Entidade Associativa

– Atributo

4

TI2007/08 MEA_7

Entidade

Qualquer objecto ou conceito com interesse para

a organização, sobre o qual se quer guardar

informação e que possa ser identificável de

forma inequívoca

Exemplos:

• Contrato

• Produto

• Cliente

• Fornecedor

«Nome-da-Entidade»

TI2007/08 MEA_8

Atributo

• Propriedade que caracteriza uma entidadeExemplos:

• Nº de Cliente

• Nome de Cliente

• Morada de Cliente

• ...

• Elementos atómicos que assumem valores

de um domínio

Propriedades da Entidade “Cliente ”

5

TI2007/08 MEA_9

Tipos de Atributos

• Identificadores ou Chaves Candidatas

• são os atributos de uma entidade que identificam, de

forma inequívoca, uma ocorrência específica dessa

entidade, distinguindo-a das restantes.

• Descritores

• são os atributos que apenas descrevem ou caracterizam

as ocorrências de uma entidade

TI2007/08 MEA_10

Exemplo : Uma entidade “FUNCIONÁRIO” com as seguintes ocorrências:

O único identificador desta entidade é o atributo “Nº FUNCIONÁRIO”

Nº Funcionar. Nome Categoria

1234

1235

1236

1237

Silva

Martins

Silva

Lopes

J

H

L

L... ... ...

Identificador ou Chave Candidata

6

TI2007/08 MEA_11

Descrição de uma Entidade

Uma possível representação da descrição de uma entidade é:

Cliente

Nº Cliente

Nome Cliente

Morada

Telefone

Nº Contribuinte

...

Identificadores

Nº Cliente

Nº Contribuinte

EmpregadoNº Empregado

Nome Empregado

Morada

B.I.

Local Emissão B.I.

Telefone

Data Nascimento

Nº Contribuinte

IdentificadoresNº Empregado

B.I. + Local Emissão

Nº Contribuinte

TI2007/08 MEA_12

Associação

Representa uma interligação relevante entre entidades do

sistema

•Uma associação pode ser:

–Binária• Relaciona duas entidades entre si

–Unária• Relaciona uma entidade consigo própria

Nome da associação

7

TI2007/08 MEA_13

Associação Binária

• Exemplo

– Uma associação que relaciona “Empregado” com “Departamento” pode representar:

• Os empregados afectos a um departamento

• A que departamento está afecto um empregado

Departamento EmpregadoTem afecto

TI2007/08 MEA_14

Associação Unária

• Exemplo

– Uma associação que relacione a entidade“Empregado” consigo própria assente no conceitochefe/subordinado, sendo garantido que:

• nem todos os empregados têm chefe

• um chefe pode ter mais do que um subordinado

Empregado

Responsável por

8

TI2007/08 MEA_15

Graus de uma Associação

A cada extremo de uma associação correspondem dois graus:

•Inferior• Número mínimo possível de ocorrências (“0” ou “1”)

•Superior• Número máximo possível de ocorrências (“1” ou “N”)

Cliente FacturaTem

Inferior

Cliente FacturaTem

Superior

TI2007/08 MEA_16

Grau de uma Associação

• Exemplo

• Um departamento tem afectos vários empregados

(eventualmente só um ou mesmo nenhum), e um

empregado está obrigatoriamente afecto a apenas um e

um só departamento

Departamento EmpregadoAfecto

9

TI2007/08 MEA_17

Entidade Associativa

• Existem situações em que as associações têmatributos próprios– Exemplo

• Uma associação que relacione fornecedor com produto, para além de indicar quais os fornecedores de um produtoe quais os produtos fornecidos por um fornecedor, poderátambém conter o preço pelo qual um fornecedor fornece

esse produto.

• Neste caso, a associação será “promovida” a entidade e e staé referida por “ Entidade Associativa ”

Fornecedor LinhaCatálogo

ProdutoPertence Refere

TI2007/08 MEA_18

Entidades versus Associações

Para distinguir Entidades de Associações podemos

socorrer-nos do vocabulário utilizado pelas

organizações

Geralmente utilizam-se:

– Substantivos - para referenciar Entidades

– Verbos - para referenciar Associações

10

TI2007/08 MEA_19

Definições versus Conteúdo

Estamos perante:

– Uma entidade ARMAZÉM com 2 ocorrências, e uma entidade

PRODUTO com 5 ocorrências

– Uma associação ARMAZENA com 3 ocorrências

Definição:

Produto 1

Armazém 1

Armazém 2

Armazém

Conteúdo:

Armazém ProdutoArmazena

Produto

Produto 2

Produto 3

Produto 4

Produto 5

TI2007/08 MEA_20

Notação

Conceito Representação

Entidade

Associação

EntidadeAssociativa

Nome

11

TI2007/08 MEA_21

Método de Construção do Modelo EA

Etapa 1 - Pesquisar Entidades e Atributos

Etapa 2 - Identificar Associações

Etapa 3 - Pesquisar Entidades Associativas

Etapa 4 - Validar o Modelo Global Encontrado

TI2007/08 MEA_22

Tipificação das Entidades

Para melhor identificar as ENTIDADES vamos começar por efectuar

alguma tipificação suplementar (notar que as ENTIDADESASSOCIATIVAS já constituem uma 1ª tipificação do conceito geral

de ENTIDADE).

Para uma melhor compreensão utilizaremos um modelo simplificado

de um Sistema de Gestão de Alunos de uma Universidade

Etapa 1 - Pesquisar Entidades e Atributos

12

TI2007/08 MEA_23

Entidades Fundamentais

São as Entidades Estruturantes ou Básicas para o sistema em

análise.

Ex:

Aluno Curso Disciplina

Etapa 1 - Pesquisar Entidades e Atributos

TI2007/08 MEA_24

Entidades Descodificadoras

São Entidades cuja existência apenas se justifica pela

necessidade de Descodificação.

As Entidades Fundamentais só “dependem” das Entidades Descodificadoras e estas

não dependem de quaisquer Entidades, excepto eventualme nte de outras

Descodificadoras

SexoSexo

Código_S

Designação_S

Identificador

Código_S

Etapa 1 - Pesquisar Entidades e Atributos

M – MasculinoF - Feminino

Ex:

13

TI2007/08 MEA_25

Entidades Atributivas

São Entidades cuja existência apenas se justifica pela

necessidade de utilização de atributos repetitivos, p. ex. TELEFONE de um ALUNO, e pelo facto do modelo relacion al,

que irá suportar a respectiva base de dados, não aceitar este

tipo de atributos (ver-se-á posteriormente que violam a 1 ª

Forma Normal).

As Entidades Atributivas não podem existir independentem ente

da respectiva Entidade Fundamental (no caso ALUNO) e do seuidentificador faz parte o identificador daquela.

Etapa 1 - Pesquisar Entidades e Atributos

TI2007/08 MEA_26

Entidades Atributivas (Cont.)

Ex:Aluno Telefone_

AlunoAluno

Número

BI

Local_de_emissão_BI

Data_Nascimento

Morada

…...

Identificadores

Número

BI+ Local_de_emissão_BI

Telefone_Aluno

Número_Aluno

N_Telefone

Identificador

Número_Aluno+ N_Telefone

Etapa 1 - Pesquisar Entidades e Atributos

14

TI2007/08 MEA_27

Como distinguir Entidades e Atributos?

As ENTIDADES são caracterizadas através de vários descr itores ,

contrariamente aos ATRIBUTOS.

Se, para além do identificador, existe pelo menos um des critor para

caracterizar um objecto então trata-se de uma ENTIDADE.

Se, pelo contrário, apenas existe um identificador , então estamos perante

um ATRIBUTO.

Ex: Considere-se o conceito “Sexo”. Se o pretendemos codificar, como aliás

deve ser feito, criamos uma Entidade Descodificadora Sexo, cujo Identicador é

Cod_Sexo e que conta com o Descritor “Designação”. Caso contrário “Sexo”

entendido como “Designação_Sexo” é um atributo de Aluno.

Etapa 1 - Pesquisar Entidades e Atributos

TI2007/08 MEA_28

Como encontrar Associações?

Etapa 2 - Pesquisar Associações

É frequente que em qualquer conjunto coerente de informaç ão cada

entidade esteja relacionada com quase todas as outras.

Não é, contudo, desejável/conveniente contemplar todas as associações

possíveis no nosso modelo de dados.

Deve-se procurar identificar as associações que :

– sejam intrínsecas ao sistema

– sejam importantes em função das necessidades de tra tamento

15

TI2007/08 MEA_29

Atribuir Nomes às Associações?

Um nome sugere uma direcção na associação, mas as associa ções

são, por natureza, bidireccionais.

Na atribuição de nomes às Associações alguns problemas se podem

colocar.

Ex:

Deve, sempre que possível, utilizar-se verbos na sua for ma mais

sugestiva.

Aluno Telefone_Aluno

Tem Afecto?

Está Afecto?

Etapa 2 - Pesquisar Associações

TI2007/08 MEA_30

Etapa 3 - Pesquisar Entidades Associativas

Aluno Aprovação Disciplina

Nesta fase de construção do Diagrama Entidade-Associaçã o, é útil

identificar quais as associações que têm atributos própri os que

explicitem a sua natureza.

Ex:

“Aprovação” para além de associar Aluno com Disciplina, tem

atributos próprios tais como a classificação e a data da aprovação do

Aluno na Disciplina

16

TI2007/08 MEA_31

Etapa 4 - Validação do Modelo Global

O Diagrama EA deve ser validado de modo a:

– Eliminar possíveis erros de interpretação;

– Representar a realidade de forma conveniente, face à f orma

como os dados vão ser utilizados.

TI2007/08 MEA_32

Etapa 4 - Validação do Modelo Global

Orientações para a validação

Por vezes, entre duas entidades, existem associações com

diferentes significados, que não são contempladas na anál ise.

Deve ser analisada cuidadosamente a semânticadas associações!

17

TI2007/08 MEA_33

Etapa 4 - Validação do Modelo Global

Os Alunos relacionam-se com Disciplinas de várias form as:

– Inscrevem-se em Disciplinas;

– Obtêm aprovação em Disciplinas.

Assim sendo, a Associação anterior não permite represen tar as duas

formas de relacionamento das duas Entidades

Aluno Disciplina

TI2007/08 MEA_34

Etapa 4 - Validação do Modelo Global (Cont)

Para permitir resolver a situação são necessárias duas

Associações: uma que represente a Inscrição e outra a

Aprovação. Vimos atrás que a Aprovação adquire o estatut o de

Entidade Associativa por dispôr de atributos próprios.

O modelo que resolve a semântica é o seguinte:

Aluno Aprovação Disciplina

Está inscrito

18

TI2007/08 MEA_35

Cadeira de Tecnologias de Informação

Ano lectivo 2007/08

Prof. Mário Caldeira

Profª Ana Lucas

Dr. Fernando Naves

Engª Winnie Picoto

Engº Luis Vaz Henriques

Dr. José Camacho

Transformação do Modelo EA num Conjunto de Tabelas

TI2007/08 MEA_36

Empregado (Nº_Empregado , Nome,......…, Cod_dept ,......)

Nome da Tabela Identificador Restantes AtributosPróprios da Tabela

Representação

Identificadores de Outras Tabelascom as quais esta se Relaciona

19

TI2007/08 MEA_37

Cada Entidade dá normalmente origem a uma tabela, com:

• Identificador da Entidade Chave da Tabela

• Descritores da Entidade Outros Atributos da Tabela

• Identificadores de outras Entidades que eventualmente lh e

estejam associadas Chaves Estrangeiras

Entidades

TI2007/08 MEA_38

Associações 1:N

Esta situação é representada por duas tabelas, uma para cad a entidade.

DEPARTAMENTO (Cod_Dept , Designação, ......)

EMP (Nº_Emp, Nome, ......, Cod_Dept)

DEPARTAMENTO EMPREGADO

Trabalha

Associações Binárias

20

TI2007/08 MEA_39

São um caso particular das associações 1:N

Associações 1:1

Para representar esta situação são necessárias duas tabel as, uma para cada

entidade

Caso uma das entidades seja não obrigatória, colocar o id entificador dessa

entidade na tabela correspondente à entidade obrigatória

EMPREGADO (Nº_Emp , Nome, ......)

AUTOMÓVEL (Matrícula , Marca, ........, Nº_Emp)

EMPREGADO AUTOMÓVELutiliza

Associações Binárias

TI2007/08 MEA_40

Associações M:N

Independentemente das obrigatoriedades, esta situação é sempre representada

por três tabelas, uma para cada entidade e uma para a assoc iação.

FORNECEDOR (Cod_Forn , Nome, ......)

PRODUTO ( Cod_Prod , Designação, ...... )

FORNECE ( Cod_Forn, Cod_Prod )

FORNECEDOR PRODUTOfornece

Associações Binárias

21

TI2007/08 MEA_41

Associações 1:N

Esta situação é representada por uma única tabela,

EMPREGADO (Nº_Emp , Nome, ......,Nº_Emp_Chefe)

EMPREGADO

chefia

Associações Unárias

Representação Idêntica à das Associações Binárias 1:N

TI2007/08 MEA_42

Esta situação é representada por uma única tabela.

PILOTO (Nº_Piloto , Nome, ...... , Nº_COMANDANTE)

Associações 1:1

Piloto

Co-piloto

Associações Unárias

São, tal como nas Associações Binárias, um caso particul ar das

Associações Unárias 1:N

22

TI2007/08 MEA_43

Associações M:N

Independentemente das obrigatoriedades, esta situação é sempre representada por

duas tabelas, uma para a entidade, outra para a associaç ão.

PEÇA (Cod_Peça , ......)

ESTRUTURA ( Cod_Peça_Pai, Cod_Peça _Filho )

PEÇA

estrutura

Associações Unárias

TI2007/08 MEA_44

Cadeira de Tecnologias de Informação

Ano lectivo 2007/08

Prof. Mário Caldeira

Profª Ana Lucas

Dr. Fernando Naves

Engª Winnie Picoto

Engº Luis Vaz Henriques

Dr. José Camacho

NormalizaNormaliza ççãoão de de TabelasTabelas

23

TI2007/08 MEA_45

Após a construção do modelo comceptual dos dados (Model oEntidade/Associação) é feita a transformação para o mod elo lógico(Esquema de Tabelas).

O Desenho de Tabelas obtido representa a estrutura dainformação de um modo natural e completo.

Mas terá o mínimo de redundância possível ?

A Normalização tem como objectivo avaliar a qualidade do Desenho de Tabelas e transformá-lo (em caso de necessi dade) num Desenho (Conjunto de Tabelas) equivalente, menosredundante e mais estável.

Normalizar Porquê ?

TI2007/08 MEA_46

Etapas

ModeloEA

TabelasNão

Normalizadas

1ª FormaNormal(1FN)

2ª FormaNormal(2FN)

3ª FormaNormal(3FN)

EliminarGrupos deAtributos

Repetitivos

EliminarDependências

Funcionais (DF´s)Parciais

EliminarDF´s

Transitivas

24

TI2007/08 MEA_47

Exemplo

Numa Escola, pretende-se manter informação sobre:

– os Estudantes da escola (nº interno, nome e curso a quepertencem);

– as Disciplinas que são ministradas na escola (nº disciplin a e nome);

– os Professores contratados pela escola (código, nome e gr auacadémico);

– Inscrições dos Alunos em Disciplinas;

– Notas obtidas pelos alunos nas disciplinas em que estãoinscritos.

TI2007/08 MEA_48

Uma Relação está na 1ª Forma Normal (1NF) se não contém grupos de atributos repetitivos

Uma Relação está na 1ª Forma Normal (1NF) se não contém grupos de atributos repetitivos

Definição de 1ª FORMA NORMAL

Dado que as Tabelas são estruturas bidimensionais, entã o no cruzamento de uma linha com uma coluna (atributo) só é pos sívelarmazenar valores atómicos.

25

TI2007/08 MEA_49

Relação Não Normalizada

Esta Tabela foi desenhada para representar Inscriçõese Aprovaçõesde Alunos em Disciplinas. Cadaestudante está inscrito e/ou já foi aprovado em várias disciplinas, com a informação correspondente. Assim, temos um grupo de atributos repetitivo :

NºDisciplina, NomeDisciplina, Cod.Professor, Nome Professor, CategoriaProfessor, Nota

Relação NOTAS

Dados em forma tabular, conforme são visualizados peloutilizador.

NºEstudante

NomeEstudante

CursoNº

DisciplinaNome

DisciplinaCod

ProfessorNome

Professor Nota

21934 Antunes Informática 04 Álgebra 21 Gil Alves 1514 Análise Sist. 87 Ana Lopes -23 Progr.Linear 43 Paulo Pinto 16

42346 Bernardo Matemática 08 Topologia 32 Nuno Neves 1004 Álgebra 21 Gil Alves -12 Geometria 21 Gil Alves 1816 Lógica 32 Nuno Neves 13

54323 Correia Estatística 04 Álgebra 21 Gil Alves 1108 Topologia 32 Nuno Neves 10

... ... ... ... ... ... ... ...

CategoriaProfessor

PAPCASAEPAPAAEPAAE...

TI2007/08 MEA_50

NºEstudanteNomeEstudante

CursoNºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor Nota

NºEstud. NomeEstudante Curso

21934 Antunes Informática42346 Bernardo Matemática54323 Correia Estatística

... ... ...

Chave

Relação ESTUDANTENºEstudante

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor Nota

21934 04 Álgebra 21 Gil Alves 1514 Análise Sist. 87 Ana Lopes 1223 Progr.Linear 43 Paulo Pinto 16

42346 08 Topologia 32 Nuno Neves 1004 Álgebra 21 Gil Alves 1212 Geometria 21 Gil Alves 1816 Lógica 32 Nuno Neves 13

54323 04 Álgebra 21 Gil Alves 1108 Topologia 32 Nuno Neves 10

... ... ... ... ... ...

2193421934

423464234642346

54323

Chave Relação NOTAS

1ª Forma Normal

26

TI2007/08 MEA_51

– REMOÇÃO

Se quisermos apagar a informação sobre todos os alunosaprovados ou inscritos numa determinada disciplina, entã operdemos toda a informação dessa disciplina e do respect ivoprofessor.

– ACTUALIZAÇÃO

Se pretendermos modificar o nome de uma disciplina (por e xemploÁlgebra passa a Álgebra e Aplicações) é necessário perco rrer toda a tabela e fazer essa modificação para todos os alunos inscri tos ouaprovados nessa disciplina;

No caso de falhar a aplicação de modificação em alguma o corrência, então teríamos dados inconsistentes .

1ª FORMA NORMAL

Problemas na relação NOTAS

TI2007/08 MEA_52

Por vezes, dois atributos (ou dois grupos de atributos) e stãointrinsecamente ligados entre si.

Ex:

Nº Cliente Nome Cliente

Num determinado instante, em qualquer ponto da B.D. ond e figuremestes dois atributos, a um mesmo nº de cliente corresponderánecessáriamente o mesmo nome (*)

(*) Note que o inverso poderá não ser verdade!

Dependências Funcionais

27

TI2007/08 MEA_53

Nº Cliente Nome Cliente

Diz-se então que Nome Cliente "depende " de NºCliente

ou que NºCliente " identifica " Nome Cliente

Isto é

Existe uma

Dependência Funcionalentre aqueles atributos

Dependências Funcionais

TI2007/08 MEA_54

Uma relação está na 2ª Forma Normal se está na primeira e se todos os atributos descritores dependerem da totalidade do identificador (e não apenas de parte dele).

Uma relação está na 2ª Forma Normal se está na primeira e se todos os atributos descritores dependerem da totalidade do identificador (e não apenas de parte dele).

Definição de 2ª FORMA NORMAL

28

TI2007/08 MEA_55

Chave

Os atributosNome Disciplina, Cod-Professor, Nome-Professor e Categoria-Professor dependem apenas do atributoNº Disciplina (que está estritamentecontido na chave da tabela)

NºEstudante

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor Nota

21934 04 Álgebra 21 Gil Alves 1514 Análise Sist. 87 Ana Lopes 1223 Progr.Linear 43 Paulo Pinto 16

42346 08 Topologia 32 Nuno Neves 1004 Álgebra 21 Gil Alves 1212 Geometria 21 Gil Alves 1816 Lógica 32 Nuno Neves 13

54323 04 Álgebra 21 Gil Alves 1108 Topologia 32 Nuno Neves 10

... ... ... ... ... ...

2193421934

423464234642346

54323

CategoriaProfessor

PAPCASAEPAPAAEPAAE...

Relação NOTAS

Dependências Parciais

TI2007/08 MEA_56

NºEstudante

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor

Nota

NºEstudante

NºDisciplina Nota

21934 04 1514 1223 16

42346 08 1004 1212 1816 13

54323 04 1108 10

... ... ...

2193421934

423464234642346

54323

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor

04 Álgebra 21 Gil Alves14 Análise Sist. 87 Ana Lopes23 Progr.Linear 43 Paulo Pinto08 Topologia 32 Nuno Neves12 Geometria 21 Gil Alves16 Lógica 32 Nuno Neves... ... ... ...

Chave e atributos quedependem da totalidade desta Atributos que dependem de parte da

chave mais a referida parte da chave

CategoriaProfessor

PAPCASAEPAAE...

CategoriaProfessor

Relação NOTA

Relação DISCIPLINA

2ª Forma Normal

29

TI2007/08 MEA_57

Uma relação está na 3ª Forma Normal se está na 2ªForma Normal e se não existirem atributos descritor es a dependerem funcionalmente de outros atributos descritores (não identificadores) - Dependências Transitivas.

Assim sendo, cada atributo deve depender apenas do Identificador da Tabela

Uma relação está na 3ª Forma Normal se está na 2ªForma Normal e se não existirem atributos descritor es a dependerem funcionalmente de outros atributos descritores (não identificadores) - Dependências Transitivas.

Assim sendo, cada atributo deve depender apenas do Identificador da Tabela

Definição de 3ª FORMA NORMAL

TI2007/08 MEA_58

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor

04 Álgebra 21 Gil Alves14 Análise Sist. 87 Ana Lopes23 Progr.Linear 43 Paulo Pinto08 Topologia 32 Nuno Neves12 Geometria 21 Gil Alves16 Lógica 32 Nuno Neves... ... ... ...

CategoriaProfessor

PAPCASAEPAAE...

Os atributos Nome Professor e Grau Professor dependem do atributo Cod.Professor (que não é chave da tabela) e portantoNºDisciplina→Cod.professor, NºDisciplina→Nome.professor e NºDisciplina→Categoria.professor não DF´s são directas (diz-se então que são Transitivas).

Relação DISCIPLINASChave

Dependências Funcionais Directas

30

TI2007/08 MEA_59

NºDisciplina

NomeDisciplina

CodProfessor

04 Álgebra 2114 Análise Sist. 8723 Progr.Linear 4308 Topologia 3212 Geometria 2116 Lógica 32... ... ...

CodProfessor

NomeProfessor

21 Gil Alves87 Ana Lopes43 Paulo Pinto32 Nuno Neves... ...

Atributos que dependemdo atributo não chave +

esse atributo

NºDisciplina

NomeDisciplina

CodProfessor

NomeProfessor

CategoriaProfessor

CategoriaProfessor

PAPCASAE...

Relação DISCIPLINARelação PROFESSOR

Atributos que apenasdependem da chave

3ª Forma Normal

TI2007/08 MEA_60

1ª Forma Normal

Uma relação está na 1ª Forma Normal se e só se não contém atributos ou grupos de atributos repetitivos.

⇒ Cada linha de uma tabela tem um só valor para cada atributo.

Exemplo (dados referentes a uma encomenda de livros - estrutura não normalizada):

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Título, Autor(es), Quantidade, Preço, Valor-total)

Na 1ª Forma Normal:

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Título, Quantidade, Preço, Valor-total)

Autoria (ISBN, Autor)

Normalização - Exemplo

31

TI2007/08 MEA_61

2ª Forma Normal

Uma relação está na 2ª Forma Normal se está na primeira e se todos os atributos descritores dependerem da totalidade do identificador.

Exemplo (na 1ª FN):

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Título, Quantidade, Preço,Valor-total)

Autoria (ISBN, Autor)

Aplicando a 2ª Forma Normal:

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Quantidade, Valor-total)

Autoria (ISBN, Autor)

Livro (ISBN, Título, Preço)

Normalização - Exemplo

TI2007/08 MEA_62

3ª Forma Normal

Uma relação está na 3ª Forma Normal se está na 2ª Forma Normal e se não existirem atributos descritores a dependerem funcionalmente de outros atributos descritores (não identificadores).

Exemplo (na 2ª FN):

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Quantidade, Valor-total)

Autoria (ISBN, Autor)

Livro (ISBN, Título, Preço)

Na 3ª Forma Normal:

Pedido_Livro ( Nome-cliente, ISBN, Data-pedido, Quantidade, Valor-total)

Autoria (ISBN, Autor)

Livro (ISBN, Título, Preço)

Normalização - Exemplo