Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modelação de Dados

2,821 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 Instituto Politécnico do Porto.

Published in: Technology
  • Be the first to comment

Modelação de Dados

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 33. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade SimplesAlunonomeescolamoradaAlberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  34. 34. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade SimplesAlunonomeescolamoradaAtributos CompostosAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostalAlberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  35. 35. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos M´ultiplosAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneAlberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  36. 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. 37. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos chaveAlunon´umeroAlunonomeescolamorada.ruamorada.localidademorada.c´odigoPostaltelefoneidadedataNascimentoAlberto Sim˜oes Modela¸c˜ao de base de Dados 32/46
  38. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×