Successfully reported this slideshow.
Your SlideShare is downloading. ×

Modelação de Dados

Modelação de Dados

Download to read offline

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.

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.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Modelação de Dados

  1. 1. Modela¸c˜ao de base de Dados Alberto Sim˜oes alberto.simoes@eu.ipp.pt Planeamento de Sistemas de Informa¸c˜ao Mestrado em Informa¸c˜ao Empresarial 2012/2013 Alberto Sim˜oes Modela¸c˜ao de base de Dados 1/46
  2. 2. Modela¸c˜ao de Dados A modela¸c˜ao dados ´e um m´etodo que permite modelar a estrutura 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) ´e uma ferramenta gr´afica para facilitar a modela¸c˜ao de dados; Os DER tˆem como objetivo modelar a semˆantica subjacente `a estrutura 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 de implementa¸c˜oes espec´ıficas, mais f´acil ser´a alterar o modelo, e decidir como ser˜ao armazenados os dados. Alberto Sim˜oes Modela¸c˜ao de base de Dados 2/46
  3. 3. Diagrama Entidade-Rela¸c˜ao O DER ´e uma ferramenta de modela¸c˜ao de dados, semˆantica, que ´e usada para descrever de forma abstrata a estrutura de dados; A estrutura descritos de forma abstrata ´e denominada de Modelo 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 base de 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˜ao Entidades Uma entidade ´e uma coisa sobre a qual queremos guardar dados, seja uma pessoa, uma conta banc´aria, um edif´ıcio; Nas primeiras referˆencias aos DER, Chen (1976) descreveu uma entidade como“uma coisa que pode ser distintamente identificada” O nome para uma entidade deve representar um tipo ou uma classe de coisas, n˜ao uma instˆancia (tipicamente no singular); O nome de uma entidade deve ser suficientemente gen´erico mas, ao mesmo tempo n˜ao pode ser demasiado gen´erico: o nome deve permitir acomodar altera¸c˜oes ao longo do tempo. As entidades tˆem atributos; Um atributo ´e uma propriedade ou carater´ıstica de uma entidade. Alberto Sim˜oes Modela¸c˜ao de base de Dados 4/46
  5. 5. Diagrama Entidade-Rela¸c˜ao Entidades Exemplos 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˜ao Entidades Os dados particulares sobre determinada entidade s˜ao referidos como instˆancias; Uma instˆancia ´e uma ´unica ocorrˆencia de uma entidade. Cada instˆancia de uma entidade deve ser identificada unicamente, de modo a que essa instˆancia seja distintivamente identific´avel de todas as outras instˆancias da mesma entidade. Por exemplo, numa entidade cliente, poderemos imaginar que a 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˜ao Entidades e Atributos Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao representadas em retˆangulos. Alberto Sim˜oes Modela¸c˜ao de base de Dados 7/46
  8. 8. Diagramas Entidade-Rela¸c˜ao Entidades e Atributos Na modela¸c˜ao com a nota¸c˜ao Chen, as entidades s˜ao representadas em retˆangulos. Os atributos s˜ao colocados `a sua volta. Uma das nota¸c˜oes usadas para atributos representa-os como c´ı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˜ao Atributos Existem v´arios tipos de atributos: At´omicos Atributos que n˜ao podem ser divididos, da´ı a no¸c˜ao de at´omico; Compostos Atributos que s˜ao formados pela combina¸c˜ao ou agrega¸c˜ao de atributos relacionados; M´ultiplos Atributos que podem conter um ou mais valores para determinada instˆancia; Derivados Atributos ´uteis, mas que n˜ao ir˜ao ser armazenados, porque podem ser calculados a partir de outros dados presentes na base de dados. Alberto Sim˜oes Modela¸c˜ao de base de Dados 8/46
  10. 10. Diagramas Entidade-Rela¸c˜ao Atributos At´omicos Exemplos 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, ou m´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˜ao Atributos Compostos Exemplos 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˜ao Atributos M´ultiplos Exemplos 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 aluno passou); Alberto Sim˜oes Modela¸c˜ao de base de Dados 11/46
  13. 13. Diagramas Entidade-Rela¸c˜ao Atributos Derivados Exemplos 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˜ao Atributos Chave Atributos especiais, que identificam inequivocamente as instˆ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 servir de identificador ´unico passa a ser a Chave Prim´aria; H´a casos em que n˜ao existem atributos deste tipo, o que pode obrigar 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˜ao Documenta¸c˜ao de Entidades Os DER n˜ao s˜ao propriamente amb´ıguos, mas em muitos casos ´e relevante explicitar decis˜oes tomadas, que podem n˜ao ser claras para outras pessoas; Para cada Entidade documenta-se: A Entidade: que objetos representa. Os Atributos: que propriedades devem ser armazenadas sobre a entidade, e o tipo de cada uma dessas propriedades. As Chaves: quais s˜ao as chaves candidatas, e qual, e porque raz˜ao foi escolhida, a chave prim´aria. Dados Exemplo: uma pequena tabela de dados fict´ıcios que ajude `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˜ao Documenta¸c˜ao de Entidades (exemplo) Entidade: a base de dados regista informa¸c˜ao sobre os alunos da escola de m´usica; Atributos: nome – nome completo do aluno; escola – escola onde o aluno est´a a realizar o ensino obrigat´orio; morada – atributo composto pelos atributos rua, localidade e c´odigo postal que contˆem a morada do aluno para correspondˆencia; telefone – atributo m´ultiplo com um ou mais telefones de contacto dos encarregados de educa¸c˜ao; data de nascimento – data de nascimento do aluno; idade – atributo derivado, com idade do aluno, calculada com base na data de nascimento; n´umero aluno – n´umero ´unico atribu´ıdo pela escola a cada aluno; Alberto Sim˜oes Modela¸c˜ao de base de Dados 15/46
  17. 17. Diagramas Entidade-Rela¸c˜ao Documenta¸c˜ao de Entidades (exemplo) Chaves: S´o existe uma chave candidata, que corresponde ao n´umero de aluno. Note-se que dados como o nome n˜ao s˜ao obrigatoriamente ´unicos. Deste modo, a chave prim´aria ser´a o n´umero de aluno. Dados Exemplo: nome escola mor.rua mor.cp mor.local tel data nasc idade nr aluno Jo˜ao Marques EB23 V˜ao S˜ao Crist´ov˜ao 1234-567 V˜ao 345342312 11.2.1999 14 242 Maria S´a EB23 V˜ao Estreita 1234-765 V˜ao 345123123 20.6.2000 13 245 Rui Roque EB23 Breu Direita 1234-575 V˜ao 933312345 29.2.2000 13 249 Alberto Sim˜oes Modela¸c˜ao de base de Dados 16/46
  18. 18. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes Uma 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 para baixo); Alberto Sim˜oes Modela¸c˜ao de base de Dados 17/46
  19. 19. Diagramas Entidade-Rela¸c˜ao Rela¸c˜oes - Cardinalidades A 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 de galinha: 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˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um 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˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares. um para muitos — 1:n Uma 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˜ao Rela¸c˜oes - Cardinalidades Existem trˆes tipos de cardinalidade: muitos para muitos — m:n Um cliente pode ter v´arias contas banc´arias. // Uma conta banc´aria pode ter v´arios titulares. um para muitos — 1:n Uma editora edita v´arios livros. // Um livro ´e editado por uma ´unica editora. um para um — 1:1 Um 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˜ao Atributos nas Rela¸c˜oes Algumas rela¸c˜oes podem precisar de atributos; Por exemplo, se um leitor de uma biblioteca requisita um livro, 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˜ao Relacionamentos M´ultiplos As rela¸c˜oes n˜ao s˜ao, necessariamente, entre apenas duas entidades; ´E poss´ıvel definir relacionamentos com mais que duas entidades. Alberto Sim˜oes Modela¸c˜ao de base de Dados 21/46
  25. 25. Diagramas Entidade-Rela¸c˜ao Relacionamento Recursivo As rela¸c˜oes n˜ao necessitam de ser entre duas entidades distintas; ´E poss´ıvel definir relacionamentos em que dois ou mais dos intervenientes s˜ao do mesmo tipo. Alberto Sim˜oes Modela¸c˜ao de base de Dados 22/46
  26. 26. Exerc´ıcio 1 Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa 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 e pre¸co. Cada curso est´a estruturado em diversos m´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. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data 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˜ao Heran¸ca Em certas circunstˆancias, determinada entidade pode ser uma especializa¸c˜ao de outra; Por exemplo, numa empresa de telecomunica¸c˜oes, um tarif´ario pr´e-pago e um tarif´ario p´os-pago s˜ao especializa¸c˜oes de um tarif´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 de atributo; Noutro exemplo, numa biblioteca, existem diferentes tipos de objetos 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˜ao Heran¸ca O d indica que a heran¸ca ´e disjunta. Um objeto requisit´avel pode ser 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˜ao Heran¸ca Neste caso o c´ırculo n˜ao tem o d, indicando que a heran¸ca n˜ao ´e disjunta. Um funcion´ario pode ser ao mesmo tempo caixa e chefe de caixa. Alberto Sim˜oes Modela¸c˜ao de base de Dados 26/46
  30. 30. Exerc´ıcio 2 Um restaurante pretende fazer a gest˜ao dos seus clientes de forma a garantir a sua fideliza¸c˜ao. Para isso, pretende criar um cart˜ao de cliente que permita acumular pontos. Para adquirir um cart˜ao o cliente deve fornecer o seu nome, morada, n´umero fiscal e telefone de 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˜ao registados os almo¸cos ou jantares: data, hora, lista de pratos, e valor total cobrado. Para os clientes ass´ıduos decidiu-se criar um cart˜ao VIP. Este cart˜ao tem um saldo associado, e o cliente pode ir realizando refei¸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) mas que ainda n˜ao atingiram os n´ıveis de utiliza¸c˜ao do modelo relacional; Surgiu por volta de 1970, como proposta de Edgar Frank Codd; Baseia todo o seu funcionamento em rela¸c˜oes, que s˜ao representadas 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 Relacional Esquema O Esquema de uma base de dados ´e a defini¸c˜ao de um conjunto de tabelas e de que forma elas se relacionam; ´E poss´ıvel inferir um esquema relacional a partir de um Diagrama Entidade-Rela¸c˜ao, aplicando um conjunto de regras simples; Um esquema relacional pode ser refinado, de forma a diminuir a ambiguidade e redundˆancia de dados; Um conjunto de regras permitem transformar um esquema relacional atrav´es de um conjunto de diferentes formas normais, processo esse denominado de normaliza¸c˜ao; Alberto Sim˜oes Modela¸c˜ao de base de Dados 29/46
  33. 33. Modelo Relacional Modelo ER ⇒ Esquema Relacional Entidade Simples Aluno nome escola morada Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  34. 34. Modelo Relacional Modelo ER ⇒ Esquema Relacional Entidade Simples Aluno nome escola morada Atributos Compostos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal Alberto Sim˜oes Modela¸c˜ao de base de Dados 30/46
  35. 35. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos M´ultiplos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  36. 36. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos M´ultiplos Aluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone Atributos Derivados S˜ao representados como um atributo at´omico normal. Alberto Sim˜oes Modela¸c˜ao de base de Dados 31/46
  37. 37. Modelo Relacional Modelo ER ⇒ Esquema Relacional Atributos chave Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 32/46
  38. 38. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-n Aluno Turma n´umeroAluno ano nome letra telefone diretorTurma turma.letra turma.ano Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  39. 39. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-n Aluno Turma n´umeroAluno ano nome letra telefone diretorTurma turma.letra turma.ano Aos atributos turma.letra e turma.ano s˜ao chamadas Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 33/46
  40. 40. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao n-m Cliente ClienteConta ContaBanc´aria n´umero cliente.n´umero n´umero nome conta.n´umero saldo . . . . . . Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  41. 41. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao n-m Cliente ClienteConta ContaBanc´aria n´umero cliente.n´umero n´umero nome conta.n´umero saldo . . . . . . Os atributos cliente.n´umero e conta.n´umero s˜ao Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 34/46
  42. 42. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  43. 43. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves Estrangeiras. Alberto Sim˜oes Modela¸c˜ao de base de Dados 35/46
  44. 44. Modelo Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜ao 1-1 Funcion´ario Respons´aveis Departamento n´umero funcion´ario.n´umero c´odigo nome departamento.c´odigo nome . . . . . . Os atributos funcion´ario.n´umero e departamento.c´odigo s˜ao Chaves Estrangeiras. Para garantir a unicidade da rela¸c˜ao os atributos funcion´ario.n´umero e departamento.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 Relacional Modelo ER ⇒ Esquema Relacional Rela¸c˜oes com Atributos Ent 1 Ent 2 Ent 3 Rela¸c˜ao id id id Ent1.id . . . . . . . . . Ent2.id Ent3.id Podem ser definidos ´ındices de unicidade nas attr1 chaves estrangeiras de modo a garantir a attr2 cardinalidade desejada para as rela¸c˜oes. attr3 Alberto Sim˜oes Modela¸c˜ao de base de Dados 36/46
  46. 46. Exerc´ıcio 3 Considerando que um leitor ´e identificado pelo seu n´umero de leitor, e cada livro identificado pelo seu c´odigo, quais s˜ao as diferen¸cas entra o modelo 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 Relacional Modelo ER ⇒ Esquema Relacional Hierarquia Disjunta Convers˜ao gen´erica para modelo relacional. ObjetoReq Livro chave chaveLivro tipoObjeto ... chaveEstng ... DVD chaveDVD CD ... chaveCD ... Alberto Sim˜oes Modela¸c˜ao de base de Dados 38/46
  48. 48. Modelo Relacional Modelo ER ⇒ Esquema Relacional Hierarquia Convers˜ao gen´erica para modelo relacional. Funcion´ario Caixa chave chaveCaixa ... c´odigoFunc ... chefeCaixa chaveChefe c´odigoFunc ... Alberto Sim˜oes Modela¸c˜ao de base de Dados 39/46
  49. 49. Exerc´ıcio 4 Relembre o Exerc´ıcio 1: Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa 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 e pre¸co. Cada curso est´a estruturado em diversos m´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. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado. Apresente a convers˜ao do modelo conceptual (diagrama E-R) para o modelo relacional. Alberto Sim˜oes Modela¸c˜ao de base de Dados 40/46
  50. 50. Normaliza¸c˜ao O 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 `a falta de qualidade dos dados armazenados; O processo de Normaliza¸c˜ao tem como objetivo eliminar redundˆancia e garantir consistˆencia dos dados; O processo de Normaliza¸c˜ao ´e uma sequˆencia de regras que permitem iterar sobre diferentes formas normais; Cada passo da normaliza¸c˜ao trata de diferentes tipos de problemas; Existem v´arias formas normais devidamente aceites pela comunidade (cerca de 5 formas normais), sendo que as trˆes primeiras s˜ao as mais importantes. Alberto Sim˜oes Modela¸c˜ao de base de Dados 41/46
  51. 51. Normaliza¸c˜ao Primeira Forma Normal Remo¸c˜ao de atributos m´ultiplos. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  52. 52. Normaliza¸c˜ao Primeira Forma Normal Remo¸c˜ao de atributos m´ultiplos. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal telefone idade dataNascimento Depois: Aluno Aluno Tels n´umeroAluno n´umeroAluno nome telefone escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 42/46
  53. 53. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  54. 54. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Note-se que a sala desta turma ´e espec´ıfica `a turma (ano e letra) e n˜ao muda de acordo com o aluno. Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  55. 55. Normaliza¸c˜ao Segunda Forma Normal Remo¸c˜ao de dependˆencias parciais sobre chaves compostas. Supondo que obtemos a tabela da esquerda: Aluno Turma n´umeroAluno ano letra sala Note-se que a sala desta turma ´e espec´ıfica `a turma (ano e letra) e n˜ao muda de acordo com o aluno. Aluno Turma Turma n´umeroAluno ano ano letra letra sala Alberto Sim˜oes Modela¸c˜ao de base de Dados 43/46
  56. 56. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  57. 57. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  58. 58. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Ou seja, podemos considerar que apenas um deles depende do n´umero de aluno. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  59. 59. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Repare-se que a localidade e o c´odigo postal s˜ao interdependentes. Se mudam a localidade, tˆem de mudar o c´odigo postal, e vice-versa. Ou seja, podemos considerar que apenas um deles depende do n´umero de aluno. Por exemplo, dizer que o c´odigo postal depende do aluno, mas que a localidade n˜ao ir´a depender do aluno, mas do c´odigo postal que foi introduzido. Alberto Sim˜oes Modela¸c˜ao de base de Dados 44/46
  60. 60. Normaliza¸c˜ao Terceira Forma Normal Remo¸c˜ao de dependˆencias parciais. Antes: Aluno n´umeroAluno nome escola morada.rua morada.localidade morada.c´odigoPostal idade dataNascimento Depois: Aluno C´odigoPostal n´umeroAluno c´odigoPostal nome localidade escola morada.rua morada.c´odigoPostal idade dataNascimento Alberto Sim˜oes Modela¸c˜ao de base de Dados 45/46
  61. 61. Exerc´ıcio 5 Relembre o Exerc´ıcio 1 e 4: Um escola pretende criar uma BD que permita gerir toda a informa¸c˜ao relativa 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 e pre¸co. Cada curso est´a estruturado em diversos m´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. Um m´odulo pode estar associado a diferentes cursos, com datas de in´ıcio distintas. Para cada aluno deve ser registado o seu n´umero, nome, morada, c´odigo postal, localidade, cursos em que se encontra inscrito (pode inscrever-se em mais que um curso), juntamente com a respetiva data de inscri¸c˜ao e informa¸c˜ao sobre se o pagamento foi efetuado. Apresente a normaliza¸c˜ao do diagrama conceptual obtido anteriormente. Alberto Sim˜oes Modela¸c˜ao de base de Dados 46/46

×