Exemplo dos Internamentos

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Object Query Language - OQL
Object Definifion Language - ODL
Estudo de Caso, modelo Oracle 10g
Modelo de Objetos ODMG.
Paulo Marques Hernâni Pedroso
Evolução dos SGBD’s (2ª Parte).
Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
Objectivos Objectivos
Modelo Objecto Modelo Objecto ODMG objecto: primitiva base
Modelo de objectos - 1 Apoiantes da norma m Object Database Management Group representa 90 % do mercado existente de SGBDOs: –Object Design –Objectivity.
Contratos de Operação.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Análise e Projeto de Sistemas
Modelagem Orientada a Objetos
Persistência de objetos em arquivo texto usando Java
Gerenciamento de Estado de Objeto Alcides Calsavara.
Generalização, Especialização e Conceitos
Projeto de Sistema Orientado a Objeto
Bancos de Dados com Objetos
Comunicação Entre Objetos Distribuídos
Linguagem de Programação II
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
Curso de extensão em Desenvolvimento Web
JAVA: Conceitos Iniciais
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Profa Simone Sawasaki Tanaka
Métodos de Construção de Software: Orientação a Objetos
Banco de Dados de Objetos
Estudo dos Conceitos e Paradigmas de Programação
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Professor: Márcio Amador
Orientação a Objetos Parte I
Programação Orientada à Objetos
TMV Gestão de Redes e de Sistemas Distribuídos ???? Sumário  Arquitectura de Gestão SNMP  Arquitectura de Gestão OSI/TMN  Novas Arquitecturas.
Princípios de Análise e Projeto Orientados a Objetos com UML
UML Diagrama de classes.
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada a Objetos - Java
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
Prof. Gilberto Irajá Müller
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Laboratório de Programação
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto
GESTOR: TIC/TIC-E&P/GIDSEP versão 1 - julho/2013 Tecgraf PUC-Rio Fevereiro de 2014 IDL.
©Silberschatz, Korth and Sudarshan (Modificado)1.1Database System Concepts Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados.
Construtores e Destrutores
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
Bruno Inojosa MCP .NET Framework
II- Padrão ODMG Object Definifion Language - ODL.
Modificadores Programação II.
 SGBDOO Funções SGBD persistência transacções
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
Aula 6 1 Análise Lexical Compiladores, Aula Nº 6 João M. P. Cardoso.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 IDL.
Diagrama de Classes Herança Dependências.
Linguagem Java Programação II.
Bancos de Dados Orientados a Objetos
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Transcrição da apresentação:

Exemplo dos Internamentos Considere o seguinte esquema de uma BD de um hospital. O hospital organiza-se em serviços, cada qual com a designação da respectiva especialidade e o número de camas onde pode internar doentes. Os doentes são pessoas adicionalmente descritas pelo organismo de segurança social e respectivo número. Relativamente a cada internamento, regista-se o momento de entrada no serviço, o motivo, o respectivo momento de alta, o estado à saída e o médico responsável; uma transferência de serviço corresponde a uma alta do primeiro em simultâneo com um novo internamento no segundo. Os funcionários são pessoas com um vencimento e o serviço a que estão adstritos. Os médicos são funcionários com uma especialidade e os enfermeiros são também funcionários com uma categoria e que pertencem a uma equipa. Obtenha o modelo de objectos (em ODL) da situação descrita.

Resolução Equipa

Algumas classes interface Servico { attribute string designacao; attribute int camas; relationship Set<Funcionario> pessoal inverse Funcionario::serviço; relationship Set<Internamento> internados } a associação pessoal tem uma inversa na classe de Funcionarios chamada serviço de forma a garantir a consistência da sua representação em ambas as classes, i.e., que se um funcionário indica a pertença a um serviço, então esse serviço tem que o referir como parte do seu pessoal (idem para Internamento::internado) interface Internamento { relationship Doente internado inverse Doente::internamentos; attribute date entrada; attribute date alta; attribute string motivo; attribute string estado; relationship Servico servico; relationship Medico medico; } a associação Serviço::internados não tem inversa; no conjunto só se incluem os internamentos correntes; do lado dos internamentos, mantém-se o registo completo, incluindo o histórico, dos internamentos, pelo que há referências a objectos serviço sem que nestes existam as correspondentes ligações a internamentos (apagadas quando o doente teve alta)

Modelo Objecto Modelo Objecto ODMG objecto: primitiva base tipo: definição das propriedades e comportamento comuns a um conjunto de objectos propriedades: estado (atributos ou associações) operações: comportamento herança: hierarquias de generalização

Métodos BDOO: integração linguagem de dados e linguagem hospedeira ODL suporta definição de assinaturas de métodos implementação na linguagem hospedeira (Smalltalk, C++, Java); na interface fica só a assinatura, i.e., nomes e tipos dos parâmetros e da função ligação forte entre ODL e a linguagem hospedeira, com tradução directa e acesso às mesmas variáveis OQL define as interrogações mais baseadas em conjuntos (“relacionais”) e os métodos são mais virados para o objecto individual métodos sempre definidos numa classe e executados relativamente a um objecto dessa classe que funciona como parâmetro implícito métodos podem ser vistos como atributos especiais Métodos estilo declaração de função C++ (suporta polimorfismo) parâmetros são declarados in (entrada), out (saída) ou inout (entrada-saída) -- dois últimos passados por referência levantamento de excepções, para tratamento de situações anormais ou inesperadas que são tratadas pelo chamador fora da sequência normal de chamada resposta

Exemplo de declaração de métodos interface Filme (extent Filmes key (titulo, ano)) { attribute string titulo; attribute integer ano; attribute integer comprimento; attribute enum Filme {cor, pretoBranco} tipoFilme; relationship Set<Estrela> estrelas inverse Estrela::filmes; relationship Estudio proprietario inverse Estudio::possui; float comprimentoHoras() raises(semDuracao); nomesActores( out Set<string> ); outrosFilmes( in string, out Set<Filme> ) raises (estrelaInexistente); }; a declaração extent nomeia o conjunto de instâncias da classe existentes no momento - funciona como uma relação as perguntas em OQL referem-se à extensão e não ao nome da classe

Estender LPOO com capacidades BD Extensões à linguagem: OPAL é uma extensão do Smalltalk com classes e primitivas de gestão de BD colecções com restrições para armazenar grandes quantidades de dados blocos de selecção especiais com capacidade para usar índices, onde os haja Fornecimento de bibliotecas de gestão de BD para uso de linguagem standard (C++) Ontos, Objectivity, Object Store usa compiladores standard distinção entre preprocessamento e uso de bibliotecas é ténue Objectivos: eliminar a impedância entre as linguagens especializadas de BD e as de uso geral reduzir o abismo semântico para a especificação do problema Resultado ainda é mais navegacional e menos declarativo do que o modelo relacional forneceu