Escolar Documentos
Profissional Documentos
Cultura Documentos
Seb Cap5 1
Seb Cap5 1
Por: Artur
Sousa
Jorge
Loureiro
Tipos de atributos
NPrprio Nome Apelido Localizaes BI Sexo Nmero Tempo_Actividade Data_nicio_activ
Exemplo de entidade e seus atributos: CO (nome, raa, sexo, data_nascimento) O nome de cada atributo deve ser nico, singular e no ambguo (=> utilizar prefixos ou sufixos. Exemplo: Data => Data_entrega ) Para reduzir as informaes a uma forma normalizada importa que todos os atributos sejam no decomponveis. Diz-se ento que os atributos so atmicos, ou que so atributos elementares O conjunto de todos os valores possveis para um dado atributo constitui o domnio desse atributo Existem vrios tipos de atributos: simples, compostos, multivalor e derivados
Funcionrio
Atributos Simples (Exemplo: BI)
Departamento
Atributos =>
Atributos Compostos
(Exemplo: Nome)
=> Um atributo composto pode ser considerado simples, dependendo da situao a tratar. => Quando os atributos bsicos so tratados separadamente, um atributo composto entra na entidade com todos os seus atributos bsicos ( Funcionrio: BI, Nprprio, Apelido, Sexo)
Atributos Derivados
(Exemplo: Tempo_actividade)
=> Estes atributos devem ser identificados na anlise mas no devem fazer Exemplo de atributo no atmico e no singular: Disciplinas Nome_aluno Jos Silva ... Nmero 1234 ... Disciplinas Fsica, Qumica, Histria ... parte da entidade pois podem ser calculados
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.
DONO_DO_CO
nome_do_dono
endereo
saldo_da_conta Chave primria: Corresponde a uma das chaves possveis e possui as seguintes caractersticas: unvoca - os atributos da chave primria tm um valor unvoco para qualquer instncia; no redundante - se algum dos atributos que formam a chave 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.
CO
nome_do_co
raa
sexo
nome_do_dono
data_licen.
peso
DONO_DO_CO
nome_do_dono
endereo Chave candidata: Atributo ou conjunto de atributos que podem ser usados como chave primria de uma entidade
O atributo endereo deveria ser subdividido ? possvel determinar nmero de ces por freguesia ? => endereo um atributo composto que neste caso deveria ser subdividido Exemplo: Chaves candidatas: N_BI N_Eleitor, Freguesia Nome N_Eleitor N_BI Freguesia Rua
Relacionamento
As entidades no esto isoladas, esto relacionadas com outras entidades => necessrio identificar relacionamentos para ser possvel representar correctamente o mundo real.
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
Exemplo:
Tipos de relacionamentos binrios entre entidades O nmero de ocorrncias de uma entidade, que podem estar associadas com uma ocorrncia
CO
nome_do_co
raa
sexo
nome_do_dono
data_nasc
peso
DONO_DO_CO
nome_do_dono
endereo
saldo_da_conta
D epartam ento
D irigido
Funcionrio
O atributo nome_do_dono : na entidade CO uma chave estrangeira na entidade DONO_DO_CO a chave primria
D epartam ento
C onstitudo N
Funcionrio
=> Este atributo permite estabelecer uma ligao entre as entidades CO e DONO_DO_CO
Relacionam N ento :M
Funcionrio
Trabalha
Projecto
Obra (N_Obra,
alterao ou remoo
Data_incio_obra,
Oramento,
N_empregado,
Remunerao_horria, Total_horas_empregado)
Integridade
N_Obra Existem trs tipos de integridade: Integridade de domnio: os valores de cada coluna devem ser atmicos e pertencentes ao domnio do atributo; Integridade de entidade: os valores dos atributos que correspondem chave primria 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 correspondentes chave primria fossem nulos no seria possvel distinguir entre tuplos. Integridade referencial: a chave forasteira numa tabela deve referenciar sempre uma chave primria existente numa outra tabela. Tipo de problema Redundncia Linha(s) 1,2 1,3 Valores nulos ou invlidos 4 Atributos D_I_O Oramento Problemas encontrados: 1 2 3 4 10010 10010 10011 10012 D_I_O 15-09-97 15-09-97 06-10-97 05-01-98 Oramento 33 000 33 000 52 450 27 600 N_empreg. 2005 1111 2005 007 Rem_hor 700 650 700 Tot_hor_e 200 202 40 -
Obra
Existira ainda redundncia ? Ser este modelo correcto e o melhor ? Como obter este modelo ?
=> Uma das solues ser recorrer anlise de dependncias funcionais e normalizao.
Anomalias de alterao: A existncia de redundncia conduz ao perigo de aps uma actualizao, apenas parte dos dados terem sido actualizados. (No exemplo, se se alterar a data de inicio da obra, poder ocorrer uma anomalia deste tipo se no se actualizarem todas as ocorrncias da mesma obra.)
Objectivos a atingir no projecto de modelo de dados: Guardar todos os dados relevantes Eliminar todos as dados redundantes Manter o nmero de entidades reduzido a um mnimo Normalizar todas as entidades Objectivos 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)
Normalizao
Passagem de uma relao 2FN: O processo de identificao dos agrupamentos necessrios e da localizao correcta de cada atributo consiste num conjunto de tcnicas designadas por normalizao. 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 Forma normal. Separar os atributos que dependem de um subconjunto da chave, decompondo a relao em duas (ou mais) relaes.
A B A B C D B
3 Forma Normal Uma relao est na 3 forma normal (3FN) quando: estiver na 2FN;
Formas Normais
1 Forma Normal Uma relao est na 1 forma normal (1FN) quando: os domnios de todos os atributos consistem apenas em valores atmicos no existem subgrupos de atributos repetidos
os atributos que no pertencem chave no dependem de nenhum atributo que tambm no pertence chave.
Passagem de uma entidade 1FN: Eliminar subgrupos repetidos, decompondo a relao em duas (ou mais) relaes.
A A
B C D
Separar os atributos que dependem de outro atributo no pertencente chave, decompondo a relao em duas (ou mais) relaes.
A B A B C D E C E
2 Forma Normal 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).
Diagrama de Entidade-Relacionamento
Nome NDoc .... #Disc Designao ....
Docente
Ensina
Disciplina
Do geral para o particular (Top-down) 1) Relao universal; 2) Anlise de relacionamentos e participaes; 3) Modelo de dados. Coisa relativa ao problema a tratar e sobre o qual h interesse em guardar/manipular informao; Uma entidade deve ter ocorrncias e deve ser possvel identificar uma ocorrncia de outra ocorrncia.
Professor P1
Ensina
Disciplina
P2 P3 P4
D1 D2 D3 D4
P1
Docente
Ensina
Disciplina
P1 P2 P3
D1 D2 D3
Docente
Ensina
Disciplina
P2 P3
D1 D2 D3 D4
NDoc Docente (Ndoc, Nome, Tel, #Disc, Prereq) NDoc 1001 1662 977 Nome Couto Nunes Peixoto Tel 721334 776188 722876 #Disc Inf2 SOC Inf1 Prereq Inf1 1001 ?
Nome Couto ?
Tel 721334 ?
Docente (Ndoc, Nome, Tel, #Disc) LP Nenhum NDoc 1001 Nome Couto Tel 721334 #Disc Inf2
Regra 1
Relacionamento binrio de grau 1:1 e participao obrigatria de ambas as entidades.
Regra 2
Relacionamento binrio de grau 1:1 e participao obrigatria de apenas uma das
apenas necessrio uma entidade; A chave primria dessa relao pode ser a chave primria de qualquer das entidades.
entidades.
So necessrias duas entidades; A chave primria de cada entidade serve de chave primria na entidade correspondente; A chave primria da entidade com participao no obrigatria tem de ser usada como
Docente (Ndoc, Nome, Tel, #Disc) NDoc 1001 Nome Couto Nunes Martins Tel 721334 776188 734976 #Disc Inf2 SOC ?
Disciplina (#Disc, Prereq, NDoc) #Disc Inf2 SOC IG2 Prereq Inf1 LP IG1 NDoc 1001 1662 ?
1662 1056
A subdiviso da entidade em duas, segundo soluo anloga regra 2, tambm origina valores nulos.
P1
Docente
Ensina
Disciplina
P2 P3 P4
D1 D2 D3 D4
Docente (Ndoc, Nome, Tel) NDoc 1001 1662 1056 Nome Couto Nunes Martins Tel 721334 776188 734976
Disciplina (#Disc, Prereq) #Disc Inf2 SOC IG2 Prereq Inf1 LP IG1
Prereq Inf1 LP IG1 ? Obs.: A chave da entidade Leccionar pode ser NDoc ou #Disc.
Regra 3
Relacionamento binrio de grau 1:1 e participao no obrigatria em ambas as entidades. So necessrias trs entidades, uma para cada entidade e a terceira para o 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.
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.
10
Docente
Ensina
P1
Disciplina
P2 P3
Docente
Ensina
P1
Disciplina
P2 P3
D1 D2 D3 D4
Prereq LP SOC ? Docente (Ndoc, Nome, Tel) NDoc Nome 1662 1056 Nunes Martins
D1 D2 D3 D4
LP SOC ? IG1 Leccionar (#Disc, NDoc) #Disc NDoc SOC SDP 1662 1662
Prereq
Disciplina (#Disc, Prereq) #Disc Prereq SOC SDP IG2 LP SOC IG1
Docente (Ndoc, Nome, Tel) NDoc Nome Tel 1662 1056 Nunes Martins 776188 734976
Disciplina (#Disc, Prereq, NDoc) #Disc Prereq NDoc SOC SDP LP SOC 1662 1662
Regra 5 Regra 4
Relacionamento binrio de grau 1:N e participao obrigatria do lado N. So necessrias duas entidades; A chave primria de cada entidade serve de chave primria na entidade correspondente; A chave primria da entidade do lado 1 tem de ser usada como atributo na entidade correspondente entidade do lado N. Relacionamento binrio de grau 1:N e participao no obrigatria do lado N. So necessrias trs entidades, uma para cada entidade e a terceira para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades.
11
Docente
Ensina
P1
Disciplina
P2 P3 P4
D2 D3 D4 D5
Prereq Inf1 LP SOC LP LP ? IG1
D1
1052 1056
Regra 6
Relacionamento binrio de grau N:M. So sempre necessrias trs entidades, uma para cada entidade e uma terceira para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades.
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
O novo relacionamento d origem s seguintes entidades: Aluno (N_aluno, ...., N_instrutor, ...) Instrutor (N_Instrutor, ....)
O Modelo final seria: Exemplo: Um aluno pode inscrever-se em vrios seminrios; Um seminrio dirigido por vrios instrutores; Um instrutor dirige vrios seminrios.
N A lu n o In sc rito M S e m in rio N D irig id o M In stru to r
(N_aluno, ...., N_instrutor, ...) (N_Instrutor, ....) (N_Seminrio, ....) (N_Seminrio, N_aluno, ....) (N_seminrio, N_Instrutor,...)
Supondo ainda, que o mesmo aluno pode ter vrios instrutores, que podero ser diferentes 3 entidades 3 entidades consoante o seminrio (intervenes diferentes em cada seminrio ), o relacionamento orientado passaria a ser do tipo N:M. Aluno (N_aluno, ....) Seminrio (N_Seminrio, ....) Inscrio (N_Seminrio, N_aluno, ...) Instrutor (N_Instrutor, ....) Seminrio ( ) Direco (N_seminrio, N_Instrutor,..) O modelo final passaria a ser: Aluno Instrutor Seminrio Supondo que um aluno tem de ser orientado por um instrutor nos vrios seminrios (a interveno do aluno sempre a mesma, mas ocorre em vrios seminrios), seria necessrio acrescentar outro relacionamento, obtendo-se: Inscrio Direco Orientao (N_aluno, ....) (N_Instrutor, ....) (N_Seminrio, ....) (N_Seminrio, N_aluno, ....) (N_seminrio, N_Instrutor,...) (N_aluno, N_Instrutor,...)
N Aluno N Inscrito
M Seminrio
N Dirigido
M Instrutor 1
Questo: Quem (so) o(s) orientador(es) de um aluno num dado seminrio ? s possvel determinar quais so os instrutores de um seminrio e quais so os orientadores de um dado aluno.
Orientado
13
Relacionamento ternrio
S e m in rio M N A lu n o In s c r ito P I n s tru to r
Observaes A Chave primria pode ser a chave de qualquer das entidades. A Chave da entidade c/ participao no obrigatria tem de ser atributo na outra. A entidade do relacionamento ter como atributos as chaves de ambas as entidades
1 2 3
Regra 7
Relacionamento ternrio (e superior) So sempre necessrias quatro entidades, uma para cada entidade e uma quarta para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades; Num relacionamento de grau n so necessrias n+1 relaes, de modo inteiramente idntico.
1:1
1:1
1:N
2 3
A Chave da entidade do lado 1 tem de ser atributo na entidade do lado N. A entidade do relacionamento ter como atributos as chaves de ambas as entidades.
1:N
O modelo final passaria a ser: Aluno Instrutor Seminrio Inscrio (N_aluno, ....) (N_Instrutor, ....) (N_Seminrio, ....) (N_Seminrio, N_aluno, N_instrutor,....)
N:M
N+1
Obs.: Se cada aluno tiver um s instrutor num dado seminrio, a chave primria da entidade seria somente N_Aluno, N_seminrio.
14