Tipos e Subtipos CREATE TYPE Pessoa_ty AS OBJECT ( cpf NUMBER, nome VARCHAR2(30), endereço VARCHAR2(100)) NOT FINAL; CRIANDO SUBTIPOS CREATE TYPE Estudante_ty.

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Estudo de Caso, modelo Oracle 10g
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Hierarquia de Visões de Objeto
Oficina sobre banco de dados
Linguagem de Programação II
Bancos de Dados Orientados a Objeto
Banco de Dados Objetos Relacionais
Banco de dados Profª Kelly Medeiros.
PostgreSQL.
Programação Orientada a Objetos em Delphi
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
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.
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
Equipe de monitoria Aula prática 4
Equipe de monitoria Aula prática 4
Vânia Maria Ponte Vidal
SQL Server 2012 Tipos de Dados e Tabelas
PL/SQL, Procedures e Funções
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Tipos de Linguagens do Banco de Dados
Equipe de monitoria Aula prática 4
Primeira aula de PL/SQL Parte II
Especialização em Tecnologia da Informação
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle10g Funções que Manipulam Apontadores.
III – Oracle 10g Herança.
Com coleções, cursor não é mais necessário
Monitoria GDI Aula Prática
Desenvolvendo um script SQL
Criação de Tabelas. CREATE TABLE nome_da_tabela ( >>. >> ) Ex.: SQL SERVER 2008 CREATE TABLE pessoa ( CPF VARCHAR(11) NOT NULL, NOME VARCHAR(100) NOT.
Aula prática 14 Orientação a Objetos – C++ Parte 2
PostGres: Um Banco de Dados Orientado a Objetos
Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
SCC Bancos de Dados e Suas Aplicações
Ricardo Ferreira Schiavo
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
DELETE, UPDATE, COMMIT, ROLLBACK
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
III - Oracle9i Apontadores – Tipo de Dado (REF). Identificador de Objeto A todo objeto de uma “object table” é associado um OID (“Object IDentifier”)
Conceitos de SGBD Objeto-Relacional Oracle 10g [2] Monitoria GDI André Braga, Daniel Penaforte, Domingos Ribeiro, João Pascoal, Maria Carolina.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Bruno Inojosa MCP .NET Framework
 Introdução  Definindo Visões de Objeto  Usando Visões de Objeto  Atualizando Visões de Objeto.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Orientação a objetos no ORACLE 9i Extensões para criar objetos complexos TADs (Tipos de Objetos) Tipo Referência (REF) Tipo Coleção Nested Tables (Tabelas.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Banco de Dados Relacional Objeto-
Esquema Relacional Aplicando um Modelo de Objetos para Dados Relacionais.
III – O Modelo OR Estudo de Caso, modelo Oracle9i.
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Prof. Renato de Oliveira Bastos
Linguagem de definição de dados - SQL
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado.
2/6/2016 José Antônio da Cunha - CEFET - RN1 Programação de Banco de Dados Funções.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
2ª Aula Prática O-R Fernando Fonseca.
Transcrição da apresentação:

Tipos e Subtipos CREATE TYPE Pessoa_ty AS OBJECT ( cpf NUMBER, nome VARCHAR2(30), endereço VARCHAR2(100)) NOT FINAL; CRIANDO SUBTIPOS CREATE TYPE Estudante_ty UNDER Pessoa_ty ( matrícula NUMBER, curso VARCHAR2(30)) NOT FINAL; Permite que subtipos possam ser derivados deste tipo Cria o tipo Estudante_ty como um subtipo de Pessoa_ty Estudante_ty herda todos os atributos e métodos de Pessoa_ty Novos atributos e métodos podem ser declarados no subtipo

Tipos e Subtipos CREATE TYPE Empregado_ty UNDER Pessoa_ty ( Código NUMBER, gerente VARCHAR2(30)); Um tipo pode ter vários subtipos CREATE TYPE EstudanteMestrado UNDER Estudante_ty ( orientador VARCHAR2(30)); Um subtipo pode ser subtipo de outro subtipo

“Overloading” CREATE TYPE MeuTipo_ty AS OBJECT (..., MEMBER PROCEDURE m1(x NUMBER),...) NOT FINAL; CREATE TYPE MeuSubtipo_ty UNDER MeuTipo_ty (..., MEMBER PROCEDURE m1(x DATE), STATIC FUNCTION f1(...)......); Métodos que têm o mesmo nome mas diferentes assinaturas são chamados de “Overload” O tipo MeuSubtipo_ty contém duas versões do método m1(). Uma herdada com parâmetro NUMBER, e a nova com parâmetro DATE.

“Overriding” CREATE TYPE MeuTipo_ty AS OBJECT (..., MEMBER PROCEDURE Print(), FINAL MEMBER FUNCTION f1(x NUMBER)... ) NOT FINAL; CREATE TYPE MeuSubTipo_ty UNDER MeuTipo_ty (..., OVERRIDING MEMBER PROCEDURE Print(),...); Quando um subtipo “overrides” um método, a nova versão é executada quando instâncias do subtipo invoca o método

Substituindo Tipos em uma Hierarquia de Tipos CREATE TYPE Livro_ty AS OBJECT ( título VARCHAR2(30), autor Pessoa_ty /* substituível */); É substituível por uma instância de Estudante_ty or Empregado_ty. Livro_ty(‘My Oracle Experience’, Empregado_ty (12345, ‘Joe’, ‘SF’, 1111, NULL)) SELECT TREAT(l.autor AS Empregado_ty).código FROM Livros l; “Substitutability” : é a habilidade (polimorfismo) de uma instância de um subtipo poder tomar o lugar de uma instância de um supertipo

Substituindo Tipos em uma Hierarquia de Tipos CREATE TYPE Pessoa_ty AS OBJECT ( cpf NUMBER, nome VARCHAR2(30), endereço VARCHAR2(100)) NOT FINAL; CREATE TYPE Estudante_ty UNDER Pessoa_ty ( matrícula NUMBER, curso VARCHAR2(30)) NOT FINAL; CREATE TYPE EstudanteMestrado UNDER Estudante_ty ( orientador VARCHAR2(30));

Substituindo Tipos em uma Hierarquia de Tipos CREATE TABLE Pessoas OF Pessoa_ty; INSERT INTO Pessoas VALUES (Pessoa_ty (1243, ’Bob’, ’121 Front St’)); INSERT INTO Pessoas VALUES (Estudante_ty(3456, ’Joe’, ’34 View’, 12, ’HISTORY’)); INSERT INTO Pessoas VALUES (EstudanteMestrado_ty (5678, ’Tim’, 13, ’Computer Science’, ‘Paul’));

Substituindo Tipos em uma Hierarquia de Tipos INSERT INTO Livros VALUES(’An Autobiography’, Pessoa_ty(1243, ’Bob’)); INSERT INTO Livros VALUES(’Business Rules’, Estudante_ty(3456, ’Joe’, 12, ’HISTORY’)); INSERT INTO Livros VALUES(’Mixing School and Work’, EstudanteMestrado_ty(5678, ’Tim’, 13, ’PHYSICS’, ´Paul´)); CREATE TABLE Livros (title varchar2(100), autor Pessoa_ty);

Substituindo Tipos em uma Hierarquia de Tipos CREATE TABLE LivrosDeEstudantes OF Livro_ty COLUMN autor IS OF (ONLY Estudante_ty); CREATE TABLE catalog (livro Livro_ty, preço NUMBER) COLUMN livro NOT SUBSTITUTABLE AT ALL LEVELS; SELECT p.nome, TREAT(VALUE(p) AS Estudante_ty ).curso curso FROM Pessoas p; NOME CURSO Bob null Joe HISTORY Tim PHYSICS

Substituindo Tipos em uma Hierarquia de Tipos SELECT VALUE(p) FROM Pessoas p WHERE VALUE(p) IS OF (Estudante_ty); Value(p) Estudante_ty (’Joe’, 3456, 12, 10000) EstudanteMestrado_ty(’Tim’, 5678, 13, 1000, ‘Paul’) SELECT b.título titulo, b.autor autor FROM Livros b WHERE b.autor IS OF (ONLY estudante_ty); TITULO AUTOR BusinessRules Estudante_ty(’Joe’, 3456, 12, 10000)

Métodos São Funções ou Procedimentos que você declara na definição de um tipo de objeto para implementar o comportamento que você deseja para as instâncias do tipo. Existem 3 tipos de Método: -Member: implementam as operações das instâncias do tipo - Static: São invocados no tipo de objeto, não para as instâncias. Não tem o parâmetro SELF. - Construtores: São os métodos que fabricam novos objetos. Cada tipo de objeto tem um método construtor definido pelo sistema. O nome do método construtor é o nome do tipo