III – Oracle10g Funções que Manipulam Apontadores.

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

Estudo de Caso, modelo Oracle 10g
VI- Implementação Objeto-Relacional
Aula 3 – DB2 Express-C Autor:
SQL Avançado Continuação
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Maurício Edgar Stivanello
Hierarquia de Visões de Objeto
Oficina sobre banco de dados
Linguagem de Banco de Dados - SQL
Banco de Dados Objetos Relacionais
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Banco de dados Profª Kelly Medeiros.
PostgreSQL.
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.
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
Equipe de monitoria Aula prática 4
Equipe de monitoria Aula prática 4
Bancos de Dados Espaciais
Vânia Maria Ponte Vidal
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Monitoria GDI Aula Prática
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
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle 10g Herança.
Com coleções, cursor não é mais necessário
SEQUENCE, PROCEDURE, FUNÇÃO, TRIGGER
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.
BANCO DE DADOS GEOGRAFICO (ESPACIAL)
Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL.
Conceitos básicos de SQL
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
SEGUNDA FASE / S2B MIC PERNAMBUCO
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
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.
Banco de Dados I I Comandos SQL
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.
 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.
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.
Banco de Dados Relacional Objeto-
Daniel Paulo Constantes ou Literais Caracteres – deve ser utilizado aspas simples ‘Marco Antonio da Silva’ Para utilizar o caractere.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
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)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
Prática O-R Fernando Fonseca.
Aula Prática Objeto-Relacional Monitoria GDI
Prática O-R Fernando Fonseca.
Transcrição da apresentação:

III – Oracle10g Funções que Manipulam Apontadores

Tabelas Híbridas São tabelas em que colunas podem ser dos novos tipos nativos –REF –VARRAY –NESTED TABLE –Tipo definido pelo usuário Note que Tabela Híbrida  –Tabelas atômicas da disciplina BD-I –“Object tables”

Regra de Integridade de Escopo Pode ser necessário declarar que um valor REF deva conter somente referências a objetos de uma “object table” específica –REF com escopo (“scoped REF”) Exemplo: tabela híbrida pessoas CREATE TABLE pessoas ( id NUMBER(4), nome VARCHAR2(60), ref_endereco REF endereço SCOPE IS endereços, fones tabela_de_fones) NESTED TABLE fones STORE AS fones_ntab

CREATE INDEX meu_indice ON pessoas (ref_endereco) SELECT id FROM pessoas p WHERE p.ref_endereco.estado = ‘PB’ Indexação de Colunas REF com Escopo Somente colunas REF com escopo podem ser indexadas Obs: Índices servem para melhorar o tempo de resposta das consultas

Funções com REF -- Tratamento de OIDs SQL> CREATE TYPE emp AS OBJECT 2 (mat NUMBER, nome VARCHAR(20), salario NUMBER) 3 / Tipo criado. SQL> CREATE TABLE emps OF emp 2 (PRIMARY KEY (mat)) 3 / Tabela criada. Obs: Exemplos com a ferramenta SQLPlus

SQL> INSERT INTO emps VALUES (10, 'Joao', 5000) 2 / 1 linha criada. SQL> -- Funcao REF (retorna um valor do tipo REF) SQL> SELECT REF(e) FROM emps e 2 / REF(E) C58AF8D AA0129C4B2F AE5 0203BB B A00000

SQL> CREATE TABLE tab_depto 2 (cod NUMBER, 3 gerente REF emp SCOPE IS emps) 4 / Tabela criada. SQL> INSERT INTO tab_depto 2 SELECT 10, REF(e) FROM emps e WHERE e.mat = 10 3 / 1 linha criada. SQL> -- Funcao DEREF SQL> SELECT DEREF(d.gerente) FROM tab_depto d WHERE d.cod = 10 2 / DEREF(D.GERENTE)(MAT, NOME, SALARIO) EMP(10, 'Joao', 5000)

SQL> SELECT DEREF(d.gerente).nome FROM tab_depto d 2 / DEREF(D.GERENTE).NOM Joao SQL> SELECT d.gerente.nome FROM tab_depto d 2 / GERENTE.NOME Joao A segunda forma é melhor do que a primeira

SQL> -- Funcao VALUE SQL> SELECT VALUE(e) FROM emps e 2 / VALUE(E)(MAT, NOME, SALARIO) EMP(10, 'Joao', 5000)

SQL> SELECT VALUE(e).nome FROM emps e 2 / VALUE(E).NOME Joao SELECT e.nome FROM emps e NOME João A segunda forma é melhor do que a primeira

REF WITH ROWID create type teste as object (x number) / tipo criado. create type teste2 as object (y REF teste) / tipo criado. create table testes of teste / tabela criada. create table testes2 of teste2 ( y WITH ROWID) / tabela criada.