Sie sind auf Seite 1von 7

------

Continuao BDOR - Contas Bancrias TipoFone TipoEndereco TipoFilial + Tabela Tipada Tipo Funcionario + Tabela Tipada - Ref

-- Tipo Banco DROP TYPE tipobanco FORCE; CREATE TYPE tipobanco AS OBJECT ( num_banco INTEGER, nome_banco VARCHAR25(50), end_matriz tipoendereco); -- Tabela tipada banco DROP TABLE banco CASCADE CONSTRAINTS; CREATE TABLE banco OF tipobanco ( CONSTRAINT nomebconn nome.banco NOT NULL) OBJECT IDENTIFIER IS SYSTEM GENERATED; -- Populando Banco INSERT INTO banco VALUES ( 341, 'Banco Itau S/A', tipoendereco ('Av. Jabaquara', '200', null, 'Conc eio', 'So Paulo', 'SP', '05577991', tipofone ('0551199556677', '0551183442211'))); SELECT b.nome_banco, b.end_matriz.logradouro FROM banco b; -- Tipo Agncia DROP TYPE tipoagencia FORCE; CREATE TYPE tipoagencia AS OBJECT ( num_agencia INTEGER, num_banco INTEGER, end_agencia tipoendereco, gerente VARCHAR2(30)); -- Tabela Tipada Agncia DROP TABLE agencia CASCADE; CREATE TABLE agencia OF tipoagencia (PRIMARY KEY (num_agencia, num_banco), FOREIGN KEY (num_banco) REFERENCES banco) OBJECT IDENTIFIER IS SYSTEM GENERATED; -- Populando agencia INSERT INTO agencia (num_agencia, num_banco, gerente) VALUES (10, 341, 'Z Toco'); INSERT INTO agencia (num_agencia, num_banco, gerente) VALUES (20, 341, 'Rita Rui Rei'); -- Tipo Conta bancria DROP TYPE tipocontabancaria FORCE;

CREATE TYPE tipocontabancaria AS OBJECT ( num_conta INTEGER, num_agencia INTEGER, filial REF tipofilial, saldo_conta NUMBER(12,2)) NOT FINAL; -- Tabela tipada conta Bancria DROP TABLE conta_bancaria CASCADE; CREATE TABLE conta_bancaria OF tipocontabancaria ( PRIMARY KEY (num_conta, num_agencia, num_banco), FOREIGN KEY (num_agencia, num_banco) REFERENCES agencia) OBJECT IDENTIFIER IS SYSTEM GENERATED; -- Populando conta bancria INSERT INTO conta_bancaria VALUES (500, 10, 341, (SELECT REF(f) FROM filial f WH ERE f.num_filial = 1), 1100); INSERT INTO conta_bancaria VALUES (600, 10, 341, (SELECT REF(f) FROM filial f WH ERE f.num_filial = 1), 3551.22); -- Tipo Talao de cheque DROP TYPE tipotalao FORCE; CREATE TYPE tipotalao AS OBJECT ( folha_ini CHAR(5), folha_fim CHAR(5), tarifa NUMBER(12,2)); DROP TYPE talaocheque FORCE; CREATE TYPE talaocheque AS TABLE OF tipotalao; -- Tipo conta corrente DROP TYPE tipocontacorrente FORCE; CREATE TYPE tipocontacorrente UNDER tipocontabancaria ( saldo_cc NUMBER (15,2), taloes talaocheque); -- Tabela tipada conta corrente DROP TABLE conta_corrente CASCADE CONSTRAINTS; CREATE TABLE conta_corrente OF tipocontacorrente ( PRIMARY KEY (num_conta, num_agencia, num_banco), FOREIGN KEY (num_conta, num_agencia, num_banco) REFERENCES conta_bancaria ON DELETE CASCADE) OBJECT IDENTIFIER IS SYSTEM GENERATED NESTED TABLE taloes STORE AS tabtaloes RETURN AS LOCATOR; -- Populando conta corrente INSERT INTO conta_corrente (num_conta, num_agencia, mnum_banco, taloes) VALUES (5, 10, 341, talaocheque (tipotalao('1A', '19A', 3.55), tipotalao

('20A', '39A', 4.25))); SELECT c.num_conta, c.num_agencia, c.num_banco, t.* FROM conta_corrente c, table (c.taloes) t; INSERT INTO TABLE (SELECT taloes FROM conta_corrente WHERE num_conta = 500 AND num_agencia = 10 AND num_banco = 341) VALUES ('40A', '59A', 4.25); -- Tipo movimentao DROP TYPE tipomovimentacao FORCE; CREATE OR REPLACE TYPE tipomovimentacao AS OBJECT ( num_movto INTEGER, valor_movto NUMBER(15,2), dt_hora_movto TIMESTAMP, tipo_movto CHAR (20), debito_credito CHAR(1), conta_destino CHAR(5)); DROP TYPE movimentacao FORCE; CREATE TYPE movimentacao AS TABLE OF tipomovimentacao; -- Aninhando o tipo movimentao em conta bancria ALTER TYPE tipocontabancaria ADD ATTRIBUTE (movimentos movimentacao) CASCADE NOT INCLUDING TABLE DATA; -- Inserindo nova conta com movimentao e atualizando os dados de movimentao INSERT INTO conta_bancaria (num_conta, num agencia, num_banco, filial, movimento s) VALUES (700, 20, 341, (SELEFT REF (f) FROM filial f WHERE f.num_filial = 1), movimentacao (tipomovimentacao (1, 750.75, current_timestamp, 'Deposito' , 'C', 'CC'))); UPDATE TABLE (SELECT movimentos FROM conta_bancaria WHERE num_conta = 700 AND num_agencia = 20 AND num_banco = 341) SET valor.movto = 770.75 WHERE valor_movto = 750.75 AND num_movto = 1; -- Tipo controle (Associao entre funcionrio e conta bancria DROP TYPE tipocontrole FORCE; CREATE TYPE tipocontrole AS OBJECT ( numc_controle INTEGER, funcionario REF tipofuncionario, conta REF tipocontabancaria, dt_ini_controle DATE, dt_fim_controle DATE);

-- Tabela tipada controle de conta bancria DROP TABLE controle CASCADE CONSTRAINTS; CREATE TABLE controle OF tipocontrole ( PRIMARY KEY (num_controle), FOREIGN KEY (funcionario) REFERENCES funcionario, FOREIGN KEY (conta) REFERENCES conta_bancaria) OBJECT IDENTIFIER IS SYSTEM GENERATED; -- Populando Controle INSERT INTO controle VALUES (222, (SELECT REF(f) FROM funcionario f WHERE f.registro_funcional = 1), (SELECT REF (c) FROM conta_bancaria c WHERE c.num_conta = 700 AND c.num_agencia = 20 AND c.num_banco = 341), current_date - 500, current_date + 100); SELECT c.funcionario.nome_func, c.conta.num_conta, c.conta.num_banco FROM controle c;

-- insert INSERT INTO itemlav VALUES (1, '01/01/2001', 1, 1,'limpa tudo', 50.00, 'lavar'); INSERT INTO itemlav VALUES (2, '02/02/2002', 2, 2,'limpa tudo', 50.00, 'passar'); -- select SELECT l.num_item, l.dt_h_ent_item, l.num_peca_i, l.num_ord_i, l.nome_lav, l.custo_lav, l.tipo_serv_lav FROM itemlav l;

INSERT INTO cliente VALUES (1,'Gustavo Martins','M','23/12/1989', tipo_endereco('Rua Maria Antonia Niero','33', 'Casa', 'Santo Antonio','Osasco',' 06130010','SP', tipo_fone('1188884444','1133339999')),'12345678900'); INSERT INTO cliente VALUES (2,'Liliane Perng','F','01/02/1990',

tipo_endereco('Rua Pedro Mariano','132','Apartamento','Vila Yara','Osasco','0511 2331','SP', tipo_fone('1166668884','1132224458')),'98765432100'); INSERT INTO cliente VALUES (3,'Stella Albuquerque','F','22/11/1989', tipo_endereco('Av. Rio Negro','11', null, 'Jardim do Morro','Itapevi','11223344' ,'SP', tipo_fone('1122224444','1177775555')),'43254365432'); INSERT INTO traje VALUES (1, 'Traje Social Masculino', '40x90', 'Polister', 'Pret o', 30); INSERT INTO traje VALUES (2, 'Traje Esporte Fino Masculino', '30x60', 'Algodo e S eda', 'Azul Marinho', 55); INSERT INTO traje VALUES (3, 'Vestido de Noiva', '29x102', 'Algodo, Seda, Linho', 'Branco', 110); INSERT INTO peca VALUES (1, 1, 'Roupa de Baixo', 20 ,'Zorba'); INSERT INTO peca VALUES (2, 2, 'Camisa Polo',18,'Mofficer'); INSERT INTO peca VALUES (3, 3, 'Vestido Branco',25,'Daslu'); INSERT INTO emprestimo VALUES (1,(SELECT REF(c) FROM cliente c WHERE c.numero_cl iente=1),(SELECT REF(t) FROM traje t WHERE t.codigo_traje=1),'20/03/2011','25/03 /2011','Parcelado',40.00); INSERT INTO emprestimo VALUES (2,(SELECT REF(c) FROM cliente c WHERE c.numero_cl iente=2),(SELECT REF(t) FROM traje t WHERE t.codigo_traje=2),'01/06/2011','04/06 /2011','Cheque',80.00); INSERT INTO emprestimo VALUES (3,(SELECT REF(c) FROM cliente c WHERE c.numero_cl iente=3),(SELECT REF(t) FROM traje t WHERE t.codigo_traje=3),'17/06/2011','21/06 /2011','Dinheiro',95.00); INSERT INTO ordem_de_servico VALUES (1, (SELECT REF(e) FROM emprestimo e WHERE e .numero_emprestimo=1), 13.00, '20/03/2011', '25/03/2011', 40.00); INSERT INTO ordem_de_servico VALUES (2,(SELECT REF(e) FROM emprestimo e WHERE e. numero_emprestimo=2), 12.00, '01/06/2011', '04/06/2011', 80.00); INSERT INTO ordem_de_servico VALUES (3,(SELECT REF(e) FROM emprestimo e WHERE e. numero_emprestimo=3), 15.00, '17/06/2011', '21/06/2011', 95.00); INSERT INTO item_de_servico VALUES (1, 1, (SELECT REF(p) FROM peca p WHERE p.num ero_peca=1), '10/07/2011'); INSERT INTO item_de_servico VALUES (2, 2, (SELECT REF(p) FROM peca p WHERE p.num ero_peca=3), '05/07/2011'); INSERT INTO item_de_servico VALUES (3, 3, (SELECT REF(p) FROM peca p WHERE p.num ero_peca=2), '01/07/2011'); INSERT INTO lavanderia VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i.num ero_item_de_servico=1), 'Lavagem a Seco', 15.00, 'Tecido Colorido'); INSERT INTO lavanderia VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i.num ero_item_de_servico=2),'Lavagem e Secagem Rapida', 10.00,'Roupa Branca'); INSERT INTO lavanderia VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i.num ero_item_de_servico=3),'Engomar', 20.00,'Passar a Ferro'); INSERT INTO ajuste_costura VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i .numero_item_de_servico=1), 8.00, 'Ziper e Linha', 'Wanderleia', 'Remendar Ziper '); INSERT INTO ajuste_costura VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i .numero_item_de_servico=2), 12.00, 'Linha e Tecido','Gina da Silva','Pregar Bota o');

INSERT INTO ajuste_costura VALUES ((SELECT REF(i) FROM item_de_servico i WHERE i .numero_item_de_servico=3), 20.00, 'Linha e agulha','Maria Jose','Remendar Bolso ');

INSERT INTO ajuste_custura Camisa' 501); INSERT INTO ajuste_custura stido' 502); INSERT INTO ajuste_custura Zper em cala' 504); INSERT INTO ajuste_custura ndar bolso de cala' 500);

VALUES (80.00, 'Linha', 'Wanderlia', 'Diminuir Gola de VALUES (20.00, 'Linha', 'Josuela Pires', 'Diminuir Ve VALUES (60.00, 'Zper/Linha', 'Gina da Silva', 'Colocar VALUES (50.00, 'Linha/Tecido', 'Dona Florinda', 'Reme