Professional Documents
Culture Documents
Modelo Relacional
Normalizao
Diagramas E-R e Tabelas Originadas
Por:
Artur Sousa / Jorge Loureiro
Conceitos de entidade e atributo Tipos de atributos
Entidade: Abstraco de objectos ou conceitos do mundo real acerca dos quais queremos NPrprio Apelido
guardar informao. Localizaes Tempo_Actividade
Nome
Atributos de uma entidade: Caractersticas comuns aos objectos ou conceitos
BI Sexo Nmero Data_nicio_activ
representados pela entidade.
2
Que atributos considerar na descrio de uma entidade ? Chave primria e chaves candidatas
Entidades CO e DONO_DO CO vistas pelo veterinrio: Instncia: Ocorrncia particular de uma entidade. Cada instncia tem de ser identificada
univocamente
CO nome_do_co raa sexo nome_do_dono data_nasc peso
Chave ou Identificador de uma entidade: Atributo ou conjunto de atributos que permitem
identificar univocamente uma instncia de uma entidade.
CO nome_do_co raa sexo nome_do_dono data_licen. peso primria for retirado, os restantes atributos deixam de ser unvocos
no nula - nenhum dos atributos que formam a chave primria
poder ter um valor nulo.
O atributo endereo deveria ser subdividido ? possvel determinar nmero de ces por
Exemplo: Chaves candidatas:
freguesia ?
N_BI
=> endereo um atributo composto que neste caso deveria ser subdividido
N_Eleitor, Freguesia
Nome N_Eleitor N_BI Freguesia Rua
3
Chave forasteira ou chave externa Relacionamento
As entidades no esto isoladas, esto relacionadas com outras entidades => necessrio
Chave forasteira ou chave externa: Atributo ou conjunto de atributos que aparecem como identificar relacionamentos para ser possvel representar correctamente o mundo real.
chave primria numa outra entidade relacionada.
Relacionamento: Associao entre entidades
A chave forasteira permite estabelecer uma ligao (relacionamento) entre as entidades
representadas. Uma entidade pode conter tantas chaves forasteiras quantas as necessrias. Relacionamento binrio: Associao entre duas entidades
O atributo nome_do_dono :
na entidade CO uma chave estrangeira 1 Constitudo N
Relacionamento1:N Departamento Funcionrio
na entidade DONO_DO_CO a chave primria
4
Modelo de dados relacional Como agrupar um conjunto de atributos
Todos os dados bem como os relacionamento existentes entre estes so representados por Conceito de entidade uma maneira de agrupar os atributos que correspondem a um
um conjunto de tabelas (relaes) relacionadas entre si: determinado objecto ou conceito do mundo real, contudo, nem todos os agrupamentos
Cada tabela (entidade) tem um nome nico pelo qual referenciada; possveis so convenientes podendo levar existncia de:
Cada coluna da tabela (atributo) tem um nome e refere-se a um dado aspecto do objecto
representado; desperdcio de espao
Cada coluna contm valores atmicos pertencentes ao domnio do atributo; informao redundante inconsistncia
Cada linha da tabela (tuplo) representa uma nica instncia ou um relacionamento entre valores nulos anomalias em operaes de insero,
entidades;
alterao ou remoo
Cada relao contm zero ou mais tuplos.
Exemplo: Obra (N_Obra, Data_incio_obra, Oramento, N_empregado,
Remunerao_horria, Total_horas_empregado)
Integridade
N_Obra D_I_O Oramento N_empreg. Rem_hor Tot_hor_e
Existem trs tipos de integridade:
1 10010 15-09-97 33 000 2005 700 200
Integridade de domnio: os valores de cada coluna devem ser atmicos e pertencentes
2 10010 15-09-97 33 000 1111 650 202
ao domnio do atributo;
3 10011 06-10-97 52 450 2005 700 40
Integridade de entidade: os valores dos atributos que correspondem chave primria
4 10012 05-01-98 27 600 007 - -
no podem ser nulos nem iguais a outros j existentes na tabela. Notar que, como os
tuplos so diferenciados pela chave primria, se os valores dos atributos
Problemas encontrados:
correspondentes chave primria fossem nulos no seria possvel distinguir entre
tuplos.
Tipo de problema Linha(s) Atributos
Integridade referencial: a chave forasteira numa tabela deve referenciar sempre uma
Redundncia 1,2 D_I_O Oramento
chave primria existente numa outra tabela.
1,3 Rem_hor
Valores nulos ou invlidos 4 N_empreg. Rem_hor Tot_hor_e
5
Anomalias em operaes de insero, de alterao ou de Decomposio da entidade obra
remoo A resoluo dos problemas mencionados anteriormente consiste em decompor a entidade da
seguinte forma.
Anomalias de insero:
necessrio inserir valores nulos para os atributos cujo valor ainda no foi
Obra (N_Obra, Data_incio_obra, Oramento)
determinado, ou valores invlidos quando esses atributos pertencem chave primria, o
Empregado (N_empregado, Remunerao_horria)
que conduz a inconsistncia.
Alocao (N_Obra, N_empregado, Total_horas_empregado)
(No exemplo, quando se insere uma nova obra ou um novo empregado necessrio
introduzir valores nulos e valores invlidos para os atributos que ainda no so
Existira ainda redundncia ?
conhecidos. A alternativa consiste em no inserir dados de uma nova obra ou de um
Ser este modelo correcto e o melhor ?
novo empregado enquanto a alocao no for efectuada.)
Como obter este modelo ?
A duplicao de alguns dados poder dar origem a erros de insero, o que resulta em
inconsistncia.
=> Uma das solues ser recorrer anlise de dependncias funcionais e normalizao.
Anomalias de alterao:
Objectivos a atingir no projecto de modelo de dados:
A existncia de redundncia conduz ao perigo de aps uma actualizao, apenas parte
Guardar todos os dados relevantes
dos dados terem sido actualizados.
Eliminar todos as dados redundantes
(No exemplo, se se alterar a data de inicio da obra, poder ocorrer uma anomalia deste
Manter o nmero de entidades reduzido a um mnimo Objectivos
tipo se no se actualizarem todas as ocorrncias da mesma obra.)
Normalizar todas as entidades antagnicos !
Anomalias de remoo:
A remoo de determinados dados podem levar eliminao de outra informao que
no se pretendia apagar.
(A remoo de uma obra pode conduzir perda de informao relativa a um
empregado)
6
Normalizao
Passagem de uma relao 2FN:
O processo de identificao dos agrupamentos necessrios e da localizao correcta de cada Separar os atributos que dependem de um subconjunto da chave, decompondo a relao em
atributo consiste num conjunto de tcnicas designadas por normalizao. duas (ou mais) relaes.
A normalizao converte cada entidade gradualmente para Formas Normais, atravs da
aplicao sucessiva de regras que alteram o formato dos dados da 1Forma Normal at 5
A B C
Forma normal.
A B C D
Formas Normais B D
1 Forma Normal
Uma relao est na 1 forma normal (1FN) quando: 3 Forma Normal
os domnios de todos os atributos consistem apenas em valores atmicos Uma relao est na 3 forma normal (3FN) quando:
no existem subgrupos de atributos repetidos estiver na 2FN;
os atributos que no pertencem chave no dependem de nenhum atributo que tambm
Passagem de uma entidade 1FN: no pertence chave.
Eliminar subgrupos repetidos, decompondo a relao em duas (ou mais) relaes.
Passagem de uma relao 3FN:
Separar os atributos que dependem de outro atributo no pertencente chave, decompondo
A B
A B C D a relao em duas (ou mais) relaes.
A C D A B C D
A B C D E
2 Forma Normal C E
Uma relao est na 2 forma normal (2FN) quando:
estiver na 1FN;
todos os atributos que no pertencem chave dependem de toda a chave (e no de um
subconjunto da chave).
7
Estratgias de concepo do modelo de dados Diagrama de Entidade-Relacionamento
Nome Designao
Do particular para o geral (Bottom-up) NDoc .... #Disc ....
1) Relao universal; Pequenos projectos
2) Anlise de dependncias funcionais (at 6-8 entidades) Docente Ensina Disciplina
3) Modelo de dados
Do geral para o particular (Top-down)
Entidade: Coisa relativa ao problema a tratar e sobre o qual h interesse em
1) Relao universal;
guardar/manipular informao; Uma entidade deve ter ocorrncias e deve ser
2) Anlise de relacionamentos e participaes; Grandes projectos
possvel identificar uma ocorrncia de outra ocorrncia.
3) Modelo de dados.
8
Relacionamento binrio de grau 1:1 Relacionamento binrio de grau 1:1
Caso 1 (1:1) - participao obrigatria das duas entidades:
Caso 2 (1:1) - participao obrigatria de apenas uma das entidades:
Todos os docentes tm de leccionar uma s disciplina;
Todos os docentes tm de leccionar uma s disciplina.
Cada disciplina tem de ser assegurada por um docente.
P1 D1
1 1 P2
P1 D1 Docente Ensina Disciplina D2
1 1
Docente Ensina Disciplina P3 D3
P2 D2
P3 D4
D3
NDoc Nome Tel #Disc Prereq
1001 Couto 721334 Inf2 Inf1
Docente (Ndoc, Nome, Tel, #Disc, Prereq)
? ? ? IG2 IG1 =>
NDoc Nome Tel #Disc Prereq
1001 Couto 721334 Inf2 Inf1
Docente (Ndoc, Nome, Tel, #Disc) Disciplina (#Disc, Prereq)
1662 Nunes 776188 SOC LP
NDoc Nome Tel #Disc #Disc Prereq
977 Peixoto 722876 Inf1 Nenhum
1001 Couto 721334 Inf2 Inf2 Inf1
IG2 IG1
Regra 1
Relacionamento binrio de grau 1:1 e participao obrigatria de ambas as entidades. Regra 2
9
atributo na entidade correspondente entidade cuja participao obrigatria. Docente (Ndoc, Nome, Tel, #Disc) Disciplina (#Disc, Prereq, NDoc)
Relacionamento binrio de grau 1:1 NDoc Nome Tel #Disc #Disc Prereq NDoc
1001 Couto 721334 Inf2 Inf2 Inf1 1001
Caso 3 (1:1) - sem participao obrigatria em ambas as entidades:
1662 Nunes 776188 SOC SOC LP 1662
Os docentes leccionam uma s disciplina, se no estiverem
1056 Martins 734976 ? IG2 IG1 ?
dispensados do servio docente;
Cada disciplina assegurada por um docente, excepto se for
A subdiviso da entidade em duas, segundo soluo anloga regra 2, tambm origina
opcional e se o nmero de inscries for inferior a 15 alunos.
valores nulos.
Com a utilizao de uma s entidade, surgem valores nulos quer para as disciplinas que So necessrias trs entidades, uma para cada entidade e a terceira para o
ainda no tm docente, quer para os docentes que no leccionam nenhuma disciplina. relacionamento;
A chave primria de cada entidade serve de chave primria na entidade
correspondente;
A entidade correspondente ao relacionamento ter entre os seus atributos as chaves
primrias das duas entidades.
10
Relacionamento binrio de grau 1:N Relacionamento binrio de grau 1:N
Caso 4 (1:N) - participao obrigatria do lado N: Caso 5 (1:N) - participao no obrigatria do lado N.
(a participao obrigatria no lado 1 no afecta resultado)
P1 D1
Os docentes podem leccionar vrias disciplinas; 1 N
Docente Ensina Disciplina P2 D2
Cada disciplina tm de ser assegurada por um s docente.
P3 D3
P1 D1 D4
1 N D2
Docente Ensina Disciplina P2 NDoc Nome Tel #Disc Prereq
Docente (Ndoc, Nome, Tel) Disciplina (#Disc, Prereq, NDoc) 1662 Nunes 776188 SOC LP SOC 1662
NDoc Nome Tel #Disc Prereq NDoc 1056 Martins 734976 SDP SOC SDP 1662
1662 Nunes 776188 SOC LP 1662 IG2 IG1
1056 Martins 734976 SDP SOC 1662
Regra 5
Regra 4 Relacionamento binrio de grau 1:N e participao no obrigatria do lado N.
Relacionamento binrio de grau 1:N e participao obrigatria do lado N.
So necessrias trs entidades, uma para cada entidade e a terceira para o
A chave primria de cada entidade serve de chave primria na entidade A chave primria de cada entidade serve de chave primria na entidade
correspondente; correspondente;
A chave primria da entidade do lado 1 tem de ser usada como atributo na entidade A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves
11
Relacionamento binrio de grau N:M
Docente Disciplina Leccionar
Caso 6 (N:M) - Quando o grau de relacionamento binrio N:M, independentemente do (Ndoc, Nome, Tel) (#Disc, Prereq) (#Disc, NDoc)
tipo de participao, so sempre necessrias 3 entidades. NDoc Nome Tel #Disc Prereq #Disc NDoc
Um docente pode leccionar vrias disciplinas 1001 Couto 721334 Inf2 Inf1 Inf2 1001
Uma disciplina pode ser leccionada por vrios docentes 1662 Nunes 776188 SOC LP SOC 1662
1033 Reis 716623 SDP SOC SDP 1662
P3 D3
P4 D4 Regra 6
D5 Relacionamento binrio de grau N:M.
So sempre necessrias trs entidades, uma para cada entidade e uma terceira para o
NDoc Nome Tel #Disc Prereq
relacionamento;
1001 Couto 721334 Inf2 Inf1
A chave primria de cada entidade serve de chave primria na entidade
1662 Nunes 776188 SOC LP
correspondente;
1662 Nunes 776188 SDP SOC
A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves
1033 Reis 716633 IA LP
primrias de cada uma das entidades.
1052 Neves 714356 IA LP
1056 Martins 734976 ? ?
? ? ? IG2 IG1
Com a utilizao de uma s entidade, surgem valores nulos quer para as disciplinas que
ainda no tm docente, quer para os docentes que no leccionam nenhuma disciplina.
12
Relacionamentos binrios mltiplos O novo relacionamento d origem s seguintes entidades:
Aluno (N_aluno, ...., N_instrutor, ...)
Na maioria dos casos, uma entidade pode ter relacionamentos binrios com diversas Instrutor (N_Instrutor, ....)
entidades, ou seja, relacionamentos binrios mltiplos.
N M N M Questo:
Aluno Inscrito Seminrio Dirigido Instrutor
Quem (so) o(s) orientador(es) de um aluno num dado seminrio ?
N 1
s possvel determinar quais so os instrutores de um seminrio e quais so os
Orientado
orientadores de um dado aluno.
13
Relacionamento ternrio Resumo das regras do mtodo Entidade-Relacionamento
S e m in rio
M Relacionamento N Entidades Observaes
N P
1:1 A Chave primria pode ser a chave de
A lu n o In s c r ito I n s tru to r 1 qualquer das entidades.
14