Download - Modelação de Dados
Modelacao de base de Dados
Alberto [email protected]
Planeamento de Sistemas de InformacaoMestrado em Informacao Empresarial
2012/2013
Alberto Simoes Modelacao de base de Dados 1/46
Modelacao de Dados
A modelacao dados e um metodo que permite modelar aestrutura de uma base de dados;
Tipicamente e apresentado sob a forma de um diagrama;
O Diagrama Entidade-Relacao (Diagrama E-R ou DER) euma ferramenta grafica para facilitar a modelacao de dados;
Os DER tem como objetivo modelar a semantica subjacente aestrutura de dados;
No processo de Modelacao de Dados:
O primeiro passo corresponde a abstracao!Quanto mais tempo se mantiver longe de detalhes e deimplementacoes especıficas, mais facil sera alterar o modelo, edecidir como serao armazenados os dados.
Alberto Simoes Modelacao de base de Dados 2/46
Diagrama Entidade-Relacao
O DER e uma ferramenta de modelacao de dados, semantica,que e usada para descrever de forma abstrata a estrutura dedados;
A estrutura descritos de forma abstrata e denominada deModelo Conceptual.
O Modelo Conceptual ira permitir obter um modelo concreto.
Quando o modelo captura a visao da realidade a armazenar,poderemos passar a definicao do modelo concreto.
Um DER tambem pode ser usado para documentar uma basede dados ja existente, ajudando no processo de reengenharia.
Um DER modela dados como entidades e relacionamentos;
Alberto Simoes Modelacao de base de Dados 3/46
Diagrama Entidade-RelacaoEntidades
Uma entidade e uma coisa sobre a qual queremos guardardados, seja uma pessoa, uma conta bancaria, um edifıcio;
Nas primeiras referencias aos DER, Chen (1976) descreveuuma entidade como “uma coisa que pode ser distintamenteidentificada”
O nome para uma entidade deve representar um tipo ou umaclasse de coisas, nao uma instancia (tipicamente no singular);
O nome de uma entidade deve ser suficientemente genericomas, ao mesmo tempo nao pode ser demasiado generico: onome deve permitir acomodar alteracoes ao longo do tempo.
As entidades tem atributos;
Um atributo e uma propriedade ou caraterıstica de umaentidade.
Alberto Simoes Modelacao de base de Dados 4/46
Diagrama Entidade-RelacaoEntidades
Exemplos de Entidades:
Pessoas: empregado, veterinario, estudante;
Lugares: estado, paıs;
Objeto: edifıcio, automovel, produto;
Evento: venda, devolucao;
Conceptual: conta, departamento;
Alberto Simoes Modelacao de base de Dados 5/46
Diagramas Entidade-RelacaoEntidades
Os dados particulares sobre determinada entidade saoreferidos como instancias;
Uma instancia e uma unica ocorrencia de uma entidade.
Cada instancia de uma entidade deve ser identificadaunicamente, de modo a que essa instancia seja distintivamenteidentificavel de todas as outras instancias da mesma entidade.
Por exemplo, numa entidade cliente, poderemos imaginar quea empresa atribui um numero de cliente, unico, a cada cliente.
A este identificador unico chamamos chave.
Alberto Simoes Modelacao de base de Dados 6/46
Diagramas Entidade-RelacaoEntidades e Atributos
Na modelacao com a notacao Chen, as entidades saorepresentadas em retangulos.��� �� �������� �� ���
�����
Os atributos sao colocados a sua volta.
Uma das notacoes usadas para atributos representa-os comocırculos ou ovais ligados a entidade em causa.��� �� �������� �� ���
�����
���� ���� ����
Alberto Simoes Modelacao de base de Dados 7/46
Diagramas Entidade-RelacaoEntidades e Atributos
Na modelacao com a notacao Chen, as entidades saorepresentadas em retangulos.��� �� �������� �� ���
�����
Os atributos sao colocados a sua volta.
Uma das notacoes usadas para atributos representa-os comocırculos ou ovais ligados a entidade em causa.��� �� �������� �� ���
�����
���� ���� ����
Alberto Simoes Modelacao de base de Dados 7/46
Diagramas Entidade-RelacaoAtributos
Existem varios tipos de atributos:
AtomicosAtributos que nao podem ser divididos, daı a nocao deatomico;
CompostosAtributos que sao formados pela combinacao ou agregacao deatributos relacionados;
MultiplosAtributos que podem conter um ou mais valores paradeterminada instancia;
DerivadosAtributos uteis, mas que nao irao ser armazenados, porquepodem ser calculados a partir de outros dados presentes nabase de dados.
Alberto Simoes Modelacao de base de Dados 8/46
Diagramas Entidade-RelacaoAtributos Atomicos
Exemplos de atributos atomicos:
numero de identificacao fiscal;
numero de cartao de cidadao;
nome;
telefone;
Note que os mesmos atributos podem ser atomicos, compostos, oumultiplos, dependendo do contexto do problema a ser resolvido.
��� �� �������� �� ���
�����
���� ���� ����
Alberto Simoes Modelacao de base de Dados 9/46
Diagramas Entidade-RelacaoAtributos Compostos
Exemplos de atributos compostos:
nome (se for separado em nome e apelido);
codigo postal (se o separarem nas suas duas componentes);
data (se for separada em dia, mes e ano);��� �� �������� �� ���
�����
���� ���� ����
��������
������������
Alberto Simoes Modelacao de base de Dados 10/46
Diagramas Entidade-RelacaoAtributos Multiplos
Exemplos de atributos multiplos:
telefone (se considerar que um aluno pode ter varios);
e-mail (se considerar que pode ter varios);
escola (se quiser guardar apenas nomes por onde o alunopassou);
��� �� �������� �� ���
�����
���� ���� ����
��������
������������
����������������
Alberto Simoes Modelacao de base de Dados 11/46
Diagramas Entidade-RelacaoAtributos Derivados
Exemplos de atributos derivados:
idade (calculada com base na data de nascimento);
salario mensal (calculada com base no nr. de dias);��� �� �������� �� ���
�����
���� ���� ����
��������
������������
����������������
�����������
����
Alberto Simoes Modelacao de base de Dados 12/46
Diagramas Entidade-RelacaoAtributos Chave
Atributos especiais, que identificam inequivocamente asinstancias de uma entidade;Uma entidade podem ter mais que um atributo deste tipo;Este tipo de atributos sao designados de Chaves Candidatas;Quando deste conjunto de chaves se escolhe uma para servirde identificador unico passa a ser a Chave Primaria;Ha casos em que nao existem atributos deste tipo, o que podeobrigar a que se crie, artificialmente, um atributo indexador;
��� �� �������� �� ���
�����
���� ���� ����
����� ���
�� ��������
����������������
����� �����
���
����������
Alberto Simoes Modelacao de base de Dados 13/46
Diagramas Entidade-RelacaoDocumentacao de Entidades
Os DER nao sao propriamente ambıguos, mas em muitoscasos e relevante explicitar decisoes tomadas, que podem naoser claras para outras pessoas;
Para cada Entidade documenta-se:
A Entidade: que objetos representa.Os Atributos: que propriedades devem ser armazenadas sobre aentidade, e o tipo de cada uma dessas propriedades.As Chaves: quais sao as chaves candidatas, e qual, e porquerazao foi escolhida, a chave primaria.Dados Exemplo: uma pequena tabela de dados fictıcios queajude a compreensao do ambito da entidade.
Alberto Simoes Modelacao de base de Dados 14/46
Diagramas Entidade-RelacaoDocumentacao de Entidades (exemplo)
Entidade:a base de dados regista informacao sobre os alunos da escolade musica;
Atributos:nome – nome completo do aluno;escola – escola onde o aluno esta a realizar o ensinoobrigatorio;morada – atributo composto pelos atributos rua, localidade ecodigo postal que contem a morada do aluno paracorrespondencia;telefone – atributo multiplo com um ou mais telefones decontacto dos encarregados de educacao;data de nascimento – data de nascimento do aluno;idade – atributo derivado, com idade do aluno, calculada combase na data de nascimento;numero aluno – numero unico atribuıdo pela escola a cadaaluno;
Alberto Simoes Modelacao de base de Dados 15/46
Diagramas Entidade-RelacaoDocumentacao de Entidades (exemplo)
Chaves:
So existe uma chave candidata, que corresponde ao numero dealuno. Note-se que dados como o nome nao saoobrigatoriamente unicos. Deste modo, a chave primaria sera onumero de aluno.
Dados Exemplo:
nome escola mor.rua mor.cp mor.local tel data nasc idade nr alunoJoao Marques EB23 Vao Sao Cristovao 1234-567 Vao 345342312 11.2.1999 14 242Maria Sa EB23 Vao Estreita 1234-765 Vao 345123123 20.6.2000 13 245Rui Roque EB23 Breu Direita 1234-575 Vao 933312345 29.2.2000 13 249
Alberto Simoes Modelacao de base de Dados 16/46
Diagramas Entidade-RelacaoRelacoes
Uma base de dados tera, com certeza, mais que uma entidade;
Uma relacao e uma ligacao ou associacao entre entidades;
Na notacao Chen:
Sao habitualmente denotadas por frases verbais;Sao inscritas em losangos;Devem ser lidas da esquerda para a direita (ou de cima parabaixo);
��� �� �������� �� ���
�����
���� ������������������������
����
��� �����������������
���������
Alberto Simoes Modelacao de base de Dados 17/46
Diagramas Entidade-RelacaoRelacoes - Cardinalidades
A relacao entre entidades pode ter diferentes cardinalidades:
Por exemplo:
A quantas turmas pode pertencer um aluno?Quantos alunos podem pertencer a uma turma?
Esta cardinalidade e indicada na relacao usando pes degalinha:
��� �� �������� �� ���
�����
���� ������������������������
����
��� �����������������
���������
Um aluno pertence a uma turma.Uma turma tem varios alunos.
Alberto Simoes Modelacao de base de Dados 18/46
Diagramas Entidade-RelacaoRelacoes - Cardinalidades
Existem tres tipos de cardinalidade:
muitos para muitos — m:n��� �� �������� �� ���
������� ��������� ���������
Um cliente pode ter varias contas bancarias. // Uma conta bancaria pode ter varios titulares.
um para muitos — 1:n��� �� �������� �� ���
����� �������
� ������
Uma editora edita varios livros. // Um livro e editado por uma unica editora.
um para um — 1:1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Um funcionario e responsavel por um departamento. // Um departamento tem um unico responsavel.
Alberto Simoes Modelacao de base de Dados 19/46
Diagramas Entidade-RelacaoRelacoes - Cardinalidades
Existem tres tipos de cardinalidade:
muitos para muitos — m:n��� �� �������� �� ���
������� ��������� ���������
Um cliente pode ter varias contas bancarias. // Uma conta bancaria pode ter varios titulares.
um para muitos — 1:n��� �� �������� �� ���
����� �������
� ������
Uma editora edita varios livros. // Um livro e editado por uma unica editora.
um para um — 1:1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Um funcionario e responsavel por um departamento. // Um departamento tem um unico responsavel.
Alberto Simoes Modelacao de base de Dados 19/46
Diagramas Entidade-RelacaoRelacoes - Cardinalidades
Existem tres tipos de cardinalidade:
muitos para muitos — m:n��� �� �������� �� ���
������� ��������� ���������
Um cliente pode ter varias contas bancarias. // Uma conta bancaria pode ter varios titulares.
um para muitos — 1:n��� �� �������� �� ���
����� �������
� ������
Uma editora edita varios livros. // Um livro e editado por uma unica editora.
um para um — 1:1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Um funcionario e responsavel por um departamento. // Um departamento tem um unico responsavel.
Alberto Simoes Modelacao de base de Dados 19/46
Diagramas Entidade-RelacaoAtributos nas Relacoes
Algumas relacoes podem precisar de atributos;
Por exemplo, se um leitor de uma biblioteca requisita umlivro, sera necessario guardar a data da requisicao.
Existem duas solucoes para este problema:1 anotar a relacao com um atributo:��� �� �������� �� ���
������ �����
������ ���
���
�������������
2 definir uma nova entidade:��� �� �������� �� ���
������ ���������
� � ����������
������������ ���
Alberto Simoes Modelacao de base de Dados 20/46
Diagramas Entidade-RelacaoRelacionamentos Multiplos
As relacoes nao sao, necessariamente, entre apenas duasentidades;
E possıvel definir relacionamentos com mais que duasentidades.
��� �� �������� �� ���
������ �����
��������
�������
�������������
Alberto Simoes Modelacao de base de Dados 21/46
Diagramas Entidade-RelacaoRelacionamento Recursivo
As relacoes nao necessitam de ser entre duas entidadesdistintas;
E possıvel definir relacionamentos em que dois ou mais dosintervenientes sao do mesmo tipo.
��� �� �������� �� ���
��������������
���� ���
Alberto Simoes Modelacao de base de Dados 22/46
Exercıcio 1
Um escola pretende criar uma BD que permita gerir toda ainformacao relativa os cursos que disponibiliza e aos alunos que osfrequentam.
Para cada curso deve ser registado o seu codigo, designacao,duracao e preco. Cada curso esta estruturado em diversosmodulos, sendo que deve constar na BD a duracao de cada modulo(em horas), o professor, e a data de inıcio de cada modulo. Ummodulo pode estar associado a diferentes cursos, com datas deinıcio distintas.
Para cada aluno deve ser registado o seu numero, nome, morada,codigo postal, localidade, cursos em que se encontra inscrito (podeinscrever-se em mais que um curso), juntamente com a respetivadata de inscricao e informacao sobre se o pagamento foi efetuado.
Alberto Simoes Modelacao de base de Dados 23/46
Diagramas Entidade-RelacaoHeranca
Em certas circunstancias, determinada entidade pode ser umaespecializacao de outra;
Por exemplo, numa empresa de telecomunicacoes, um tarifariopre-pago e um tarifario pos-pago sao especializacoes de umtarifario generico.
Existem atributos que sao partilhados por todos os tarifarios,sejam eles pre ou pos pagos;Existem outros atributos que sao especıficos do tipo deatributo;
Noutro exemplo, numa biblioteca, existem diferentes tipos deobjetos que podem ser requisitados:
livros, DVD e CD tem diferentes propriedades;no entanto, podem partilhar alguma informacao;
Alberto Simoes Modelacao de base de Dados 24/46
Diagramas Entidade-RelacaoHeranca
��� �� �������� �� ���
������������ ��
� �� ��� ��
�
�
� �
O d indica que a heranca e disjunta. Um objeto requisitavel podeser um livro ou DVD mas nao ambos.
Alberto Simoes Modelacao de base de Dados 25/46
Diagramas Entidade-RelacaoHeranca
��� �� �������� �� ���
�����������
��� � ��
��
� �
Neste caso o cırculo nao tem o d, indicando que a heranca nao edisjunta. Um funcionario pode ser ao mesmo tempo caixa e chefede caixa.
Alberto Simoes Modelacao de base de Dados 26/46
Exercıcio 2
Um restaurante pretende fazer a gestao dos seus clientes de formaa garantir a sua fidelizacao. Para isso, pretende criar um cartao decliente que permita acumular pontos. Para adquirir um cartao ocliente deve fornecer o seu nome, morada, numero fiscal e telefonede contacto. A cada cartao esta associado um identificador unico,e o numero de pontos acumulado.
Associado a cada cartao existe uma conta corrente, onde estaoregistados os almocos ou jantares: data, hora, lista de pratos, evalor total cobrado.
Para os clientes assıduos decidiu-se criar um cartao VIP. Estecartao tem um saldo associado, e o cliente pode ir realizandorefeicoes ate esgotar esse valor.
Alberto Simoes Modelacao de base de Dados 27/46
Modelo Relacional
E um modelo fısico, para a gestao de uma base de dados;
E baseado na logica de predicados e teoria de conjuntos;
E o modelo mais utilizado na atualidade;
Existem outros modelos (como o baseado em Objetos) masque ainda nao atingiram os nıveis de utilizacao do modelorelacional;
Surgiu por volta de 1970, como proposta de Edgar FrankCodd;
Baseia todo o seu funcionamento em relacoes, que saorepresentadas por tabelas de dados, e na sua inter-relacao.
Alberto Simoes Modelacao de base de Dados 28/46
Modelo RelacionalEsquema
O Esquema de uma base de dados e a definicao de umconjunto de tabelas e de que forma elas se relacionam;
E possıvel inferir um esquema relacional a partir de umDiagrama Entidade-Relacao, aplicando um conjunto de regrassimples;
Um esquema relacional pode ser refinado, de forma a diminuira ambiguidade e redundancia de dados;
Um conjunto de regras permitem transformar um esquemarelacional atraves de um conjunto de diferentes formasnormais, processo esse denominado de normalizacao;
Alberto Simoes Modelacao de base de Dados 29/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Entidade Simples��� �� �������� �� ���
�����
���� ���� ����Alunonomeescolamorada
Atributos Compostos��� �� �������� �� ���
�����
���� ���� ����
��������
������������
Alunonomeescolamorada.ruamorada.localidademorada.codigoPostal
Alberto Simoes Modelacao de base de Dados 30/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Entidade Simples��� �� �������� �� ���
�����
���� ���� ����Alunonomeescolamorada
Atributos Compostos��� �� �������� �� ���
�����
���� ���� ����
��������
������������
Alunonomeescolamorada.ruamorada.localidademorada.codigoPostal
Alberto Simoes Modelacao de base de Dados 30/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Atributos Multiplos
��� �� �������� �� ���
�����
���� ���� ����
��������
������������
����������������
Alunonomeescolamorada.ruamorada.localidademorada.codigoPostaltelefone ?
Atributos DerivadosSao representados como um atributo atomico normal.
Alberto Simoes Modelacao de base de Dados 31/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Atributos Multiplos
��� �� �������� �� ���
�����
���� ���� ����
��������
������������
����������������
Alunonomeescolamorada.ruamorada.localidademorada.codigoPostaltelefone ?
Atributos DerivadosSao representados como um atributo atomico normal.
Alberto Simoes Modelacao de base de Dados 31/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Atributos chave
��� �� �������� �� ���
�����
���� ���� ����
����� ���
�� ��������
����������������
����� �����
���
����������
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostaltelefone ?idadedataNascimento
Alberto Simoes Modelacao de base de Dados 32/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao 1-n��� �� �������� �� ���
�����
���� ������������������������
����
��� �����������������
���������
Aluno TurmanumeroAluno anonome letratelefone ? diretorTurmaturma.letraturma.ano
Aos atributos turma.letra e turma.ano sao chamadas ChavesEstrangeiras.
Alberto Simoes Modelacao de base de Dados 33/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao 1-n��� �� �������� �� ���
�����
���� ������������������������
����
��� �����������������
���������
Aluno TurmanumeroAluno anonome letratelefone ? diretorTurmaturma.letraturma.ano
Aos atributos turma.letra e turma.ano sao chamadas ChavesEstrangeiras.
Alberto Simoes Modelacao de base de Dados 33/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao n-m��� �� �������� �� ���
������� ��������� ���������
Cliente ClienteConta ContaBancarianumero cliente.numero numeronome conta.numero saldo. . . . . .
Os atributos cliente.numero e conta.numero sao ChavesEstrangeiras.
Alberto Simoes Modelacao de base de Dados 34/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao n-m��� �� �������� �� ���
������� ��������� ���������
Cliente ClienteConta ContaBancarianumero cliente.numero numeronome conta.numero saldo. . . . . .
Os atributos cliente.numero e conta.numero sao ChavesEstrangeiras.
Alberto Simoes Modelacao de base de Dados 34/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao 1-1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Funcionario Responsaveis Departamentonumero funcionario.numero codigonome departamento.codigo nome. . . . . .
Os atributos funcionario.numero e departamento.codigo sao ChavesEstrangeiras.
Para garantir a unicidade da relacao os atributos funcionario.numero e
departamento.codigo devem ser definidos como colunas sem repeticoes.
Alberto Simoes Modelacao de base de Dados 35/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao 1-1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Funcionario Responsaveis Departamentonumero funcionario.numero codigonome departamento.codigo nome. . . . . .
Os atributos funcionario.numero e departamento.codigo sao ChavesEstrangeiras.
Para garantir a unicidade da relacao os atributos funcionario.numero e
departamento.codigo devem ser definidos como colunas sem repeticoes.
Alberto Simoes Modelacao de base de Dados 35/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacao 1-1��� �� �������� �� ���
����������� ��� ��� �
������������
���
Funcionario Responsaveis Departamentonumero funcionario.numero codigonome departamento.codigo nome. . . . . .
Os atributos funcionario.numero e departamento.codigo sao ChavesEstrangeiras.
Para garantir a unicidade da relacao os atributos funcionario.numero e
departamento.codigo devem ser definidos como colunas sem repeticoes.
Alberto Simoes Modelacao de base de Dados 35/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Relacoes com Atributos��� �� �������� �� ���
���������
��������� ������������ ����
��
��
��
����� ����� ������
Ent 1 Ent 2 Ent 3 Relacaoid id id Ent1.id. . . . . . . . . Ent2.id
Ent3.idPodem ser definidos ındices de unicidade nas attr1chaves estrangeiras de modo a garantir a attr2cardinalidade desejada para as relacoes. attr3
Alberto Simoes Modelacao de base de Dados 36/46
Exercıcio 3
Considerando que um leitor e identificado pelo seu numero de leitor, e
cada livro identificado pelo seu codigo, quais sao as diferencas entra o
modelo relacional obtido a partir das duas relacoes apresentadas abaixo?
a)��� �� �������� �� ���
������ �����
������ ���
���
�������������
b)��� �� �������� �� ���
������ ���������
� � ����������
������������ ���
Alberto Simoes Modelacao de base de Dados 37/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
Hierarquia DisjuntaConversao generica para modelo relacional.
��� �� �������� �� ���
������������ ��
� �� ��� ��
�
�
� �
ObjetoReq Livrochave chaveLivrotipoObjeto ...chaveEstng... DVD
chaveDVDCD ...chaveCD...
Alberto Simoes Modelacao de base de Dados 38/46
Modelo RelacionalModelo ER ⇒ Esquema Relacional
HierarquiaConversao generica para modelo relacional.
��� �� �������� �� ���
�����������
��� � ��
��
� �
Funcionario Caixachave chaveCaixa... codigoFunc
...chefeCaixachaveChefecodigoFunc...
Alberto Simoes Modelacao de base de Dados 39/46
Exercıcio 4
Relembre o Exercıcio 1:
Um escola pretende criar uma BD que permita gerir toda a informacaorelativa os cursos que disponibiliza e aos alunos que os frequentam.
Para cada curso deve ser registado o seu codigo, designacao, duracao epreco. Cada curso esta estruturado em diversos modulos, sendo que deveconstar na BD a duracao de cada modulo (em horas), o professor, e a datade inıcio de cada modulo. Um modulo pode estar associado a diferentescursos, com datas de inıcio distintas.
Para cada aluno deve ser registado o seu numero, nome, morada, codigopostal, localidade, cursos em que se encontra inscrito (pode inscrever-seem mais que um curso), juntamente com a respetiva data de inscricao einformacao sobre se o pagamento foi efetuado.
Apresente a conversao do modelo conceptual (diagrama E-R) parao modelo relacional.
Alberto Simoes Modelacao de base de Dados 40/46
Normalizacao
O modelo relacional obtido pelas regras anteriores nem sempree passıvel de ser implementado numa base de dados relacional;
Por vezes o modelo relacional obtido e ambıguo e pode levar afalta de qualidade dos dados armazenados;
O processo de Normalizacao tem como objetivo eliminarredundancia e garantir consistencia dos dados;
O processo de Normalizacao e uma sequencia de regras quepermitem iterar sobre diferentes formas normais;
Cada passo da normalizacao trata de diferentes tipos deproblemas;Existem varias formas normais devidamente aceites pelacomunidade (cerca de 5 formas normais), sendo que as tresprimeiras sao as mais importantes.
Alberto Simoes Modelacao de base de Dados 41/46
NormalizacaoPrimeira Forma Normal
Remocao de atributos multiplos.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostaltelefone ?idadedataNascimento
Depois:
Aluno Aluno TelsnumeroAluno numeroAlunonome telefoneescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Alberto Simoes Modelacao de base de Dados 42/46
NormalizacaoPrimeira Forma Normal
Remocao de atributos multiplos.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostaltelefone ?idadedataNascimento
Depois:
Aluno Aluno TelsnumeroAluno numeroAlunonome telefoneescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Alberto Simoes Modelacao de base de Dados 42/46
NormalizacaoSegunda Forma Normal
Remocao de dependencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno TurmanumeroAlunoanoletrasala
Note-se que a sala desta turma e especıficaa turma (ano e letra) e nao muda deacordo com o aluno.
Aluno Turma TurmanumeroAluno anoano letraletra sala
Alberto Simoes Modelacao de base de Dados 43/46
NormalizacaoSegunda Forma Normal
Remocao de dependencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno TurmanumeroAlunoanoletrasala
Note-se que a sala desta turma e especıficaa turma (ano e letra) e nao muda deacordo com o aluno.
Aluno Turma TurmanumeroAluno anoano letraletra sala
Alberto Simoes Modelacao de base de Dados 43/46
NormalizacaoSegunda Forma Normal
Remocao de dependencias parciais sobre chaves compostas.
Supondo que obtemos a tabela da esquerda:
Aluno TurmanumeroAlunoanoletrasala
Note-se que a sala desta turma e especıficaa turma (ano e letra) e nao muda deacordo com o aluno.
Aluno Turma TurmanumeroAluno anoano letraletra sala
Alberto Simoes Modelacao de base de Dados 43/46
NormalizacaoTerceira Forma Normal
Remocao de dependencias parciais.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Repare-se que a localidade e o codigopostal sao interdependentes. Se mudama localidade, tem de mudar o codigopostal, e vice-versa.
Ou seja, podemos considerar que apenasum deles depende do numero de aluno.
Por exemplo, dizer que o codigo postaldepende do aluno, mas que a localidadenao ira depender do aluno, mas docodigo postal que foi introduzido.
Alberto Simoes Modelacao de base de Dados 44/46
NormalizacaoTerceira Forma Normal
Remocao de dependencias parciais.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Repare-se que a localidade e o codigopostal sao interdependentes. Se mudama localidade, tem de mudar o codigopostal, e vice-versa.
Ou seja, podemos considerar que apenasum deles depende do numero de aluno.
Por exemplo, dizer que o codigo postaldepende do aluno, mas que a localidadenao ira depender do aluno, mas docodigo postal que foi introduzido.
Alberto Simoes Modelacao de base de Dados 44/46
NormalizacaoTerceira Forma Normal
Remocao de dependencias parciais.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Repare-se que a localidade e o codigopostal sao interdependentes. Se mudama localidade, tem de mudar o codigopostal, e vice-versa.
Ou seja, podemos considerar que apenasum deles depende do numero de aluno.
Por exemplo, dizer que o codigo postaldepende do aluno, mas que a localidadenao ira depender do aluno, mas docodigo postal que foi introduzido.
Alberto Simoes Modelacao de base de Dados 44/46
NormalizacaoTerceira Forma Normal
Remocao de dependencias parciais.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Repare-se que a localidade e o codigopostal sao interdependentes. Se mudama localidade, tem de mudar o codigopostal, e vice-versa.
Ou seja, podemos considerar que apenasum deles depende do numero de aluno.
Por exemplo, dizer que o codigo postaldepende do aluno, mas que a localidadenao ira depender do aluno, mas docodigo postal que foi introduzido.
Alberto Simoes Modelacao de base de Dados 44/46
NormalizacaoTerceira Forma Normal
Remocao de dependencias parciais.
Antes:
AlunonumeroAlunonomeescolamorada.ruamorada.localidademorada.codigoPostalidadedataNascimento
Depois:
Aluno CodigoPostalnumeroAluno codigoPostalnome localidadeescolamorada.ruamorada.codigoPostalidadedataNascimento
Alberto Simoes Modelacao de base de Dados 45/46
Exercıcio 5
Relembre o Exercıcio 1 e 4:
Um escola pretende criar uma BD que permita gerir toda a informacaorelativa os cursos que disponibiliza e aos alunos que os frequentam.
Para cada curso deve ser registado o seu codigo, designacao, duracao epreco. Cada curso esta estruturado em diversos modulos, sendo que deveconstar na BD a duracao de cada modulo (em horas), o professor, e a datade inıcio de cada modulo. Um modulo pode estar associado a diferentescursos, com datas de inıcio distintas.
Para cada aluno deve ser registado o seu numero, nome, morada, codigopostal, localidade, cursos em que se encontra inscrito (pode inscrever-seem mais que um curso), juntamente com a respetiva data de inscricao einformacao sobre se o pagamento foi efetuado.
Apresente a normalizacao do diagrama conceptual obtidoanteriormente.
Alberto Simoes Modelacao de base de Dados 46/46