1 / 23

PROJETO DE BDOOs

PROJETO DE BDOOs. Projeto BDOO versus Relacional . Três importante diferenças:  Tratamento de relacionamentos  Tratamento de hierarquias de classes  Especificação das operações. Relacionamentos (Mod. Relacional) .

leia
Download Presentation

PROJETO DE BDOOs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROJETO DE BDOOs

  2. Projeto BDOO versus Relacional Três importante diferenças: Tratamento de relacionamentos Tratamento de hierarquias de classes Especificação das operações

  3. Relacionamentos (Mod. Relacional) Em BD relacionais, relacionamentos são especificados por chaves estrangeiras (casamento de valores entre atributos) Relacionamentos M:N não são representados diretamente, mas através de uma relação separada.

  4. Relacionamentos (Mod. OO) Um BDOO possui propriedades de relacionamento ou atributos de referência: IDO dos objetos relacionados São permitidas tanto referências simples como a coleções.

  5. OO: Referências uni- ou bidirecionais Relacionamentos binários podem ser especificados em uma única ou em ambas as direções, de acordo com o tipo de acesso esperado. Se as referências são declaradas nas duas direções, devem ser especificadas como inversas, o que forçará o SBD a manter a restrição de integridade “referencial”.

  6. Mapeamento de relacionamentos com atributos em BDOO Havendo atributos de relacionamentos, o projetista deverá escolher de que lado colocá-los, ou de ambos os lados. É aceitável criar uma classe separada para representar o relacionamento (abordagem relacional) evitando-se redundância e inconsistência.

  7. Lidando com hierarquia de classes (herança) Em BDOO o mapeamento de hierarquias é direto, através dos construtores de herança: derivação (:) e EXTENDS. Já no relacional o mapeamento é indireto (faz-se uma “simulação” do mecanismo de herança)

  8. Especificação das operações Em BDOO, já na fase de projeto, as opera-ções devem ser especificadas. Em BD Relacionais, embora desejável na fase de projeto, a especificação das operações pode ser adiada.

  9. Mapeamento MER+ / Relacional MER+ Relacional Entidade Relação Relacionam. 1:1 ou 1:N Ch. estrang. ou relação Relacionam. M:N Relação c/ 2 ch. estrangeiras Relacionam. n-ário Relação c/ n ch. estrangeiras Atributo simples Atributo da relação Atributo composto Conj. de atributos simples Atributo multivalorado Relação e ch. estrangeira Atributo identificador Chave

  10. Mapeamento MER+ / Relacional (hierarquias) Seja uma entidade E, com atributos {Ch,a1,a2,...,an} e as entidades derivadas (subclasses) E1, E2,...,Em.

  11. Mapeamento MER+ / Relacional (hierarquias) Tipos de hierarquia: Hierarquia Total Exclusiva Hierarquia Parcial Hierarquia total exclusiva: - E1 E2 ... Em = E -E1 E2... Em = 

  12. Mapeamento MER+ / Relacional (hierarquias) Possibilidades de mapeamento: A: Criar uma relação R para E com os atributos de E = {Ch,a1,a2,. . .,an} Criar uma relação Ri para cada subclasse Ei, com atributos {Ch}  {atributos de Ei} Obs:Ch será também chave prim. de cada Ei

  13. Mapeamento MER+ / Relacional (hierarquias) B: Criar uma relação Ri para cada subclasse Ei, com atributos Atr = {atributos de Ei}  {atributos de E} Obs: Ch será a chave primária de cada Ri

  14. Mapeamento MER+ / Relacional (hierarquias) C: Criar uma única relação R, com atributos Atr={Ch,a1,a2,...,an}  {atributos de E1}  {atributos de E2} ... {atributos de Em}  {t} t: tipo ou discriminação da subclasse. Obs: só aplicável para subclasses disjuntas.

  15. Mapeamento MER+ / Relacional (hierarquias) D: Criar uma única relação R, com atributos Atr={Ch,a1,a2,...,an} {atributos de E1}  {atributos de E2} ... {atributos de Em}  {t1,t2,...,tm} Obs1: t1,t2,...,tm atributos booleanos Obs2: aplicável para subclasses que se sobrepõem (interseção não nula).

  16. Mapeamento MER+ / Modelo OO O mapeamento é direto, com exceção das operações (não fazem parte do MER+), que são adicionadas às declarações de classes.

  17. Mapeamento MER+ / Modelo OO (Passos) 1) - Criar uma classe na LDO para cada entidade do MER+. Incluir todos os atributos da entidade. - Para os atributos multivalorados, empregar os construtores conjunto(set), sacola(bag), ou lista (list). - Atributos compostos são mapeados através do construtor tupla. - Declarar uma extensão (extent) para cada classe, especificando a chave (se suportado pelo SGBDOO)

  18. Mapeamento MER+ / Modelo OO (Passos) 2) - Incluir atributos referência, para cada relacionamento binário, em uma das classes participantes, ou em ambas. Se opção for feita pelas referências bidirecio-nais, declará-las como inversas, se suportado Se o SGBDOO não prevê essas declarações (de mútuas referências), o programador criará os métodos que atualizem apropriadamente os objetos.

  19. Mapeamento MER+ / Modelo OO (Passos) 3) - Incluir as operações apropriadas para cada classe (a partir dos requisitos do sistema). Um método construtor pode incluir rotinas que garantam as restrições a serem observadas na criação de objetos. Idem para métodos destrutores (ou outros)

  20. Mapeamento MER+ / Modelo OO (Passos) 4) - Classes na LDO que correspondam a subclasses no esquema MER+herdam (via EXTENDS) o tipo e os métodos de sua superclasse no esquema LDO. Atributos, referências e operações específicas das subclasses são criadas.

  21. Mapeamento MER+ / Modelo OO (Passos) 5) - Entidades fracas são mapeadas normalmente, como as demais. Se uma dessas entidades só participa de relacionamento com a entidade que a identifica, ela pode ser mapeada como se fosse atributo multivalorado composto daquela entidade (“proprietária”)

  22. Mapeamento MER+ / Modelo OO (Passos) 6) - CATEGORIAS Se uma dessas entidades só participa de relacionamento com a entidade que a identifica, ela pode ser mapeada como se fosse atributo multivalorado composto daquela entidade (“proprietária”)

  23. Mapeamento MER+ / Modelo OO (Passos) 6) - Relacionamentos n-ários (n>2) são mapeados como uma classe separada, com referências a cada classe associada. Um relacionamento binário M:N também pode ser mapeado desta forma (especialmente se houver atributos do relacionamento)

More Related