Projeto de bd oo
* Universidade Federal de Pernambuco *******
* Pós-Graduação em Ciência da Computação ***
* Pablo Rodrigo Campelo Alves **************
--------- Criação dos Tipos ------------- ""
-------- Criação das Tabelas ------------
--------- Inserção de Dados ------------- ''
--- Tipo AGENCIA ---
create or replace type tp_agencia as object( cnpj_agencia number, nome_agencia varchar2(50)
);
create table tb_agencia of tp_agencia( cnpj_agencia primary key, nome_agencia not null
);
insert into tb_agencia values(1,'Agência Brasil Modelos');
--- Tipo CLIENTE ---
create or replace type tp_cliente as object( cnpj_cliente number(11), nome_cliente varchar2(50), area_cliente varchar2(50)
);
create table tb_cliente of tp_cliente( cnpj_cliente primary key, nome_cliente not null, area_cliente not null
);
insert into tb_cliente values(12345678901,'Boticário', 'Perfumaria');
--- Tipo TELEFONE_CLIENTE --------------------------------------------------------------
create or replace type tp_telefone as object( numero varchar2(8)
);
---Tipo Nested_Telefone_Cliente---
create or replace type tp_nt_telefone as table of tp_telefone;
---Tabela Lista_Telefone_Cliente---
create table tb_lista_telefone_cliente( cnpj_cliente number(11), lista_telefone tp_nt_telefone) nested table lista_telefone store as tb_lista_telefone;
insert into tb_lista_telefone_cliente values (12345678901, tp_nt_telefone(tp_telefone(32351678), tp_telefone(55555555)));
select * from tb_lista_telefone_cliente;
-----------------------------------------------------------------------------------------
--- Tipo DEPENDENTE ---
create or replace type tp_dependente as object( codigo_dependente number, nome_dependente varchar(50), ref_titular ref tp_cliente
);
create table tb_dependente of