A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelo de Objetos ODMG. ODMG Modelo de objetos ODL OQL.

Apresentações semelhantes


Apresentação em tema: "Modelo de Objetos ODMG. ODMG Modelo de objetos ODL OQL."— Transcrição da apresentação:

1 Modelo de Objetos ODMG

2 ODMG Modelo de objetos ODL OQL

3 Modelo ODMG 1.Objetos 2.Identidade de objeto 3.Estado de objeto 4.Comportamento de objeto 5.Tipos de objeto 6.Definição de tipo de objeto 7.Tipos literais 8.Propriedade de Objeto 9.Herança 10.Herança : relacionamento de Super/Subtipo 11.Herança: relacionamento EXTENDS 12.Herança: Late binding

4 ODMG Objeto Instância de tipo Tem estado : valor de seu atributo Tem identidade Subtipo Mutabilidade –instância de tipo object: mutável –Instância de tipo literal: imutável Encapsula estado e comportamento –Semântica rica e integridade

5 ODMG Identidade de Objeto OID –Mantida pelo sistema Atribuição automática e imutável Uso para associações entre objetos

6 ODMG Estado de objeto Armazenado na atributo/propriedade do objeto Objeto attribute –Tem nome e valor –Sem OID –Vinculado a um objeto com OID –podem ser keys ( mantidas pelo usuário)

7 ODMG Estado de objeto Relacionamento –Associação entre entidades (objetos) –Descrito por até 2 nomes o primeiro é o caminho do relacionamento O segundo, opcional, é o caminho inverso Não possui OID existe sse sobre um objeto com OID

8 ODMG Comportamento de objeto Coleção de operações oferecidas na interface Operação tem –valores de parâmetros –Valores de retorno –Executa tratamento de exceção

9 ODMG Tipos de Objeto Instâncias de objetos Descrição da interface do objeto Várias implementações possíveis –Representação ( conjunto de estruturas de dados) –métodos ( corpo de procedimentos) UML ou ODL

10 ODMG Tipo de definição de objeto interface do objeto –incompleta se operações não são definidas –Insuficiente para criar objeto Classe de implentação –Definição completa –Pode ser instanciada

11 ODMG Tipo literal ODMG tem tipos Simples e Estruturados –Simples Integer Float/ Real Boolean Char String Octet

12 ODMG Tipo literal Estruturados : construídos sobre tipos literais. Date Time Timestamp Interval –Imutáveis –Novos tipos : type generator –Especifica apenas estado não comportamento ( operações)

13 ODMG Propriedades de objeto Noção de tipo –Supertipo –Extensão –Chave Propriedade de instância –Attribute tem nome e tipo –Relashionship tem caminho e multiplicidade Não tem nome, mas o caminho sim OID do objeto associado

14 ODMG Propriedades de objeto Operação de instância –Nome –Valor de retorno –Assinatura ( composição de tipos de parâmetros, tipo do retorno e exceções) –Semântica padrão definida pela implementação, senão, por fórmula

15 ODMG Herança Particionamento de problema Reutilização 2 tipos – relacionamento de supertipo/subtipo ( herança de comportamento) –EXTENDS (comportamento e estado)

16 ODMG Herança relacionamento de supertipo/subtipo Subtipo –Um ou mais supertipos automatic. –Herda tudo ( operação, atributo, relacion.) –Pode haver redefinição ou adição de outras características –O objeto é uma instância de seus tipos e supertipos

17 ODMG Herança relacionamento de supertipo/subtipo Supertipo –Herança de Interface Uma classe deve ser interface Não deve ter subtipo

18 ODMG Herança relacionamento de supertipo/subtipo Supertipo –Herança de Interface Uma classe deve ser interface Não deve ter subtipo –Herança múltipla é possível Mais de um supertipo

19 ODMG Relacionamento EXTENDS Especializar uma classe Reuso da interface e implementação Herança múltipla aqui não é possível Contudo pode haver mais de 1 supertipo

20 ODMG Late Binding Operações podem ser sobrecarregadas –Mesmo nome, mesma assinatura com diferente implementação –Se esta operação usa relacionamento EXTENDS : implementação do tipo específico será selecionada em tempo de execução

21 ODMG Entidades Compostas Outros tipos de objetos –Classe é tipo básico Relacionamento só pode derivar de classe –Tipo: Coleção/ estruturas Set Bag List Array Dictionary –Definidos por collection type generator

22 ODMG ODL Object Definition Language Equivale a CREATE TABLE no SQL Definir classes persistentes –Objetos que permanecem armazenados –Definição é parte da linguagem OO host do BD

23 ODMG ODL Declaração de classe –Nome da classe –Declaração opcional de chave ( key) –Declaração extent –Declaração de element Attribute Relationship method

24 ODMG ODL – definição de classe class { }

25 ODMG ODL – definição de classe class Restaurante { attribute string nome; attribute string endereço; relationship Set serve inverse Prato::servidoEm; } class Prato { attribute string nome; attribute string nacionalidade; relationship Set servidoEm inverse Restaurante::serve; }

26 ODMG ODL- tipos de relacionamento Classe : Restaurante Set : conecta este objeto com conjunto de objetos Prato Bag, List, Array : o object é conectado a bag,list, array de objetos Restaurante

27 ODMG ODL - relacionamentos Sempre binários Muitos-para-muitos –SET<> para o tipo de relacionamento e o seu inverso Muitos-para-um –Set<> no relacionamento para classe-única e apenas a classe para a classe-muitos Um-para-um –Tem classes no tipo em ambas direções

28 ODMG ODL - relacionamentos class Consumidor { relationship Set compra inverse Produto::frequente; relationship Produto sempreCompra inverse Produto::favorito;} class Produto { relationship Set frequente inverse Consumidor::compra; relationship Set favorito inverse Consumidor::sempreCompra; } Muitos para muitos Um-para- muitos

29 ODMG ODL Se há necessidade –criar uma classe de conexão –os objetos representam tuplas de objetos que se deseja conectar Ex. Conectar classe Consumidor, Produto e Preço –Criar classe de conexão CPP –Considere que cada produto tem um preço em cada estabelecimento ( preço não é atributo de produto)

30 ODMG ODL - relacionamentos class CPP { attribute preço : real; relationship Restaurante oRest inverse Restaurante::comCPP; relationship Produto umProd inverse Produto::comCPP; } Será preciso alterar Restaurante e Produto para inlcuir relacionamentos comCPP e ambos do tipo SET(comCPP)

31 ODMG ODL- tipos complexos attribute [STRUCT] |[ENUM] { } ;

32 ODMG ODL- tipos complexos Class Restaurante { attribute string nome; attribute STRUCT end {string rua, string cidade, string uf} endereco; attribute ENUM lic {boate, nenhuma, bar} licença

33 ODMG ODL - subclasse Equivalente à LPOO Indicar superclasse com vírgula e nome subclasse lista apenas suas propriedades Herda as propriedades da superclasse Ex. class BarX : Restaurante {...}

34 ODMG ODL – declarar método Tipo de retorno, se houver Nome de método Modo de argumentos e tipos (sem nome) –Modos : In / out / inout Exceção, se houver Ex. real fecharConta ( in string) raise (semProduto);

35 ODMG ODL – chaves Key Class Restaurante ( key CNPJ, (telefone,IE)) {... }

36 ODMG OQL Object Query Language Consulta no padrão OO Usa ODL como esquema de definição Tipos em OQL são os de ODL Tipos SET e BAG seguem a regra das relações

37 ODMG OQL –Expressões de caminho Seja x um objeto da classe C 1.Se a é um atributo de C então x.a é o valor desse atributo 2. SE r é um relacionamento de C então –x.r é o valor para o qual x está conectado a r. –Resposta : pode ser objeto ou um conjunto de objetos, dependendo do tipo de r 3. SE m é um método de C ENTÃO –x.m(…) é resultado da aplicação de m em x.

38 ODMG OQL Ex. Seja s uma variável do tipo CPP, objeto Produto-Consumidor-Preço –s.preço : preço no objeto s –s.restaurante.endereco

39 ODMG OQL Computar relações como coleções SELECT FROM WHERE Onde coleção pode ser : –Extent de qualquer classeExpressão avaliada de uma coleção

40 ODMG OQL

41 Object Query Language Tenta trabalhar como SQL num contexto OO

42 Referências SETZER- Projetos de BDOO ELMARSI/ NAVATHE- Sistemas de BD ULLMAN – Notas de aula nagement_Group


Carregar ppt "Modelo de Objetos ODMG. ODMG Modelo de objetos ODL OQL."

Apresentações semelhantes


Anúncios Google