ACCESS
Base de Dados para a Gestão de Informação de Natureza
Pedagógica
@ Rafael Machado – 2004
e-mail: [email protected]
ACCESS – Normalização
 Normalização


É um processo que consiste em estruturar as tabelas e os
atributos na forma mais adequada, do ponto de vista das
operações a executar sobre a informação registada na base de
dados, tendo em vista eliminar redundâncias desnecessárias e
evitar problemas com a inserção, eliminação e actualização
de dados.
Existem 3 Formas normais:



Primeira Forma Normal (1FN)
Segunda Forma Normal (2FN)
Terceira Forma Normal (3FN)
ACCESS – Normalização
 Primeira Forma Normal (1FN)

Uma tabela está na primeira forma normal (1FN) quando
todos os seus atributos são elementares. Não pode existir um
conjunto de valores para um determinado atributo.

Exemplo: Registo da informação sobre alunos e respectivas disciplinas.
 Esta tabela não está na 1FN!
ACCESS – Normalização
 Primeira Forma Normal (1FN)


Tabela na 1FN
Uma possível tabela, com a respectiva chave primária:
Alunos-Disciplinas (IdAluno, Nome, Morada, IdDisciplina, Disciplina,
IdProfessor, Professor)
ACCESS – Normalização
 Primeira Forma Normal (1FN)

Problemas com a 1FN

A BD ocupa mais espaço em disco (redundância de informação)
 Repetição da morada, disciplina, nome, …

Problemas de actualização
 Alteração da morada… inconsistência de informação

Problemas de inserção
 Inserir um aluno que não esteja matriculado a nenhuma
disciplina

Problemas de eliminação
 Anular matrícula.. Pode perder-se informação do aluno
ACCESS – Normalização
 Segunda Forma Normal (2FN)

Uma tabela está na segunda forma normal (2FN) quando
estiver na 1FN e os seus atributos que não fazem parte da
chave primária dependerem funcionalmente da chave primária.

A tabela:
Alunos-Disciplinas (IdAluno, Nome, Morada, IdDisciplina, Disciplina,
IdProfessor, Professor)
não está na 2FN, pois os atributos Nome e Morada dependem de parte
da chave primária (IdAluno), bem como o atributo Disciplina,
IdProfessor e Professor, que depende de outra parte da chave
primária (IdDisciplina).

Tabelas na 2FN:
Alunos-Disciplinas (IdAluno, IdDisciplina)
Alunos (IdAluno, Nome)
Disciplinas (IdDisciplina, Disciplina, IdProfessor, Professor)
ACCESS – Normalização
 Terceira Forma Normal (3FN)

Uma tabela está na terceira forma normal (3FN) quando
estiver na 2FN e nenhum atributo que não seja parte da chave
primária depender funcionalmente de outros atributos que não
sejam parte da chave primária.

É necessário verificar, tabela a tabela:
As tabelas seguintes já estão na 3FN:
Alunos-Disciplinas (IdAluno, IdDisciplina)
Alunos (IdAluno, Nome)
A tabela seguinte não está na 3FN
Disciplinas (IdDisciplina, Disciplina, IdProfessor, Professor)
pois o atributo Professor depende funcionalmente de IdProfessor que não é
um atributo que faça parte da chave primária.
ACCESS – Normalização
 Terceira Forma Normal (3FN)

Desta forma, obtemos as seguintes tabelas normalizadas (3FN):
Alunos-Disciplinas (IdAluno, IdDisciplina)
Alunos (IdAluno, Nome)
Disciplinas (IdDisciplina, Disciplina, IdProfessor)
Professores (IdProfessor, Professor)
ACCESS – Normalização
 Modelo E-R Simplificado
ALUNOS
1
N
ALUNOSDISCIPLINAS
N
1
DISCIPLINAS
N
1
PROFESSORES

Regras:

Onde o atributo é Chave Primária, tem o grau 1.

Onde o atributo é Chave Externa, tem o grau N.
ACCESS – Normalização
 Exemplo de Aplicação
Matricula
Classificação
N
N
N
N
Inscrição
ALUNOS
1
N
N
CADEIRAS
N
Lecciona
1
DEPARTAMENTOS
N
1
Pertence
PROFESSORES
Pertence
1
CURSOS
ACCESS – Normalização
 Exemplo de Aplicação

Considerando o diagrama E-R, apresentado no diapositivo
anterior, proceder à derivação das respectivas tabelas, à sua
normalização e respectivo modelo E-R simplificado, , tendo em
conta as seguintes entidades e respectivos atributos:

Alunos (CodAluno, Nome, Morada, FotoAluno)

Cursos (CodCurso, Curso)

Cadeiras (CodCadeira, Cadeira, Ano, Semestre)

Professores (CodProfessor, Professor)

Departamentos (CodDepartamento, Departamento)
ACCESS – Normalização
 Resolução

Conjunto de Tabelas Normalizadas

Alunos (CodAluno, Nome, Morada, FotoAluno)

Cursos (CodCurso, Curso)

Cadeiras (CodCadeira, Cadeira, Ano, Semestre, CodProfessor, CodCurso)

Professores (CodProfessor, Professor, CodDepartamento)

Departamentos (CodDepartamento, Departamento)

Inscricao (CodAluno, CodCadeira)

Classificacao (CodAluno, CodCadeira, Data , Classificacao)

Matricula (CodAluno, CodCurso, DataMatricula)
ACCESS – Normalização
 Modelo E-R Simplificado
Download

ACCESS