Your SlideShare is downloading. ×
Modelação de Dados
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Modelação de Dados

577
views

Published on

Modelação de Dados com DER e Modelo Relacional, das aulas de Planeamento de Sistemas de Informação do Mestrado em Informação Empresarial da Escola Superior de Estudos Industriais e de Gestão do …

Modelação de Dados com DER e Modelo Relacional, das aulas de Planeamento de Sistemas de Informação do Mestrado em Informação Empresarial da Escola Superior de Estudos Industriais e de Gestão do Instituto Politécnico do Porto.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
577
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Modela¸c˜ao de base de DadosAlberto Sim˜oesalberto.simoes@eu.ipp.ptPlaneamento de Sistemas de Informa¸c˜aoMestrado em Informa¸c˜ao Empresarial2012/2013Alberto Sim˜oes Modela¸c˜ao de base de Dados 1/46
  • 2. Modela¸c˜ao de DadosA modela¸c˜ao dados ´e um m´etodo que permite modelar aestrutura de uma base de dados;Tipicamente ´e apresentado sob a forma de um diagrama;O Diagrama Entidade-Rela¸c˜ao (Diagrama E-R ou DER) ´euma ferramenta gr´afica para facilitar a modela¸c˜ao de dados;Os DER tˆem como objetivo modelar a semˆantica subjacente `aestrutura de dados;No processo de Modela¸c˜ao de Dados:O primeiro passo corresponde `a abstra¸c˜ao!Quanto mais tempo se mantiver longe de detalhes e deimplementa¸c˜oes espec´ıficas, mais f´acil ser´a alterar o modelo, edecidir como ser˜ao armazenados os dados.Alberto Sim˜oes Modela¸c˜ao de base de Dados 2/46
  • 3. Diagrama Entidade-Rela¸c˜aoO DER ´e uma ferramenta de modela¸c˜ao de dados, semˆantica,que ´e usada para descrever de forma abstrata a estrutura dedados;A estrutura descritos de forma abstrata ´e denominada deModelo Conceptual.O Modelo Conceptual ir´a permitir obter um modelo concreto.Quando o modelo captura a vis˜ao da realidade a armazenar,poderemos passar `a defini¸c˜ao do modelo concreto.Um DER tamb´em pode ser usado para documentar uma basede dados j´a existente, ajudando no processo de reengenharia.Um DER modela dados como entidades e relacionamentos;Alberto Sim˜oes Modela¸c˜ao de base de Dados 3/46
  • 4. Diagrama Entidade-Rela¸c˜aoEntidadesUma entidade ´e uma coisa sobre a qual queremos guardardados, seja uma pessoa, uma conta banc´aria, um edif´ıcio;Nas primeiras referˆencias 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, n˜ao uma instˆancia (tipicamente no singular);O nome de uma entidade deve ser suficientemente gen´ericomas, ao mesmo tempo n˜ao pode ser demasiado gen´erico: onome deve permitir acomodar altera¸c˜oes ao longo do tempo.As entidades tˆem atributos;Um atributo ´e uma propriedade ou carater´ıstica de umaentidade.Alberto Sim˜oes Modela¸c˜ao de base de Dados 4/46
  • 5. Diagrama Entidade-Rela¸c˜aoEntidadesExemplos de Entidades:Pessoas: empregado, veterin´ario, estudante;Lugares: estado, pa´ıs;Objeto: edif´ıcio, autom´ovel, produto;Evento: venda, devolu¸c˜ao;Conceptual: conta, departamento;Alberto Sim˜oes Modela¸c˜ao de base de Dados 5/46
  • 6. Diagramas Entidade-Rela¸c˜aoEntidadesOs dados particulares sobre determinada entidade s˜aoreferidos como instˆancias;Uma instˆancia ´e uma ´unica ocorrˆencia de uma entidade.Cada instˆancia de uma entidade deve ser identificadaunicamente, de modo a que essa instˆancia seja distintivamenteidentific´avel de todas as outras instˆancias da mesma entidade.Por exemplo, numa entidade cliente, poderemos imaginar quea empresa atribui um n´umero de cliente, ´unico, a cada cliente.A este identificador ´unico chamamos chave.Alberto Sim˜oes Modela¸c˜ao de base de Dados 6/46
  • 7. Diagramas Entidade-Rela¸c˜aoEntidades e AtributosNa modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜aorepresentadas em retˆangulos.Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
  • 8. Diagramas Entidade-Rela¸c˜aoEntidades e AtributosNa modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜aorepresentadas em retˆangulos.Os atributos s˜ao colocados `a sua volta.Uma das nota¸c˜oes usadas para atributos representa-os comoc´ırculos ou ovais ligados `a entidade em causa.Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
  • 9. Diagramas Entidade-Rela¸c˜aoAtributosExistem v´arios tipos de atributos:At´omicosAtributos que n˜ao podem ser divididos, da´ı a no¸c˜ao deat´omico;CompostosAtributos que s˜ao formados pela combina¸c˜ao ou agrega¸c˜ao deatributos relacionados;M´ultiplosAtributos que podem conter um ou mais valores paradeterminada instˆancia;DerivadosAtributos ´uteis, mas que n˜ao ir˜ao ser armazenados, porquepodem ser calculados a partir de outros dados presentes nabase de dados.Alberto Sim˜oes Modela¸c˜ao de base de Dados 8/46
  • 10. Diagramas Entidade-Rela¸c˜aoAtributos At´omicosExemplos de atributos at´omicos:n´umero de identifica¸c˜ao fiscal;n´umero de cart˜ao de cidad˜ao;nome;telefone;Note que os mesmos atributos podem ser at´omicos, compostos, oum´ultiplos, dependendo do contexto do problema a ser resolvido.Alberto Sim˜oes Modela¸c˜ao de base de Dados 9/46
  • 11. Diagramas Entidade-Rela¸c˜aoAtributos CompostosExemplos de atributos compostos:nome (se for separado em nome e apelido);c´odigo postal (se o separarem nas suas duas componentes);data (se for separada em dia, mˆes e ano);Alberto Sim˜oes Modela¸c˜ao de base de Dados 10/46
  • 12. Diagramas Entidade-Rela¸c˜aoAtributos M´ultiplosExemplos de atributos m´ultiplos:telefone (se considerar que um aluno pode ter v´arios);e-mail (se considerar que pode ter v´arios);escola (se quiser guardar apenas nomes por onde o alunopassou);Alberto Sim˜oes Modela¸c˜ao de base de Dados 11/46
  • 13. Diagramas Entidade-Rela¸c˜aoAtributos DerivadosExemplos de atributos derivados:idade (calculada com base na data de nascimento);sal´ario mensal (calculada com base no nr. de dias);Alberto Sim˜oes Modela¸c˜ao de base de Dados 12/46
  • 14. Diagramas Entidade-Rela¸c˜aoAtributos ChaveAtributos especiais, que identificam inequivocamente asinstˆancias de uma entidade;Uma entidade podem ter mais que um atributo deste tipo;Este tipo de atributos s˜ao designados de Chaves Candidatas;Quando deste conjunto de chaves se escolhe uma para servirde identificador ´unico passa a ser a Chave Prim´aria;H´a casos em que n˜ao existem atributos deste tipo, o que podeobrigar a que se crie, artificialmente, um atributo indexador;Alberto Sim˜oes Modela¸c˜ao de base de Dados 13/46
  • 15. Diagramas Entidade-Rela¸c˜aoDocumenta¸c˜ao de EntidadesOs DER n˜ao s˜ao propriamente amb´ıguos, mas em muitoscasos ´e relevante explicitar decis˜oes tomadas, que podem n˜aoser 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 s˜ao as chaves candidatas, e qual, e porqueraz˜ao foi escolhida, a chave prim´aria.Dados Exemplo: uma pequena tabela de dados fict´ıcios queajude `a compreens˜ao do ˆambito da entidade.Alberto Sim˜oes Modela¸c˜ao de base de Dados 14/46
  • 16. Diagramas Entidade-Rela¸c˜aoDocumenta¸c˜ao de Entidades (exemplo)Entidade:a base de dados regista informa¸c˜ao sobre os alunos da escolade m´usica;Atributos:nome – nome completo do aluno;escola – escola onde o aluno est´a a realizar o ensinoobrigat´orio;morada – atributo composto pelos atributos rua, localidade ec´odigo postal que contˆem a morada do aluno paracorrespondˆencia;telefone – atributo m´ultiplo com um ou mais telefones decontacto dos encarregados de educa¸c˜ao;data de nascimento – data de nascimento do aluno;idade – atributo derivado, com idade do aluno, calculada combase na data de nascimento;n´umero aluno – n´umero ´unico atribu´ıdo pela escola a cadaaluno;Alberto Sim˜oes Modela¸c˜ao de base de Dados 15/46
  • 17. Diagramas Entidade-Rela¸c˜aoDocumenta¸c˜ao de Entidades (exemplo)Chaves:S´o existe uma chave candidata, que corresponde ao n´umero dealuno. Note-se que dados como o nome n˜ao s˜aoobrigatoriamente ´unicos. Deste modo, a chave prim´aria ser´a on´umero de aluno.Dados Exemplo:nome escola mor.rua mor.cp mor.local tel data nasc idade nr alunoJo˜ao Marques EB23 V˜ao S˜ao Crist´ov˜ao 1234-567 V˜ao 345342312 11.2.1999 14 242Maria S´a EB23 V˜ao Estreita 1234-765 V˜ao 345123123 20.6.2000 13 245Rui Roque EB23 Breu Direita 1234-575 V˜ao 933312345 29.2.2000 13 249Alberto Sim˜oes Modela¸c˜ao de base de Dados 16/46
  • 18. Diagramas Entidade-Rela¸c˜aoRela¸c˜oesUma base de dados ter´a, com certeza, mais que uma entidade;Uma rela¸c˜ao ´e uma liga¸c˜ao ou associa¸c˜ao entre entidades;Na nota¸c˜ao Chen:S˜ao habitualmente denotadas por frases verbais;S˜ao inscritas em losangos;Devem ser lidas da esquerda para a direita (ou de cima parabaixo);Alberto Sim˜oes Modela¸c˜ao de base de Dados 17/46
  • 19. Diagramas Entidade-Rela¸c˜aoRela¸c˜oes - CardinalidadesA rela¸c˜ao 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 rela¸c˜ao usando p´es degalinha:Um aluno pertence a uma turma.Uma turma tem v´arios alunos.Alberto Sim˜oes Modela¸c˜ao de base de Dados 18/46
  • 20. Diagramas Entidade-Rela¸c˜aoRela¸c˜oes - CardinalidadesExistem trˆes tipos de cardinalidade:muitos para muitos — m:nUm cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 21. Diagramas Entidade-Rela¸c˜aoRela¸c˜oes - CardinalidadesExistem trˆes tipos de cardinalidade:muitos para muitos — m:nUm cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.um para muitos — 1:nUma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora.Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 22. Diagramas Entidade-Rela¸c˜aoRela¸c˜oes - CardinalidadesExistem trˆes tipos de cardinalidade:muitos para muitos — m:nUm cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares.um para muitos — 1:nUma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora.um para um — 1:1Um funcion´ario ´e respons´avel por um departamento. // Um departamento tem um ´unico respons´avel.Alberto Sim˜oes Modela¸c˜ao de base de Dados 19/46
  • 23. Diagramas Entidade-Rela¸c˜aoAtributos nas Rela¸c˜oesAlgumas rela¸c˜oes podem precisar de atributos;Por exemplo, se um leitor de uma biblioteca requisita umlivro, ser´a necess´ario guardar a data da requisi¸c˜ao.Existem duas solu¸c˜oes para este problema:1 anotar a rela¸c˜ao com um atributo:2 definir uma nova entidade:Alberto Sim˜oes Modela¸c˜ao de base de Dados 20/46
  • 24. Diagramas Entidade-Rela¸c˜aoRelacionamentos M´ultiplosAs rela¸c˜oes n˜ao s˜ao, necessariamente, entre apenas duasentidades;´E poss´ıvel definir relacionamentos com mais que duasentidades.Alberto Sim˜oes Modela¸c˜ao de base de Dados 21/46
  • 25. Diagramas Entidade-Rela¸c˜aoRelacionamento RecursivoAs rela¸c˜oes n˜ao necessitam de ser entre duas entidadesdistintas;´E poss´ıvel definir relacionamentos em que dois ou mais dosintervenientes s˜ao do mesmo tipo.Alberto Sim˜oes Modela¸c˜ao de base de Dados 22/46
  • 26. Exerc´ıcio 1Um escola pretende criar uma BD que permita gerir toda ainforma¸c˜ao relativa os cursos que disponibiliza e aos alunos que osfrequentam.Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao,dura¸c˜ao e pre¸co. Cada curso est´a estruturado em diversosm´odulos, sendo que deve constar na BD a dura¸c˜ao de cada m´odulo(em horas), o professor, e a data de in´ıcio de cada m´odulo. Umm´odulo pode estar associado a diferentes cursos, com datas dein´ıcio distintas.Para cada aluno deve ser registado o seu n´umero, nome, morada,c´odigo postal, localidade, cursos em que se encontra inscrito (podeinscrever-se em mais que um curso), juntamente com a respetivadata de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado.Alberto Sim˜oes Modela¸c˜ao de base de Dados 23/46
  • 27. Diagramas Entidade-Rela¸c˜aoHeran¸caEm certas circunstˆancias, determinada entidade pode ser umaespecializa¸c˜ao de outra;Por exemplo, numa empresa de telecomunica¸c˜oes, um tarif´ariopr´e-pago e um tarif´ario p´os-pago s˜ao especializa¸c˜oes de umtarif´ario gen´erico.Existem atributos que s˜ao partilhados por todos os tarif´arios,sejam eles pr´e ou p´os pagos;Existem outros atributos que s˜ao espec´ıficos do tipo deatributo;Noutro exemplo, numa biblioteca, existem diferentes tipos deobjetos que podem ser requisitados:livros, DVD e CD tˆem diferentes propriedades;no entanto, podem partilhar alguma informa¸c˜ao;Alberto Sim˜oes Modela¸c˜ao de base de Dados 24/46
  • 28. Diagramas Entidade-Rela¸c˜aoHeran¸caO d indica que a heran¸ca ´e disjunta. Um objeto requisit´avel podeser um livro ou DVD mas n˜ao ambos.Alberto Sim˜oes Modela¸c˜ao de base de Dados 25/46
  • 29. Diagramas Entidade-Rela¸c˜aoHeran¸caNeste caso o c´ırculo n˜ao tem o d, indicando que a heran¸ca n˜ao ´edisjunta. Um funcion´ario pode ser ao mesmo tempo caixa e chefede caixa.Alberto Sim˜oes Modela¸c˜ao de base de Dados 26/46
  • 30. Exerc´ıcio 2Um restaurante pretende fazer a gest˜ao dos seus clientes de formaa garantir a sua fideliza¸c˜ao. Para isso, pretende criar um cart˜ao decliente que permita acumular pontos. Para adquirir um cart˜ao ocliente deve fornecer o seu nome, morada, n´umero fiscal e telefonede contacto. A cada cart˜ao est´a associado um identificador ´unico,e o n´umero de pontos acumulado.Associado a cada cart˜ao existe uma conta corrente, onde est˜aoregistados os almo¸cos ou jantares: data, hora, lista de pratos, evalor total cobrado.Para os clientes ass´ıduos decidiu-se criar um cart˜ao VIP. Estecart˜ao tem um saldo associado, e o cliente pode ir realizandorefei¸c˜oes at´e esgotar esse valor.Alberto Sim˜oes Modela¸c˜ao de base de Dados 27/46
  • 31. Modelo Relacional´E um modelo f´ısico, para a gest˜ao de uma base de dados;´E baseado na l´ogica de predicados e teoria de conjuntos;´E o modelo mais utilizado na atualidade;Existem outros modelos (como o baseado em Objetos) masque ainda n˜ao atingiram os n´ıveis de utiliza¸c˜ao do modelorelacional;Surgiu por volta de 1970, como proposta de Edgar FrankCodd;Baseia todo o seu funcionamento em rela¸c˜oes, que s˜aorepresentadas por tabelas de dados, e na sua inter-rela¸c˜ao.Alberto Sim˜oes Modela¸c˜ao de base de Dados 28/46
  • 32. Modelo RelacionalEsquemaO Esquema de uma base de dados ´e a defini¸c˜ao de umconjunto de tabelas e de que forma elas se relacionam;´E poss´ıvel inferir um esquema relacional a partir de umDiagrama Entidade-Rela¸c˜ao, aplicando um conjunto de regrassimples;Um esquema relacional pode ser refinado, de forma a diminuira ambiguidade e redundˆancia de dados;Um conjunto de regras permitem transformar um esquemarelacional atrav´es de um conjunto de diferentes formasnormais, processo esse denominado de normaliza¸c˜ao;Alberto Sim˜oes Modela¸c˜ao de base de Dados 29/46
  • 33. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade SimplesAlunonomeescolamoradaAlberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  • 34. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade SimplesAlunonomeescolamoradaAtributos CompostosAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalAlberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  • 35. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos M´ultiplosAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneAlberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  • 36. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos M´ultiplosAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneAtributos DerivadosS˜ao representados como um atributo at´omico normal.Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  • 37. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos chaveAlunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 32/46
  • 38. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao 1-nAluno Turman´umeroAluno anonome letratelefone diretorTurmaturma.letraturma.anoAlberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  • 39. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao 1-nAluno Turman´umeroAluno anonome letratelefone diretorTurmaturma.letraturma.anoAos atributos turma.letra e turma.ano s˜ao chamadas ChavesEstrangeiras.Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  • 40. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao n-mCliente ClienteConta ContaBanc´arian´umero cliente.n´umero n´umeronome conta.n´umero saldo. . . . . .Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  • 41. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao n-mCliente ClienteConta ContaBanc´arian´umero cliente.n´umero n´umeronome conta.n´umero saldo. . . . . .Os atributos cliente.n´umero e conta.n´umero s˜ao ChavesEstrangeiras.Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  • 42. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao 1-1Funcion´ario Respons´aveis Departamenton´umero funcion´ario.n´umero c´odigonome departamento.c´odigo nome. . . . . .Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 43. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao 1-1Funcion´ario Respons´aveis Departamenton´umero funcion´ario.n´umero c´odigonome departamento.c´odigo nome. . . . . .Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao ChavesEstrangeiras.Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 44. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜ao 1-1Funcion´ario Respons´aveis Departamenton´umero funcion´ario.n´umero c´odigonome departamento.c´odigo nome. . . . . .Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao ChavesEstrangeiras.Para garantir a unicidade da rela¸c˜ao os atributos funcion´ario.n´umero edepartamento.c´odigo devem ser definidos como colunas sem repeti¸c˜oes.Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  • 45. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRela¸c˜oes com AtributosEnt 1 Ent 2 Ent 3 Rela¸c˜aoid id id Ent1.id. . . . . . . . . Ent2.idEnt3.idPodem ser definidos ´ındices de unicidade nas attr1chaves estrangeiras de modo a garantir a attr2cardinalidade desejada para as rela¸c˜oes. attr3Alberto Sim˜oes Modela¸c˜ao de base de Dados 36/46
  • 46. Exerc´ıcio 3Considerando que um leitor ´e identificado pelo seu n´umero de leitor, ecada livro identificado pelo seu c´odigo, quais s˜ao as diferen¸cas entra omodelo relacional obtido a partir das duas rela¸c˜oes apresentadas abaixo?a)b)Alberto Sim˜oes Modela¸c˜ao de base de Dados 37/46
  • 47. Modelo RelacionalModelo ER ⇒ Esquema RelacionalHierarquia DisjuntaConvers˜ao gen´erica para modelo relacional.ObjetoReq Livrochave chaveLivrotipoObjeto ...chaveEstng... DVDchaveDVDCD ...chaveCD...Alberto Sim˜oes Modela¸c˜ao de base de Dados 38/46
  • 48. Modelo RelacionalModelo ER ⇒ Esquema RelacionalHierarquiaConvers˜ao gen´erica para modelo relacional.Funcion´ario Caixachave chaveCaixa... c´odigoFunc...chefeCaixachaveChefec´odigoFunc...Alberto Sim˜oes Modela¸c˜ao de base de Dados 39/46
  • 49. Exerc´ıcio 4Relembre o Exerc´ıcio 1:Um escola pretende criar uma BD que permita gerir toda a informa¸c˜aorelativa os cursos que disponibiliza e aos alunos que os frequentam.Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao epre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deveconstar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a datade in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentescursos, com datas de in´ıcio distintas.Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigopostal, localidade, cursos em que se encontra inscrito (pode inscrever-seem mais que um curso), juntamente com a respetiva data de inscri¸c˜ao einforma¸c˜ao sobre se o pagamento foi efetuado.Apresente a convers˜ao do modelo conceptual (diagrama E-R) parao modelo relacional.Alberto Sim˜oes Modela¸c˜ao de base de Dados 40/46
  • 50. Normaliza¸c˜aoO modelo relacional obtido pelas regras anteriores nem sempre´e 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 Normaliza¸c˜ao tem como objetivo eliminarredundˆancia e garantir consistˆencia dos dados;O processo de Normaliza¸c˜ao ´e uma sequˆencia de regras quepermitem iterar sobre diferentes formas normais;Cada passo da normaliza¸c˜ao trata de diferentes tipos deproblemas;Existem v´arias formas normais devidamente aceites pelacomunidade (cerca de 5 formas normais), sendo que as trˆesprimeiras s˜ao as mais importantes.Alberto Sim˜oes Modela¸c˜ao de base de Dados 41/46
  • 51. Normaliza¸c˜aoPrimeira Forma NormalRemo¸c˜ao de atributos m´ultiplos.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  • 52. Normaliza¸c˜aoPrimeira Forma NormalRemo¸c˜ao de atributos m´ultiplos.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneidadedataNascimentoDepois:Aluno Aluno Telsn´umeroAluno n´umeroAlunonome telefoneescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  • 53. Normaliza¸c˜aoSegunda Forma NormalRemo¸c˜ao de dependˆencias parciais sobre chaves compostas.Supondo que obtemos a tabela da esquerda:Aluno Turman´umeroAlunoanoletrasalaAlberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 54. Normaliza¸c˜aoSegunda Forma NormalRemo¸c˜ao de dependˆencias parciais sobre chaves compostas.Supondo que obtemos a tabela da esquerda:Aluno Turman´umeroAlunoanoletrasalaNote-se que a sala desta turma ´e espec´ıfica`a turma (ano e letra) e n˜ao muda deacordo com o aluno.Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 55. Normaliza¸c˜aoSegunda Forma NormalRemo¸c˜ao de dependˆencias parciais sobre chaves compostas.Supondo que obtemos a tabela da esquerda:Aluno Turman´umeroAlunoanoletrasalaNote-se que a sala desta turma ´e espec´ıfica`a turma (ano e letra) e n˜ao muda deacordo com o aluno.Aluno Turma Turman´umeroAluno anoano letraletra salaAlberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  • 56. Normaliza¸c˜aoTerceira Forma NormalRemo¸c˜ao de dependˆencias parciais.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 57. Normaliza¸c˜aoTerceira Forma NormalRemo¸c˜ao de dependˆencias parciais.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoRepare-se que a localidade e o c´odigopostal s˜ao interdependentes. Se mudama localidade, tˆem de mudar o c´odigopostal, e vice-versa.Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 58. Normaliza¸c˜aoTerceira Forma NormalRemo¸c˜ao de dependˆencias parciais.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoRepare-se que a localidade e o c´odigopostal s˜ao interdependentes. Se mudama localidade, tˆem de mudar o c´odigopostal, e vice-versa.Ou seja, podemos considerar que apenasum deles depende do n´umero de aluno.Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 59. Normaliza¸c˜aoTerceira Forma NormalRemo¸c˜ao de dependˆencias parciais.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoRepare-se que a localidade e o c´odigopostal s˜ao interdependentes. Se mudama localidade, tˆem de mudar o c´odigopostal, e vice-versa.Ou seja, podemos considerar que apenasum deles depende do n´umero de aluno.Por exemplo, dizer que o c´odigo postaldepende do aluno, mas que a localidaden˜ao ir´a depender do aluno, mas doc´odigo postal que foi introduzido.Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  • 60. Normaliza¸c˜aoTerceira Forma NormalRemo¸c˜ao de dependˆencias parciais.Antes:Alunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalidadedataNascimentoDepois:Aluno C´odigoPostaln´umeroAluno c´odigoPostalnome localidadeescolamorada.ruamorada.c´odigoPostalidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 45/46
  • 61. Exerc´ıcio 5Relembre o Exerc´ıcio 1 e 4:Um escola pretende criar uma BD que permita gerir toda a informa¸c˜aorelativa os cursos que disponibiliza e aos alunos que os frequentam.Para cada curso deve ser registado o seu c´odigo, designa¸c˜ao, dura¸c˜ao epre¸co. Cada curso est´a estruturado em diversos m´odulos, sendo que deveconstar na BD a dura¸c˜ao de cada m´odulo (em horas), o professor, e a datade in´ıcio de cada m´odulo. Um m´odulo pode estar associado a diferentescursos, com datas de in´ıcio distintas.Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigopostal, localidade, cursos em que se encontra inscrito (pode inscrever-seem mais que um curso), juntamente com a respetiva data de inscri¸c˜ao einforma¸c˜ao sobre se o pagamento foi efetuado.Apresente a normaliza¸c˜ao do diagrama conceptual obtidoanteriormente.Alberto Sim˜oes Modela¸c˜ao de base de Dados 46/46