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

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

Banco de Dados Objetos Relacionais

Apresentações semelhantes


Apresentação em tema: "Banco de Dados Objetos Relacionais"— Transcrição da apresentação:

1 Banco de Dados Objetos Relacionais
Tabelas Aninhadas

2 Tabelas Aninhadas do Oracle
Permite uma relação seja usada como valor de um conjunto de componentes. Seja T um UDT, a sentença abaixo cria um tipo S cujos valores são relações com rowtipe T, por: CREATE TYPE S AS TABLE OF T ;

3 Exemplo: Tabela Aninhada
CREATE TYPE BeerType AS OBJECT ( name CHAR(20), kind CHAR(10), color CHAR(10) ); / CREATE TYPE BeerTableType AS TABLE OF BeerType;

4 Example --- Continued BeerTableType é usada na relação Manfs para armazenar o conjunto de bebidas que produzidas por cada fabricante. CREATE TABLE Manfs ( name CHAR(30), addr CHAR(50), beers beerTableType ); Nested Table Tipo Tabela

5 Armazenamento de Nested Table
As tabelas aninhadas não são armazenadas pelo Oracle como relações separadas. Apenas aparenta ser assim Em vez disso, existe uma relação R na qual todas as tabelas aninhadas para um atributo A são armazenadas. Este relação (R) é declarada em CREATE TABLE by: NESTED TABLE A STORE AS R

6 Armazenamento de Nested Table
DEPARTAMENTOS Tabela de Armazenamento Nome Empregados NESTED_TABLE_ID Values A B C A D B C D - Oracle armazena as linhas de uma nested table em uma tabela separada (tabela de armazenamento) - o oracle usa nested_table_id para relacionar linhas na tabela de armazenamento com a nested table correspondente.

7 Exemplo: Armazenando Tabelas Aninhadas
CREATE TABLE Manfs ( name CHAR(30), addr CHAR(50), beers beerTableType ) NESTED TABLE beers STORE AS BeerTable; Note where the semicolon goes and doesn’t go.

8 Transformando Relações em Tabelas Aninhadas
Uma relação pode se tornar o valor de uma tabela aninhada. Use CAST(MULTISET(…) AS <type> ) na relação para transformá-la no valor com o tipo apropriado para uma tabela aninhada.

9 Exemplo: CAST --- 1 Seja uma relação Beers(beer, manf), em que beer é um objeto BeerType e manf é uma string (o fabricante da bebida). Deseja-se inserir em Manfs uma nova tupla, com os seguintes valores de atributos: beers: conjunto de bebidas (na tabela Beers) em que o valor do atributo manf é Coca-Cola Company nome: Coca-Cola Company addr: Brasil

10 Exemplo: CAST --- 2 ) ); INSERT INTO Manfs VALUES(
Conjunto de bebidas (BeerType) cujo fabricante é Coca-Cola Company INSERT INTO Manfs VALUES( 'Coca-Cola Company', 'Brasil', CAST( MULTISET( SELECT bb.name, bb.manf FROM Beers bb WHERE bb.manf = 'Coca-Cola Company' )AS BeerTableType ) ); Transforma o conjunto de objetos resultantes em uma tabela aninhada

11 Query em uma Tabela Aninhada
Uma tabela aninhada pode ser convertida em uma tabela comum pela aplicação do operador THE(…). Esta relação pode ser usada em uma cláusula FROM como qualquer outra relação.

12 Exemplo: Uso do THE Encontrar o nome das bebidas que estão no conjunto de bebidas do fabricante Coca-Cola Company SELECT bb.name FROM THE( SELECT beers FROM Manfs WHERE name = 'Coca-Cola Company' ) bb; Tabela aninhada do fabricante cujo nome é 'Coca-Cola Company’, Convertida em uma tabela comum pelo operador THE Alias da tabela aninhada (que não tem nome)

13 Exercícios Inserir na tabela Estudios um estúdio com os seguintes valores de atributos: Nome: ‘Ilha do Retiro’ Endereço: Rua: Av. Sport Club do Recife Número: 100 Cidade: Recife Inserir na tabela Filmes um filme com os seguintes valores de atributos: Nome: ‘Campeao do Centenario’ Estudio: Referencia para o estudo criado anteriormente Duração: 100

14 Exercícios (continuação)
No tipo ESTUDIOS, insira uma tabela aninhada para conter os FILMES que foram realizados no estúdio. Insira na tabela ESTUDIO um estúdio com os seguintes valores de atributos: Nome: Estadio do Sport Endereço: Rua: ‘Av.Sport Club do Recife’ Númer0: 101 Cidade: Recife Filmes: Conjunto de Filmes gravados no estúdio de nome ‘Ilha do Retiro’

15 Exercícios (continuação)
Listar o nome dos filmes do conjunto de filmes do estádio de nome ‘Estadio do Sport’ Listar o nome dos filmes do conjunto de filmes do estádio de nome ‘Ilha do Retiro’ Atualizar o objeto Estúdio de nome ‘Ilha do Retiro’ para que valor de seu atributo filmes seja o conjunto de filmes cujo nome do estúdio onde foi gravado seja ‘Ilha do Retiro’.


Carregar ppt "Banco de Dados Objetos Relacionais"

Apresentações semelhantes


Anúncios Google