Você está na página 1de 125

Introdução à Banco de Dados

Introdução à Banco de
Dados
Agenda
 O que é Banco de Dados
 Como ele funciona
 Sistema Gerenciador de Banco de Dados
 Modelagem de Dados
 Modelo de dados Entidade-Relacionamento
 Modelo de dados Relacional
 Mapeamento MER
 Normalização de dados
O que são Banco de Dados?
 Uma base de dados é um conjunto de
arquivos relacionados entre si. (CHU 1983)
 Uma base de dados é uma coleção de dados
operacionais armazenados, usados pelos
sistemas de aplicação de uma determinada
organização. (Date,1985)
 Uma base de dados é uma coleção de dados
relacionados. (Elmasri e Navathe 1989)
Conceitos Gerais
 Banco de Dados - Representa o arquivo físico de dados,
armazenado em dispositivos periféricos, onde estão
armazenados os dados de diversos sistemas, para consulta e
atualização pelo usuário.
 Dado - É o valor do campo quando é armazenado no Banco
de Dados.
 Tabelas Lógicas - Representam as estruturas de
armazenamento de dados (arquivos) dos sistemas.
 S.G.D.B. (Sistema Gerenciador de Banco de Dados) - É
o software responsável pelo gerenciamento (armazenamento
e recuperação) dos dados no Banco de Dados.
 Conteúdo do campo - É o valor do campo armazenado no
Banco de Dados.
 Modelo de Banco de Dados: Modelo Relacional, Modelo
Hierárquico e Modelo em Rede. Representa a estrutura física
no qual o armazenamento dos dados foram projetados. O
modelo identifica a estrutura interna de recuperação e
armazenamento dos dados no qual o SGBD foi projetado.
Propriedades genéricas
 Um Bd é uma coleção de dados logicamente
relacionados, com algum significado.
 implica em que associações aleatórias de dados não possam
ser chamadas de bases de dados.
 Um Bd é projetado, construído e preenchido com
dados para um propósito específico.
 Possui um grupo de usuários e algumas aplicações
concebidas para atender a esses usuários .
 Um Bd é a representação de algum aspecto do
mundo real.
 nos leva a que, qualquer mudança na realidade, provocará
mudanças nessa base de dados.
Visões do Banco de Dados
 Visão Interna
 É aquela vista pelo responsável pela manutenção
e desenvolvimento do SGBD. Existe a preocupação
com a forma de recuperação e manipulação dos
dados dentro do Banco de Dados.
 Visão Externa
 É aquela vista pelo usuário que opera os sistemas
aplicativos, através de interfaces desenvolvidas
pelo analista (programas), buscando o
atendimento de suas necessidades
Visões do Banco de Dados
 Visão Conceitual
 É aquela vista pelo analista de desenvolvimento e
pelo administrador das bases de dados. Existe a
preocupação na definição de normas e
procedimentos para manipulação dos dados, para
garantir a sua segurança e confiabilidade, o
desenvolvimento de sistemas e programas
aplicativos e a definição no banco de dados de
novos arquivos e campos. Na visão conceitual,
existem 2 (duas) linguagens de operação que são:
Visões do Banco de Dados
 Linguagem de definição dos dados (DDL)
- Linguagem que define as aplicações, arquivos
e campos que irão compor o banco de dados
(comandos de criação e atualização da
estrutura dos campos dos arquivos).
 Linguagem de manipulação dos dados
(DML) - Linguagem que define os comandos
de manipulação e operação dos dados
(comandos de consulta e atualização dos dados
dos arquivos).
Sistema Gerenciador de
Banco de Dados
Sistema Gerenciador de
Bancos de Dados (SGBD)
 É uma coleção de programas que permitem
aos usuários definirem, construírem e
manipularem uma base de dados para o uso
das diversas aplicações.

SGBD
usuários /programadores

Programas de aplicação/consultas

Software para processar


Consultas/Programas
SGBD

Software para Acessar Dados


Armazenados

Definição da Base de
Base de Dados
Dados Armazenada
Armazenada
Profissionais Envolvidos
 Administrador de Banco de Dados:
 responsável por autorizar o acesso ao banco de
dados e coordenar e monitorar seu uso.
 Projetista do Banco de Dados:
 responsável pela identificação dos dados a serem
armazenados no banco de dados; por escolher
estruturas apropriadas para representar e
armazenar tais dados
Profissionais Envolvidos
 Usuários Finais:
 Profissionais que precisam ter acesso ao banco de
dados para consultar, modificar e remover dados
 Analistas de Sistemas e Programadores de
Aplicação:
 Os analistas desenvolvem especificações das
transações que atendem aos requisitos dos usuários,
e os programadores implementam estas
especificações produzindo os programas. Devem
estar familiarizados com todas as capacidades do
SGBD
Surgimento de SGBDs
 Programas gravam seus dados em
disco, segundo estruturas próprias. Para
acessá-los é necessário conhecer sua
estrutura.
SGBDs
 Se vários programas compartilham seus dados, todos
devem conhecer e manipular as mesmas estruturas.
 Se algum programa precisar de alguma mudança na
estrutura de dados, todos os programas terão que
ser alterados, mesmo que a alteração ocorra em
dados que ele não utiliza.
SGBDs
 Solução: colocar um sistema entre os dados e
os programas, que converta o formato em
que os dados estão gravados para o formato
específico que cada programa precisa dos
dados.
SGBDs
 Cada programa:
 “Vê” apenas os dados que lhe interessam;
 Não precisam entrar em detalhes de como seus
dados estão fisicamente gravados;
 Não precisa ser modificado se a estrutura de
dados que ele não utiliza for mudada
Propriedades de SGBDs
 Consistência de dados:
 O SGBD avalia os dados recebidos através
de regras de integridade, garantindo que
sempre estejam corretos.
 Validade:
 Os dados são válidos quando pertencem ao
domínio de valores possíveis naquele caso.
Sistema Gerenciador de Bancos de
Dados

Programas de
Esquema de Conversão Banco de Dados
Aplicação
Propriedade de SGBD:
Validade
Nome Endereco Telefone

José de Almeida R. Tulipas 89 0162761112

Jose da Silva Av. Clóvis Penteado 98 Residencial

Aparecido Navarro R. Marechal Deodoro 0192445618

Dado inválido !
Propriedade de SGBD
 Completeza:

 Todos os dados que precisam ser conhecidos


estão disponíveis.

 Consistência:

 Sempre que a mesma informação é gravada,


mesmo que em locais diferentes, ela tem o
mesmo valor.
Exemplos de SGBDs

Sybase Gupta Access


Oracle Postgress Orion
Informix SQL-Server O2
CA-OpenIngres DBase Jasmine
DB2 Paradox Firebird
Dataflex Unify
ZIM FoxPro
Modelagem de Dados
Modelo de Dados
 Coleção de elementos de representação com
propriedades semânticas e sintáticas pré-
definidas
 Um elemento ou um conjunto de elementos
de representação são agrupados e
organizados para representar uma porção do
“mundo real”, constituindo um “esquema de
dados” compreensível pelo gerenciador.
Modelo de Dados
Programas de
Aplicação

Tradução

Esquema de
Esquema de Dados
Conversão segundo um Modelo
de Dados

Tradução
Banco de
Dados
Dúvidas que permanecem...
Programas de
Aplicação
Como preparar os
dados
adequadamente?

Como armazenar
os dados
SGBD
adequadamente?

Banco de Dados Qual SGBD


utilizar?
Respondendo às perguntas...
Programas de
Aplicação
Esquematizando-os
segundo uma
estrutura
padronizada!

Esquema
do Banco de Dados!

Banco de
Dados
Esquema de
Banco de Dados

Nome Endereço Telefone


José de Almeida R. Tulipas 89 016-2761112

Maria Dias Av. Clóvis Penteado 011-8548620

98
R. Marechal Deodoro 019-2445618
Aparecido Navarro

Esquema

Nome Endereço Telefone


Esquema de
Banco de Dados

É uma forma de representação estruturada


dos dados, segundo um determinado padrão,
para que possam ser “entendidos” pelo SGBD
utilizado.

um determinado padrão Modelos de Dados


Modelo de Dados

 Coleção de elementos de representação com


propriedades semânticas e sintáticas pré-
definidas.
 Um elemento ou um conjunto de elementos
de representação são agrupados e
organizados para representar uma porção do
“mundo real”, constituindo um “esquema de
dados” compreensível pelo gerenciador.
MER (Modelo de dados
Entidade Relacionamento)
Modelo de Dados Entidade-
Relacionamento
 Peter Chen – 1976
 Modelo de dados semântico

Modelo mais
pesquisado e usado
em bases de dados!!!
Modelo Entidade
Relacionamento (ME-R)
 Entidade - Identifica o objeto de interesse do
sistema e tem "vida" própria, ou seja, a
representação abstrata de um objeto do mundo
real sobre o qual desejamos guardar
informações.
 Não são entidades:
 Entidade com apenas 1 elemento;
 Operações do sistema;
 Saídas do sistema;
 Pessoas que realizam trabalhos (usuários do
sistema);
 Cargos de direção
Representação Gráfica
 Entidade

 Relacionamento

 Atributo
Relacionamento
 O Relacionamento representa a
associação entre os elementos do
conjunto de um entidade com outra
entidade
 João está matriculado na disciplina de
Banco de Dados

ALUNO MATRICULADO DISCIPLINA


Cardinalidade de
Relacionamentos
 Corresponde ao número de entidades com que um
determinado conjunto de entidades pode se
relacionar através de um determinado
relacionamento
 Relacionamento 1:1 - O João é casado com a Maria
 João - Elemento do conjunto de valores do atributo
Nome da entidade Homem.
 Maria - Elemento do conjunto de valores do atributo
Nome da entidade Mulher.
 casado - Ligação entre um homem e uma mulher, sendo
que um homem pode ser casado com uma e apenas uma
mulher, assim como uma mulher pode ser casada com
um e apenas um homem
Cardinalidade de
Relacionamentos
 Relacionamento 1:N ou N:1 - O Pedro
trabalha no Departamento Pessoal

N 1
EMPREGADOS Trabalha DEPARTAMENTO
em
Cardinalidade de
Relacionamentos
 Relacionamento N : M - O Antônio está
matriculado na disciplina Banco de Dados
 Ligação existente entre um aluno e uma
disciplina, onde um aluno pode estar
matriculado em várias disciplinas e cada
disciplina pode ter vários alunos matriculados

ALUNOS MATRICULA DISCIPLINA


DO
Grau de Relacionamento
 Corresponde ao número de conjuntos de
Entidades participantes em um
relacionamento
 Relacionamento Ternário:

FORNECEDORES MATERIAIS

UTILIZADO

PROJETOS
MER
Restrição de Participação
 Participação parcial
 No exemplo, significa que apenas parte das
entidades do conjunto de entidades Disciplina está
relacionada com entidades do conjunto Estudante
N M
Estudante Cursa Disciplina

Parcial
MER
Restrição de Participação
 Participação total.
 No exemplo, significa que a existência de
uma entidade estudante depende da
existência da entidade disciplina.
N M
Estudante Cursa Disciplina

Total
MER - Atributos de Entidades

Pessoa
Nome = João Carlos

Endereço = rua Luiz


e1 Saia, 729, Cuiabá , MT

Idade = 35

Atributos Fone = 274-8232


MER
Atributos Monovalorados

CIC Nome Idade Altura


Sexo

Pessoa
MER
Atributos Multivalorados

Nome RM Endereço Fone

Estudante

Atributo Multivalorado
MER
Atributos Compostos
Rua Número CEP

Nome RM Endereço Fone

Atributo Composto
Estudante
MER
Atributos Derivados
Rua Número CEP

Nome RM Endereço Fone

Aniversário
Estudante
Atributo Derivado Idade
Resumo Representações de
Atributos
Composto Composto

Monovalorado Multivalorado Composto Derivado

Conjunto de Entidades
Atributos de Conjunto de
Relacionamentos

N M
Estudante Matricula Disciplina

Nome Sigla

Nota ?
Atributos de Conjunto de
Relacionamentos

N M
Estudante Matricula Disciplina

Nome Sigla
Nota
Exemplo Diagrama ER
(exceto atributos)
N M
Estudante Matricula Disciplina

N M

Pertence Oferecida Ministra


1
1 N
1 N
Departamento Trabalha Professor
MER - Entidades Fracas

1 1
Ementa Possui Disciplina

O conjunto de entidades Ementa só existe


se existirem Disciplinas. Uma Ementa
nunca existirá sozinha.
MER - Entidades Fracas

1 1
Ementa Possui Disciplina

O conjunto de entidades Ementa só existe se


existirem Disciplinas, portanto,
obrigatoriamente participará do
relacionamento Possui com Disciplina.
MER - Entidades Fracas

1 1
Ementa Possui Disciplina

O conjunto de entidades Ementa relaciona-se


com Disciplina através do seu tipo de
relacionamento Identidade.
MER - Entidades Fracas

1 1
Ementa Possui Disciplina

O conjunto de entidades Disciplina é dita tipo


de entidade proprietária de Ementa.
Simplificando Modelagens

Aluno Professor Engenheiro

N1 Matrícula CRP-MEC CREA


Nome Nome
Nome
Idade Idade
Idade
Sexo Sexo
Sexo
Altura Altura
Altura
Simplificando Modelagens

Pessoa

GENERALIZAR

Aluno Professor Engenheiro


Simplificando Modelagens
Nome Sexo
Pessoa
Abstração de
Generalização Idade Altura
GENERALIZAR

Aluno Professor Paciente


NroMatricula CRP/MEC Prontuário
MER
Propriedades Generalização
Disjunção x Sobreposição (DxS)
Se uma entidade especializada puder pertencer a mais
de um subconjunto de entidades ao mesmo tempo,
diz-se ter uma sobreposição, caso contrário,
disjunção.

Cobertura Total ou Parcial (TxP)


Se toda entidade pertencente ao conjunto de entidades
genérica pertencer a alguma entidade no conjunto de
entidades especializadas, então tem-se cobertura
total; caso contrário, cobertura parcial.
Propriedades Generalização
Nome Sexo
Pessoa
Idade Altura

Disjunção X Sobreposição
Cláudia
(D x S) S

E/OU

Aluno Professor Paciente


NroMatricula CRPMEC Prontuario
Propriedades Generalização
Nome Sexo
Pessoa
Idade Altura

Disjunção X Sobreposição
Cláudia
(D x S) D

OU

Aluno Professor Paciente

NroMatricula CRPMEC Prontuário


Propriedades Generalização
Nome Sexo
Pessoa
Idade Altura

Total X Parcial
Cláudia
(T x P) T

E/OU E/OU

Aluno Professor Paciente

NroMatricula CRPMEC Prontuario


Propriedades Generalização
Nome Sexo
Pessoa
Idade Altura

Total X Parcial
Cláudia
(T x P) P

Aluno Professor Paciente

NroMatricula CRPMEC Prontuario


Abstração de Agregação
Não é
Disciplina Sigla permitido esse
tipo de
N ligação!!
N M
Ministra É-frequentada

Nome Aluno Nome


Professor
Abstração de Agregação
Disciplina Sigla

Ministra AULA

Professor Nome
Abstração de Agregação
AULA AULA é uma
Agregação
dos conjuntos de
Disciplina Sigla
entidades
Professor e
N
Disciplina.
Ministra
Data
M Hora

Professor Nome Podemos encontrar


atributos da agregação
Abstração de Agregação
O uso de
agregação torna
possível
Disciplina Sigla expressar
“relacionamento
AULA N
entre
relacionamentos”
N M
Ministra É-frequentada

M
Nome Aluno Nome
Professor
MER
Abstração de Agregação
Abstração de agregação corresponde à idéia de que
elementos de modelagem podem ser associados,
formando outros “objetos” que representam essa
associação.

O uso de agregação torna


possível expressar “relacionamento
entre relacionamentos”!
MER
Abstração de Agregação

O uso de agregação torna


Disciplina Sigla possível expressar “relacionamento
entre relacionamentos”!

AULA N
N M
Ministra É frequentada

M
Nome Aluno Nome
Professor
Modelo de Dados Relacional
Modelo Relacional
 Codd – 1970
 Modelo de dados físico

Modelo mais
implementado em
SGBD!!!
Modelo Relacional
 Uma base de dados é estruturada de acordo
com o modelo de dados relacional como uma
coleção de relações.
 Uma relação é uma tabela (associada a um
nome único) na qual cada linha representa
uma coleção de dados.
 Os valores podem ser interpretados como um fato
que descreve a instância de uma entidade ou
relacionamento.
Modelo Relacional
 As colunas de uma relação são chamadas de
atributos e as linhas de tuplas.

 O conjunto de valores (atômicos ou indivisíveis)


que define cada atributo de uma relação é
chamado de domínio (especificado com um tipo
de dados ou formato).
Modelo Relacional
Atributos
Nome Endereço Telefone
T
José de Almeida R. Tulipas 89 0xx16-2761112
U
P Maria Dias 0xx11-8548620
Av. Clóvis Penteado 98
L
A Aparecido Navarro R. Marechal Deodoro 0xx19-2445618
S
Domínio
Modelo Relacional
 O número de atributos de uma relação
é chamado de grau da relação.

 Formalmente, uma relação R é um


conjunto de tuplas <d1, d2, ..., dn>
onde cada elemento di pertence a um
domínio Di.
Modelo Relacional
Restrições de Integridade
Regra 1: integridade entidade
Nenhum componente da chave primária pode ter valor nulo;

Regra 2: Integridade Referencial


Seja F um conjunto de atributos de uma relação R1 definido
sobre os mesmos domínios dos atributos da chave primária K de
uma relação R2. Para qualquer tupla t1 de R1, t1[F] = t2[k],
onde t2 é alguma tupla de R2, onde K é a chave primária de R2
e F é a chave estrangeira de R1.
Modelo Relacional
Integridade da Entidade
 A chave primária de qualquer relação
não pode ser nula em nenhuma tupla
dessa relação
Nome CIC Telefone Sobrenome

José de Almeida 062.360.718-29 016-


2761112 Biasi
011-
Maria NULO
8548620 Ruiz

Maria 343.564.786-98 016- Dias


2761112
Nome CIC Telefone Depto

José de Almeida 062.360.718-29 016-2761112


DM

Maria Dias 172.334.098-02 011-8548620 DC

Maria 343.564.786-98 016-2761112 DEP

Departamento ;rea
Integridade
DM Matematica
Referencial
DC Computação

Produção
DEP
Mapeamento MER
Tipo de entidades regulares

A R1 B

A1 A2 R11 B1 B2

A B

A1 A2
B1 B2
Tipos de entidades fracas

A R1 B

A1 A2 B1 B2
R11

B1 B2 A1
Tipos de relacionamentos 1 x 1
1 1
A R1 B

A1 A2 R11 B1 B2

OU

A B

A1 A2 R11 B1 B1 B2 R11 A1
Tipos de relacionamentos 1 x N

1 N
A R1 B

A1 A2 R11 B1 B2

A1 B1 B2 R11
Tipos de relacionamentos M x N
M N
A R1 B

A1 A2 R11 B1 B2

R1

A1 B1 R11
Tipos de relacionamentos
Ternários R11
M N
A R1 B

N
A1 A2 B1 B2
C

C1 C2 R1

A1 B1 C1 R11
Abstração de generalização (a)
C1 C2
Todas as entidades são
mapeadas como
C relações. Os atributos
chave de C são
“herdados” por A e por
B

A B

A1 A2 B1 B2
Abstração de generalização (a)
C1 C2

A B

A1 A2 B1 B2

A B

A1 A2 C1 B1 B2 C1
C

C1 C2
Abstração de generalização (b)
C1 C2

A B

A1 A2 B1 B2

A B

A1 A2 C1 C2 B1 B2 C1 C2
Abstração de agregação (cont.)

C
A R1 B

A1 A2 R11 B1 B2

C1
Abstração de agregação (cont.)

A R1 B

A1 A2 R11 B1 B2

C1 B
A
B1 B2
A1 A2 C

C1 R11 B1 A1
Abstração de agregação (cont.)

Projeto
Aluno de
Professor Orienta P\s

Nome Tipo N_Mat

Titulo
Abstração de agregação (cont.)

Projeto

Professor Orienta
Aluno de P\s

Nome N_Mat

TItulo Tipo

Aluno de P\s
Professor
Projeto N_Mat
Nome
TRtulo Tipo Nome N_Mat
Abstração de agregação (cont.)

Professor Ministra Disciplina

Nome Sigla

Data Hora Sala


Abstração de agregação (cont.)
Aula

Professor Ministra Disciplina

Nome Sigla

Data Hora Sala


Disciplina

Sigla
Professor Aula

Nome Data Hora Nome Sigla Sala


Abstração de agregação (cont.)

Aula

Professor Ministra Disciplina

Nome Sigla
Livro
Texto

Data Hora Sala


Abstração de agregação (cont.)

Aula

Professor Ministra Disciplina

Nome

Professor Data Hora Sala

Nome
Disciplina

Ministra Sigla

Aula
Nome Sigla Livro
texto Data Hora Nome Sigla Sala
Atributos multivalorados
Os atributos multivalorados podem ser
mapeados para uma nova relação, ou
simplesmente podem fazer parte da
chave primária.

Professor

Nome N_Func Fone


Atributos multivalorados
Professor

Nome N_Func Fone

Professor Professor

Nome N_Func
Nome N_Func Fone

Professor_Fone

N_Func Fone
Mapeamento MER – Relacional
Passos de Mapeamento
1. Mapear todos os conjuntos de entidades
regulares (não fracas);
2. Mapear todos os conjuntos de entidades
fracas;
3. Mapear todos os conjuntos de
relacionamentos com cardinalidade 1 X 1;
4. Mapear todos os conjuntos de
relacionamentos de cardinalidade 1 X N;
5. Mapear todos os conjuntos de
relacionamentos de cardinalidade N X M;
Mapeamento MER – Relacional
Passos de Mapeamento
7. Mapear todas as ocorrências de
abstração de generalização;
8.Mapear todas as ocorrências de
abstração de agregação.
9. Mapear os atributos multivalorados.
Exercício
 Com base no documento de Requisitos
fazer o Mapeamento para o Modelo
Entidade Relacionamento.
Normalização de Dados
Normalização de Dados
 Ao normalizarmos a informação estamos
garantindo:
 A não existência de redundâncias (cada dado deve
ser armazenado uma única vez e numa única
localização)
 Consistência da Informação - Qualquer operação
de manipulação da informação (Inserção,
Alteração, Destruição) deve afetar uma só
ocorrência de um dado
 Visão relacional dos dados
SGBD + Banco de Dados
 Independência de dados
 Consistência de dados

 SGBDRegras de Integridade
 Validade

 Completeza

 Consistência
Consistência de Dados
O controle de consistência pode ser
exercido:

 Pelo gerenciador;

 Pelos aplicativos;

 Pela própria construção do sistema.


Consistência de Dados
 Manter consistência de dados pela própria
construção do sistema:

 Controlar a construção do sistema através da


criação de tabelas segundo regras que garantam a
manutenção de certas propriedades.

 As tabelas que atendem a um determinado


conjunto de regras, diz-se estarem em uma
determinada forma normal.
Formas Normais
Primeira Forma Normal
 Uma relação está na 1a. forma normal quando
todos os seus atributos são atômicos e
monovalorados.

Nome Dt. Nasc. Endereço Nome_Filhos


Formas Normais
Primeira Forma Normal
 Atributos multivalorados:

Nome_filhos
Nome Dt. Nasc Endereco

Quantos filhos?
Formas Normais
Primeira Forma Normal
Atributos multivalorados
1) Quando a quantidade de valores é pequena e conhecida a priori;

Substitui-se o atributo multivalorado por um conjunto de


atributos de mesmo domínio, cada um representando a
ocorrência de um valor.
Formas Normais
Primeira Forma Normal
Atributos multivalorados.
2) Quando a quantidade de valores é muito grande, variável ou
desconhecida.

Retira-se da relação o atributo multivalorado, e cria- se


uma nova relação que tem o mesmo conjunto de
atributos chave, mais o atributo multivalorado como
chave, porém tomado como monovalorado.
Formas Normais
Primeira Forma Normal
Se forem 3 números

Nome Endereco DataNasc Telefone

Nome Idade DataNasc fone1 fone2 fone3


Formas Normais
Primeira Forma Normal
Se forem muitos números

Nome Endereco DataNasc Telefone

Nome Endereco DataNasc Nome Telefone


Formas Normais
Atributo Primo

Todo atributo que pertence a uma chave


candidata é denominado primo.

O que é mesmo chave candidata?

É toda aquela que, por nossos estudos, não se repete. É candidata


a ser chave primária, isto é, aquela que representa unicamente
a entidade
Formas Normais
Segunda Forma Normal
 Consiste em retirar das estruturas que
possuem chaves compostas (campo chave
sendo formado por mais de um campo), os
elementos que são funcionalmente dependente
de parte da chave. Podemos afirmar que uma
estrutura está na 2FN, se ela estiver na 1FN e
não possuir campos que são funcionalmente
dependente de parte da chave...
Formas Normais
Segunda Forma Normal

Número Sigla Sala Número -Horas

Número,Sigla  Sala, Número-Horas

Sigla  Número-Horas
Formas Normais
Segunda Forma Normal

Turma Curso Sala Número -Horas

Turma Curso Sala Curso Número-Horas


Formas Normais
Segunda Forma Normal
 Evita:

 Inconsistências devido a duplicidade de


informações

 Perda de dados em operações de


remoções / alteração na relação
Formas Normais
Segunda Forma Normal
Turma Curso Horário Número-Horas

A Access 10:00 2
B Access 14:00 2
A Word 8:00 3
B Word 15:00 4

A Excel 16:00 2
Turma, Curso  Horario, Número-Horas
Valores
Inconsistentes Curso  Número-Horas
Formas Normais
Segunda Forma Normal
Turma Curso Horário Número-Horas

A Access 10:00 2
B Access 14:00 2
A Word 8:00 3
B Word 15:00 4

A DC134 16:00de uma


Se não houver turmas 2
Determinado Curso,
perde-se a informação sobre o
Número de Horas!!!
Formas Normais
Terceira Forma Normal
 Consiste em retirar das estruturas os
campos que são funcionalmente
dependentes de outros campos que não
são chaves. Podemos afirmar que uma
estrutura está na 3FN, se ela estiver na
2FN e não possuir campos dependentes
de outros campos não chaves...
Formas Normais
Terceira Forma Normal

Número Sigla Sala Prédio

Número, Sigla  Sala Sala  Prédio

Número Sigla Sala Sala Prédio


Turma Curso Sala Prédio

A Access 3 E1
B Access 4 E1
A Word 12 C2
A Excel 4 C2
B Excel 12 C2

Número, Sigla  Sala, Prédio


Valores Inconsistentes!!!!!
Sala  Prédio
Turma Curso Sala Prédio

A Access 3 E1
B Access 4 E1
A Word 12 C2
A Excel 4 C2
B Excel 12 C2

Se não houver aula em uma determinada sala nesse


semestre perde-se a informação sobre qual prédio
contém a tal sala.
Formas Normais
Considerações Finais

Normalizar evita introduzir inconsistências

quando se alteram relações; porém obriga a

execução de custosas operações de junção

para a consulta de informações.


Formas Normais
Considerações Finais

Mas, e aí?!
Normalizar ou não
Normalizar?
Eis a questão!

A decisão deve ser tomada considerando-se o


compromisso entre se garantir a eliminação de
inconsistências na base, e eficiência de acesso