O documento discute conceitos fundamentais de modelagem de dados, incluindo tabelas, campos, registros, chaves primárias, chaves externas, relacionamentos um-para-um, um-para-muitos e muitos-para-muitos.
3. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Porquê??? Ainda perguntam….
n Ora bem apesar de ser “old fashion”,
imagine o que seria ao fim de algum tempo.
3
Pode agora jogar ao jogo: onde está o seu
contacto, baseado no clássico, onde está o
Wally ? ou o Joaquim? ou a Maria? ou a Cátia?
por falar nisso, onde é que eles estão?? Eu sei
lá, sei lá ….
4. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Como poderia organizar melhor esta
informação?
n Através de uma Base de Dados
n Mas, antes deve:
l Saber os dados que quer guardar
l Categorizá-los 4
5. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Aqui estão alguns exemplos da informação
guardada para cada um dos contactos.
5
Categorize a informação comum atribuindo-lhe um
nome (etiqueta) genérico….
6. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Foi dada uma dica no slide anterior… ai sim? Onde?
Onde?
n Para os mais distraídos: Interesses… Agora é com
vocês…
6
• Primeiro Nome
Último Nome
Aniversário
Profissão
Estado Civil
Cidade
País
7. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Vejamos agora os dados de uma forma diferente…
n Rasgue cada um dos dados de um post-it e coloque-os
horizontalmente
7
n Agora, corte outro post-it com as categorias e fica algo como:
n Isto faz lembrar a apresentação dos dados noutro programa. Qual?
n No… No… está mesmo debaixo da língua… ai… no…EXCEL
8. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n É a mesma informação que tinha, mas disposta em linhas e colunas:
8
n Ou seja, aquilo a que se pode chamar de… dados dispostos (e bem)
em linha e colunas… lembram-se… como no Excel, em …
TABELAS
9. Módulo13–TécnicasdeModelaçãodeDados
Revisões – Bases de Dados
n Antes de continuar a falar de tabelas, é bom relembrar que elas são
parte integrante das:
9
n BD (não confundir com Banda Desenhada – Bases de Dados)
• De cada vez que:
§ Requisita um livro
§ Pesquisa online
§ Reserva bilhetes
§ Faz compras
§ ….
Lembre-se que está a ser utilizada uma BD
12. Módulo13–TécnicasdeModelaçãodeDados
Tabela – Regras de Elaboração
n Não pode haver duas colunas com nome igual
n Cada campo deve ser constituído por valores atómicos
n Não deve haver campos vazios (o campo considerado
chave tem de ser obrigatoriamente preenchido)
n Não pode haver registos duplicados
12
13. Módulo13–TécnicasdeModelaçãodeDados
Tabela - Exemplos
13
Num Num Ano Turma Nome
1
10 10º 9º E João Pedro
2
4 9º D Luís Miguel
3
10 11º F Ana Cristina
10 11º F Ana Cristina
5
5 10º 9º E Carla Sofia
Segundio as regras anteriores, encontre violações às regras de
elaboração de Tabelas na tabela que se segue...
Agora, e só para lançar a confusão, será que existem???
14. Módulo13–TécnicasdeModelaçãodeDados
Tabela – Terminologia Associada
14
Num Num Ano Turma Nome
1
10 10º 9º E João Pedro
2
4 9º D Luís Miguel
3
10 11º F Ana Cristina
10 11º F Ana Cristina
5
5 10º 9º E Carla Sofia
Aproveitando a tabela anterior tem-se:
• Campos – Unidade básica de informação, representada/
disposta em colonas (Nome, Num, Ano…)
• Registos –
Agrupamento de
campos ou itens,
tratados como uma
unidade. Dispostos
em linhas, por
exemplo,: Número 4,
9º Ano, Turma D,
Luís Miguel
• Tabela – Conjunto de Registos
15. Módulo13–TécnicasdeModelaçãodeDados
Tabela
n São as ________ básicas onde são
___________ todos os dados numa ____
_______ relacional. São estruturas
____________.
15
estruturas
armazenados
bidimensionais
base
de dados
18. Módulo13–TécnicasdeModelaçãodeDados
Índices
18
Nome Morada Cod-Postal
João Silva Av. da liberdade nº 144 1100428
Carlos Lopes Av. da liberdade nº 124 1100428
Inês Freitas Av. Gago Coutinho nº 1478 8º Dto. 1200870
Sandro Pereira R. Gomes Sá Nº 321 10ºDto. 2568105
Filipa Pereira R. Gomes Sá Nº 321 10ºDto. 2568105
Cátia Castro R. Gomes Sá Nº 321 10ºDto. 2568105
Pedro Gonçalves R. Palmira Bastos Nº 23 2685266
Paulo Monte R. Palmira Bastos Nº 12 3º Esq. 2685266
André Couto R. Palmira Bastos Nº 54 1º Dto. 2685266
Luís Fonseca R. Palmira Bastos Nº 123 2685266
Ana Rita R. Palmira Bastos Nº 96 5º Ft. 2685266
23. Módulo13–TécnicasdeModelaçãodeDados
Chave Primária
n É um atributo ou conjunto de atributos que
assume a função de identificar de modo
unívoco as entidades ou registos de uma
tabela.
l Ser unívoca
l Não nula
l Não redundante
23
26. Módulo13–TécnicasdeModelaçãodeDados
Chave Externa
Cod_Req Cod_Filme N_Socio Data_Req
1 F121 1475 08-10-2008
2 F002 128 10-10-2008
26
N_Socio Nome Idade Morada
1 João Pedro 24 Porto
2 Carla Maria 31 Gaia
Cod_Filme Titulo Género Duração
F001 10 000 AC Aventura 104’
F002 O Jogo Acção 128’
32. Módulo13–TécnicasdeModelaçãodeDados
Relações entre tabelas
32
n Os relacionamentos são estabelecidos através de campos
comuns entre elas, e são os campos que desempenham
o papel de chaves primárias nas respectivas tabelas
n Um relacionamento entre a tabela A e a tabela B faz-se
através de um campo que contém informação comum.
33. Módulo13–TécnicasdeModelaçãodeDados
Um para Um (1:1)
n Cada registo da tabela A só pode
corresponder a um registo na tabela B e
cada registo da tabela B só pode
corresponder a um registo na tabela A.
33
34. Módulo13–TécnicasdeModelaçãodeDados
Um para Um (1:1)
34
Veículo Matrícula
um
um
Marca Modelo Num_Matricula
Audi A6 29-VV-47
Seat Ibiza 01-CG-25
Num_Matricula Mês Ano
29-GH-47 Setembro 2008
01-AB-25 Maio 2007
Veículo
Matrícula
35. Módulo13–TécnicasdeModelaçãodeDados
Um para Um (1:1)
n Ensaiemos uma leitura da relação
anterior… Será que são capazes??? Não
estou a duvidar das vossas capacidade.
n Em relação ao veículo…
l … cada veiculo possui uma matricula.
n Agora em relação à matricula…
l … a uma matricula corresponde um único
veículo (convém).
35
37. Módulo13–TécnicasdeModelaçãodeDados
Um para Muitos (1:N)
37
Cod_Prof Nome Depart
111 Ana Ferreira 1600
121 André Santos 1300
132 João Freitas 1600
145 Manuel Figueiredo 1600
Cod_Dep Nome Coordenador
1600 Matemática Lucas Santos
1300 Expressões Inês Silva
Professor Departamento
N 1
Professor
Departamento
38. Módulo13–TécnicasdeModelaçãodeDados
Um para Muitos (1:N)
n Que leitura se pode fazer da relação
anterior???
n Peguemos no departamento, se não for
muito pesado…
l Um departamento é constituído por vários
professores.
n Agora no professor, mas com jeitinho…
l Um professor pertence a um só departamento.
38
39. Módulo13–TécnicasdeModelaçãodeDados
Muitos para Muitos
n Num relacionamento muitos para muitos, um
registo na Tabela A pode ter muitos registos
coincidentes na Tabela B, e um registo na Tabela B
pode ter muitos registos coincidentes na Tabela A.
39
40. Módulo13–TécnicasdeModelaçãodeDados
Relações N:M
F_REF F_NOME F_FAIXA F_ANO F_ACTOR
73 Mamma Mia! 6 2008 Meryl Streep
581 Die Another Day 12 2003 Pierce Brosnan
623 Burn After Reading 12 2008 George Clooney
581 Die Another Day 12 2003 Halle Berry
73 Mamma Mia! 6 2008 Pierce Brosnan
623 Burn After Reading 12 2008 Brad Pitt
785 Ocean's Thirteen 12 2007 George Clooney
785 Ocean's Thirteen 12 2007 Brad Pitt
A_NOME A_FILME A_IDADE
Meryl Streep Mamma Mia! 59
Pierce Brosnan Die Another Day 55
George Clooney Burn After Reading 47
Halle Berry Die Another Day 42
Pierce Brosnan Mamma Mia! 55
Brad Pitt Burn After Reading 44
George Clooney Ocean's Thirteen 47
Brad Pitt Ocean's Thirteen 44
41. Módulo13–TécnicasdeModelaçãodeDados
Muitos para Muitos
n Uma relação deste tipo só é possível definir
recorrendo a uma terceira tabela (tabela de
associação) cuja chave primária consiste em duas
chaves externas provenientes das Tabelas A e B.
n … “transforma-se” em duas relações de um para
muitos.
n Ou seja, vamos pegar no exemplo anterior e
transformar em 3 tabelas com duas relações.
n Experimentemos, sem medos… 41
44. Módulo13–TécnicasdeModelaçãodeDados
Na Prática…
… como pode:
n fazer tabelas ???
n estabelecer relacionamentos ???
Por exemplo, recorrendo a um
SGDB (Sistema de Gestão de Base de Dados)
Como por exemplo, aquele que deram em TIC no
10ºAno, lembram-se??? xiiii, onde isso já vai mas
é esse mesmo, o……………………….Access 44
46. Módulo13–TécnicasdeModelaçãodeDados
Tabelas – Tipo de dados
46
TIPO DE DADOS DESCRIÇÃO
Texto
Texto (caracteres alfanuméricos), podendo contar até 255 caracteres.
Usados para guardar Nome de pessoas, endereços, nº telefone, etc.
Memo
Texto longo, ou combinação de texto e números. Limitado a cerca de
65000 caracteres. Utilizado para guardar grandes blocos de texto.
Número
Dados numéricos (inteiros ou fraccionários). Utilizado para guardar
dados numéricos que podem ser usados em cálculos matemáticos.
Data/Hora Valores de data e hora.
Moeda
Valores de moeda e dados numéricos utilizados em cálculos
matemáticos (Ex: Preços, facturas, etc) que envolvam dados com uma
de quatro casas decimais.
47. Módulo13–TécnicasdeModelaçãodeDados
Tabelas – Tipo de dados
47
TIPO DE DADOS DESCRIÇÃO
Numeração
automática
Um número sequencial único (por defeito com incrementos de 1)
preenchido sempre que se adiciona um novo registo a uma tabela.
São campos que não podem ser alterados.
Sim/Não
Campo que contêm apenas dois valores: Sim e Não; Verdadeiro e
Falso; Ligado e Desligado.
Objecto OLE
Permite armazenar um objecto de outras aplicações Windows
(gráficos, fotografias, desenhos, folhas de cálculo, etc).
Hiperligação Permite comunicar através da Internet com uma página HTML.
Assistente de
pesquisa
Ajuda a inserir dados cujos valores são escolhidos a partir de outra
tabela, fazendo com que a entrada de dados se faça mais
rapidamente.
50. Módulo13–TécnicasdeModelaçãodeDados
Em jeito de resumo….
n
n e de passagem, não para a outra margem, mas para o
modelo E –R
n Analise o documento que se encontra em:
http://pplware.sapo.pt/tutoriais/estruturacao-de-uma-base-
de-dados/
50
51. Módulo13–TécnicasdeModelaçãodeDados
Modelo E-R
n É como quem diz, Modelo Entidade – Relacionamento, o
que já nos dá mais alguma informação.
Sim, que tem entidades e relacionamentos, boa ... Trata-se
então de um modelo:
n De dados conceptual;
n Próximo do modelo relacional;
n Descreve os dados como sendo:
l entidades, atributos ou relacionamentos. 51
53. Módulo13–TécnicasdeModelaçãodeDados
Modelo E-R -> Entidade
n Não se trata da divina, à qual pedem para passar a PSI…
n É um objecto ou conceito do mundo real que se consegue isolar de
forma independente
n Qualquer coisa, real ou abstracta, sobre a qual guardamos dados
para produzir informação requerida pelo sistema de informação em
estudo
n Pode ter uma existência:
n Física: Empregado, Carro, Produto,
n Conceptual: Empresa, Profissão, Curso, 53
54. Módulo13–TécnicasdeModelaçãodeDados
n Dados que são guardados sobre as entidades e
que dessa forma as caracterizam.
n Exemplos…Esta é fácil Alguém???
n Atributos para a Entidade Pessoa:
l Nome, Morada, Idade, Telefone, Sexo, Estado Civil,
54
Modelo E-R -> Atributo
56. Módulo13–TécnicasdeModelaçãodeDados
n Não nos cansamos de repetir …
… não existem padrões (entidades padrão), a importância
das coisas e a forma como as vemos varia com a natureza e
o objectivo do sistema de informação em estudo.
56
Modelo E-R -> Considerações
58. Módulo13–TécnicasdeModelaçãodeDados
n O que são então relacionamentos???
n Associação entre duas ou mais entidades
n Depois de se definirem as Entidades e
respectivos Atributos,
n deve perceber como essas entidades se
relacionam entre si.
58
Modelo E-R ->Relacionamentos
65. Módulo13–TécnicasdeModelaçãodeDados
Algumas convenções de Sintaxe:
n Entidades escrevem-se em letras maiúsculas;
l ALUNO, EMPREGADO, VEÍCULO
n Atributos escrevem-se com a primeira letra maiúscula;
l Nome, Vencimento, BI
n Atributos chave são sublinhados;
l NumBI, NumAluno, Matricula
n Atributos compostos entre parêntesis
l Morada(Rua, Número, Habitação), Matricula(Ano, Mês,
País) 65
Modelo E-R -> Notações
66. Módulo13–TécnicasdeModelaçãodeDados
n Vantagens deste tipo de modelos:
l Simplicidade
l Clareza Gráfica
n Que para muito contribui a utilização de
componentes como:
l Retângulos;
l Elipses;
l Losangos;
l Linhas; 66
Modelo E-R -> Notações
67. Módulo13–TécnicasdeModelaçãodeDados
n O que representa cada um dos objetos
anteriores?
n Temos os genéricos… não confundir com os
medicamentos …
Entidades
67
Modelo E-R -> Notações
Atributos
Relacionamentos
Atributo Chave Primária
68. Módulo13–TécnicasdeModelaçãodeDados
n Os não tão genéricos …
68
Modelo E-R -> Notações
Atributo Composto
Atributo Multivalor
Carnidalidade (neste caso 1:N)
Participação Total E2 em R e
Participação Parcial de E1 em R
70. Módulo13–TécnicasdeModelaçãodeDados
Modelo E-R -> Notações
n Résumé do modelo anterior…
70
Entidades
(e não só - atributos e chaves -)
DEPARTAMENTO(Nome, Num, {Localização})
PROJECTO(Nome, Num, Localização)
EMPREGADO(Nome(Próprio, Família), NumBI, Endereço, Salário,
Sexo, DataNasc)
Entidade Fraca
DEPENDENTE(Nome,Sexo, DataNasc, GrauParentesco)
71. Módulo13–TécnicasdeModelaçãodeDados
Modelo E-R -> Notações
Relacionamentos Tipo
(cardinalidade)
Participação
DIRIGE(EMPREGADO, DEPARTAMENTO, GerenteData) 1:1 Parcial / Total
CONTROLA(DEPARTAMENTO, PROJECTO) 1:N Parcial / Total
SUPERVISIONA(EMPREGADO, EMPREGADO) 1:N Parcial / Parcial
TRABALHA_PARA(EMPREGADO, DEPARTAMENTO) N:1 Total/Total
TRABALHA_EM(EMPREGADO, PROJECTO, Horas) M:N Total/Total
DEPENDE_DE(DEPENDENTE, EMPREGADO) N:1 Total/Parcial
71
72. Módulo13–TécnicasdeModelaçãodeDados
n Last but not least … calma, não fiquem tristes, é que
depois há mais ... É só mais uma perguntinha:
n Porque é que a participação de
DIRIGE(EMPREGADO, DEPARTAMENTO, GerenteData)
é Parcial (uma linha) / Total (duas linhas paralelas) ???
n Simples, é só isso ??? Mande outra, por favor …
n Só um empregado (ou seja, nem todos) DIRIGE um
departamento (Parcial) mas, todos os departamentos
são dirigidos por um empregado (Total). 72
Modelo E-R -> Notações
73. Módulo13–TécnicasdeModelaçãodeDados
Modelo E- R -> Notações
73
• 1 Um A está associado ______ B.
• 2 Um A está associado com ____________ B’s.
• 3 Um A está associado com ___________ B.
• 4 Um A está associado com _______________ B’s.
• a um
• um ou mais
• zero ou um
• zero, um ou mais
74. Módulo13–TécnicasdeModelaçãodeDados
• Carro
74
Modelo E- R -> Considerações
• Aluno • Disciplina
• Professor • Turma
• Manual
• Cliente
• Como dito anteriormente, uma entidade no diagrama E-R,
deve ser algo interessante e que faça sentido para o
sistema de informação que se está a tratar.
• Quais as Entidades que não fazem sentido no exemplo
Acima… nem que seja por maioria, que faz a força.
76. Módulo13–TécnicasdeModelaçãodeDados
n Como se faz a leitura do diagrama?
76
Modelo E- R -> Considerações
1 - Para baixo do lado direito da linha
2 - Para cima do lado esquerdo da linha
3 - Da esquerda para a direita do lado de cima da linha
4 - Da direita para a esquerda do lado de baixo da linha
77. Módulo13–TécnicasdeModelaçãodeDados
Modelo E-R -> Dica
n Que tal uma lição de bom português???
n Com o alto patrocínio…
n Normalmente:
Substantivo -> indica uma ENTIDADE…
… pode também indicar um Atributo;
Verbo ->indica uma RELAÇÃO. 77
80. Módulo13–TécnicasdeModelaçãodeDados
Integridade
n Quando se falou no inicio do módulo xiiiiiii, onde isso já
vai em objectivos dos SGBD (o que é isto???) focaram-
se aspetos como:
n Proteger a BD contra atualizações não válidas, o que
… garante a sua consistência
n Preservar a integridade
…restrições de integridade
80
81. Módulo13–TécnicasdeModelaçãodeDados
Preservação de Integridade
n A preservação (restrição) de integridade… e se há coisa
que não se deve perder é a integridade… permite:
n Garantir de que alterações realizadas por utilizadores
autorizados não ocasionam a perda de consistência dos
dados - “Integrity constraints”
n Protegem a BD de danos acidentais
81
82. Módulo13–TécnicasdeModelaçãodeDados
Preservação de Integridade - domínio
n O valor de cada atributo deve ser um valor
atómico dentro do domínio daquele atributo
ou um valor nulo
82• O valor do Salário é do tipo moeda, pelo que,
qualquer outro tipo viola este principio.
• Imagine que o valor do salário tem de estar no
intervalo entre: 500€ e 5.000€.
• O valor 9.100€ viola este principio
83. Módulo13–TécnicasdeModelaçãodeDados
Preservação de Integridade - semântica
n “Business Rules”
n Relacionada directamente com a aplicação,
independente da estrutura da BD
n Exemplos:
l Uma pessoa não pode ter mais de três contas bancárias
l O total de limite de créditos não pode ultrapassar 100.000€
l O salário de um empregado não pode ser superior ao do gerente
83
84. Módulo13–TécnicasdeModelaçãodeDados
n Impõe que os valores dos atributos que correspondem à
chave primária de uma entidade não podem ser nulos
nem iguais a outros já existentes na tabela
n Se assim fosse, esse atributo deixaria de ser chave.
n Bem visto, tem lógica e faz sentido.
84
Preservação de Integridade - entidade
85. Módulo13–TécnicasdeModelaçãodeDados
Preservação de Integridade – referencial
n Impõe que um valor de uma chave externa tem
obrigatoriamente de existir como elemento
constituinte da chave primária da tabela
relacionada com aquela chave externa.
n Os valores dos campos que aparecem numa
chave externas devem estar presentes na coluna
da chave primária da tabela referenciada
85
93. Módulo13–TécnicasdeModelaçãodeDados
Modelo Relacional
n A estrutura fundamental do modelo relacional é
a relação, também designada por tabela;
n Os dados estão armazenados em tabelas.
n Todos os dados devem ser acedidos de uma
forma única (tabela, chave, campo).
n Na mesma tabela não podem existir registos
duplicados.
n Uma relação é uma estrutura bidimensional
que tem zero ou mais instâncias (ocorrência de
uma entidade);
94. Módulo13–TécnicasdeModelaçãodeDados
Modelo Relacional
n O esquema de uma relação é constituído por um ou
mais atributos que traduzem o tipo de dados a
armazenar.
n A cada instância do esquema de uma relação
designa-se por tuplo.
n Para cada atributo define-se o seu domínio. O
domínio traduz um conjunto de valores possíveis que
um atributo pode tomar.
n Ao número de atributos que constituem o esquema de
uma relação dá-se o nome de grau de relação .
n Por sua vez, o número de tuplos de uma relação
designa-se por cardinalidade da relação
95. Módulo13–TécnicasdeModelaçãodeDados
Modelo Relacional
Cod_Produto Designação Preço
1234 Monitor 100
4321 Teclado 35
2143 Rato 10
3421 Impressora 60
• TUPLO
• Grau da Relação
• Cardinalidade
• da Relação
• Atributos
• O valor de cada tuplo é atómico. No cruzamento de uma linha com uma
coluna só e possível encontrar um valor.
• Os atributos de uma relação devem ter identificadores distintos.
• Os atributos de uma relação devem ser distintos.
96. Módulo13–TécnicasdeModelaçãodeDados
n Desenhar uma base de dados é uma arte
que requer criatividade e experiência.
n Abordagem Top-Down – Modelo E-R
n Abordagem Bottom-up - Normalização
Como Chegar ao Mod. Relacional?
97. Módulo13–TécnicasdeModelaçãodeDados
Chave Primária
n Campo ou conjunto de campos que
identificam de forma única um registo.
Aluno
ID Alun Ano Turma Nome Fran Ing ITI
1 12º 4A Ana 12 13 12
2 12º 4A Inês 15 13 12
3 12º 4A João 12 15 17
4 12º 4B Ana 12 13 12
5 11º 4A Ana 12 13 12
n Simples -
Um só
atributo
n Composta
- Mais do
que um
atributo
98. Módulo13–TécnicasdeModelaçãodeDados
Chave Externa
n Chave armazenada num registo para estabelecer a
relação entre os registos.
n A chave externa de um registo é chave primária do
registo relacionado. Turma
Id-turm Ano Turma
1 12º 4A
2 12º 4B
3 11º 4A
Aluno
ID- Alun Nome Fra Ing ITI Id-turm
1 Ana 12 13 12 1
2 Inês 15 13 12 1
3 João 12 15 17 1
4 Ana 12 13 12 2
5 Ana 12 12 12 3
100. Módulo13–TécnicasdeModelaçãodeDados
O que é a Normalização?
Conjunto de normas
para uma boa
estruturação das bases
de dados relacionais
A EVITAR...
Redundância ou a
perda de integridade da
informação
102. Módulo13–TécnicasdeModelaçãodeDados
O processo de normalização está traduzido
nas dependências existentes entre os dados
• Num_Aluno • Nome_Aluno
• Num_Jogador • Nome_Jogador
• O nome do aluno depende funcionalmente do nº aluno
• O número do aluno identifica o nome do aluno
Dependências
106. Módulo13–TécnicasdeModelaçãodeDados
Num_Alu Nome Curso Disciplinas
1 Brahimi FCP Port, Mat,TIC
2 Talisca SLB Port, PSI, Ed.Fisica
3 Nani SCP RC, AC, PSI
Esta tabela não respeita a 1FN : o campo
DISCIPLINAS permite valores não atómicos
Processo de Normalização
107. Módulo13–TécnicasdeModelaçãodeDados
Num_Alu Nome Curso Disc1 Disc2 Disc3
1 Brahimi FCP Port Mat TIC
2 Talisca SLB Port PSI Ed.
Fisica
3 Nani SCP RC AC PSI
Esta tabela também não respeita a 1FN. Embora,
neste caso todos os campos sejam atómicos
existem campos repetidos para uma mesma
categoria.
Processo de Normalização
108. Módulo13–TécnicasdeModelaçãodeDados
Num_Alu Nome Curso Disciplina
1 Brahimi FCP Port
1 Brahimi FCP Mat
1 Brahimi FCP TIC
2 Talisca SLB Port
2 Talisca SLB PSI
2 Talisca SLB Ed. Fisica
3 Nani SCP RC
3 Nani SCP AC
3 Nani SCP PSI
Esta tabela respeita a 1FN. Porém, coloca um problema de redundância de
informação: para cada disciplina em que o aluno está inscrito é necessário
repetir a informação relativa a esse aluno.
Processo de Normalização
112. Módulo13–TécnicasdeModelaçãodeDados
• Entidade está na 1FN.
• Cada item da entidade deve ser funcionalmente
dependente da chave da entidade, ou seja, de toda
a chave.
Chaves e atributos
dependem da totalidade da
chave
2ª Forma Normal (2FN)
116. Módulo13–TécnicasdeModelaçãodeDados
3ª Forma Normal (3FN)
Entidade está na 2FN.
Todos os campos que não são parte da chave primária
são mutuamente independentes, ou seja, não existem
dependências transitivas.
Os atributos não-chave
têm de ser
independentes entre si.
117. Módulo13–TécnicasdeModelaçãodeDados
• Se não existir nenhuma
dependência funcional
entre os atributos não-
chave
• A tabela está na 2FN;
3FN
• Se existir alguma
dependência funcional entre
atributos não-chave
• Retirar esse conjunto de
atributos da tabela
• Constituir uma tabela à
parte
3ª Forma Normal (3FN)
119. Módulo13–TécnicasdeModelaçãodeDados
Normalização – Formas Normais
119
q O résumé …
q Um - 1FN
Todos os campos devem ser atómicos e não deve haver campos
repetidos.
q Dois - 2FN
Cada atributo não-chave tem de ser funcionalmente dependente da chave
na sua totalidade e não apenas de uma parte dessa chave;
q Três - 3FN
Um atributo não-chave não pode depender funcionalmente de nenhum
outro atributo que não seja a chave - (Chave Externa)