130 likes | 417 Views
Aplicando um Modelo de Objetos para Dados Relacionais. Esquema Relacional. Modelo de Objetos. Definindo os Tipos. Definindo as Visões. CREATE OR REPLACE VIEW CLIENTES OF CLIENTE WITH OBJECT IDENTIFIER(codigo) AS SELECT C.ccodigo, C.cnome,
E N D
Aplicando um Modelo de Objetos para Dados Relacionais Esquema Relacional
Modelo de Objetos
Definindo as Visões CREATE OR REPLACE VIEW CLIENTES OFCLIENTE WITH OBJECT IDENTIFIER(codigo) AS SELECT C.ccodigo, C.cnome, C.endereco(C.crua,C.ccidade,C.cestado, C.ccep), Listafone(cfone1, cfone2, cfone3) FROM CLIENTES_REL C;
Definindo as Visões CREATE OR REPLACE VIEW PRODUTOS OF PRODUTO WITH OBJECT IDENTIFIER(codigo) AS SELECT * FROM PRODUTO_REL ;
Comando de Inserção na Visão Pedidos INSERT INTO PEDIDOS VALUES ( 1001, ( SELECT REF(C) FROM CLIENTES C WHERE C.Codigo = 1), SYSDATE, '10-MAY-1997', FONELISTA(), NULL );
Comando de Remoção na Visão Pedidos DELETE FROM PEDIDOS P WHERE P.CODIGO = “01” Trigger de Remoção em Pedidos
Comando de Inserção na NESTED TABLE ListaItens da Visão Pedidos INSERT INTO TABLE (SELECT P.LISTAITENS FROM PEDIDOS P WHERE P.CODIGO = 1001 ) SELECT 01, REF(P1), 12, 0 FROM PRODUTOS P1 WHERE P1.CODIGO = 1534;
Trigger de Inserção na NESTED TABLE ListaItens da Visão Pedidos
Trigger de Remoção na NESTED TABLE ListaItens da Visão Pedidos
Inserção na Nested Table Lista_proj_v da Visão EMPs_v INSERT INTO TABLE( SELECT LISTA_PROJ_V FROM EMPS_V E WHERE E.#EMP = “01”) VALUES(proj_v(12, ‘ARIDA’, ‘234-5678’));