Foi definido sequencialmente a quantidade de cada tabela e apos isso executado o programa abaixo, gerando o tamanho esperado de 5GB no Banco de Dados.____________________________________________________________________________ /* * Created on 17/06/2012 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates *///import java.util.ArrayList;public class tebd_insert { public static void main(String args[]) throws Exception{ //ArrayList<Integer> medicos = new ArrayList<Integer>(); // 4 //ArrayList<Integer> pacotes = new ArrayList<Integer>(); // 5 Boolean slashes = true; String cidade; String estado; int x = 0; MyTableCollection tabelas = new MyTableCollection(); Integer c_qtd_medico = 60; Integer c_qtd_empresa = c_qtd_medico * 50; Integer c_qtd_exames = 5; Integer c_qtd_funcionario_empresa = c_qtd_empresa * 30; Integer c_qtd_func_empr_exames = 20 * c_qtd_funcionario_empresa * c_qtd_exames; Integer c_qtd_laudo = c_qtd_func_empr_exames; Integer qtd_medico = c_qtd_medico; Integer qtd_empresa = qtd_medico * 5; //Integer qtd_exames = 5; Integer qtd_funcionario_empresa = 400; Integer qtd_func_empr_exames = 200; Integer qtd_laudo = 200; MyTable empresa = new MyTable("clin_empresa", c_qtd_empresa); empresa.addColumn("empr_codigo", new MyPKColumn() ); empresa.addColumn("empr_cnpj", new MyColumn("numeric", 15) ); empresa.addColumn("empr_razao_social", new MyColumn("% % %",6,12) ); empresa.addColumn("empr_fantasia", new MyColumn("% %",6,12) ); empresa.addColumn("empr_rua", new MyColumn("% %",6,12) ); empresa.addColumn("empr_numero", new MyColumn("numeric", 5) ); empresa.addColumn("empr_complemento", new MyColumn("% %",6,12) ); empresa.addColumn("empr_bairro", new MyColumn("%",6,12) ); empresa.addColumn("empr_cidade", new MyColumn("% %",6,19) ); empresa.addColumn("empr_estado", new MyColumn("% % %",6,12) ); empresa.addColumn("empr_pais", new MyColumn("varchar", 105) ); empresa.addColumn("empr_data_cadastro", new MyColumn("date", null) ); //timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP empresa.addColumn("empr_ativo", new MyColumn("int", null ) ); tabelas.add(empresa); MyTable exames = new MyTable("clin_exames", c_qtd_exames); exames.addColumn("exam_codigo", new MyPKColumn() ); exames.addColumn("exam_nome", new MyColumn("varchar", 65) ); exames.addColumn("exam_ativo", new MyColumn("int", null) ); tabelas.add(exames); MyTable func_empr_exames = new MyTable("clin_func_empr_exames", c_qtd_func_empr_exames); func_empr_exames.addColumn("clin_func_empr_exam_codigo", new MyPKColumn() ); func_empr_exames.addColumn("clin_func_empr_exam_fk_exames", new MyFKColumn("clin_exames", "exam_codigo") ); func_empr_exames.addColumn("clin_func_empr_exam_fk_funcionario", new MyFKColumn("clin_funcionario_empresa", "func_empr_codigo") ); func_empr_exames.addColumn("clin_func_empr_exam_fk_funcionario", new MyColumn("int", null) ); func_empr_exames.addColumn("clin_func_empr_exam_fk_exames", new MyColumn("int", null) ); func_empr_exames.addColumn("clin_func_empr_exam_data_exame", new MyColumn("date", null) ); func_empr_exames.addColumn("clin_func_empr_exam_qtd", new MyColumn("??") ); // reduzindo ate 99 func_empr_exames.addColumn("clin_func_empr_exam_valor", new MyColumn("??.??") ); //decimal 10,2 tabelas.add(func_empr_exames); MyTable funcionario_empresa = new MyTable("clin_funcionario_empresa", c_qtd_funcionario_empresa); funcionario_empresa.addColumn("func_empr_codigo", new MyPKColumn() ); funcionario_empresa.addColumn("func_empr_fk_empresa", new MyFKColumn("clin_empresa", "empr_codigo") ); funcionario_empresa.addColumn("func_empr_fk_empresa", new MyColumn("int", null) ); funcionario_empresa.addColumn("func_empr_nome", new MyColumn("% %",6,12) ); funcionario_empresa.addColumn("func_empr_rg", new MyColumn("????????-??") ); funcionario_empresa.addColumn("func_empr_cpf", new MyColumn("???.???.???-??") ); funcionario_empresa.addColumn("func_empr_rua", new MyColumn("% %",6,12) ); funcionario_empresa.addColumn("func_empr_numero", new MyColumn("numeric", 5) ); funcionario_empresa.addColumn("func_empr_complemento", new MyColumn("% %",6,20) ); funcionario_empresa.addColumn("func_empr_bairro", new MyColumn("%",6,12) ); funcionario_empresa.addColumn("func_empr_cidade", new MyColumn("% %",6,12) ); funcionario_empresa.addColumn("func_empr_estado", new MyColumn("varchar", 145) ); funcionario_empresa.addColumn("func_empr_pais", new MyColumn("varchar", 105) ); //funcionario_empresa.addColumn("func_empr_data_cadastro", new MyColumn("date", null) ); //timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP funcionario_empresa.addColumn("func_empr_ativo", new MyColumn("int", null) ); tabelas.add(funcionario_empresa); MyTable laudo = new MyTable("clin_laudo", c_qtd_laudo); laudo.addColumn("laudo_fk_func_empr_exames", new MyPKColumn() ); laudo.addColumn("laudo_fk_medico", new MyPKColumn() ); laudo.addColumn("laudo_fk_func_empr_exames", new MyFKColumn("clin_func_empr_exames", "clin_func_empr_exam_codigo") ); laudo.addColumn("laudo_fk_medico", new MyFKColumn("clin_medico", "medi_codigo") ); laudo.addColumn("laudo_data", new MyColumn("date", null) ); // laudo.addColumn("laudo_descricao", new MyColumn("text", 510) ); tabelas.add(laudo); MyTable medico = new MyTable("clin_medico", c_qtd_medico); medico.addColumn("medi_codigo", new MyPKColumn() ); medico.addColumn("medi_nome", new MyColumn("% %",6,12) ); medico.addColumn("medi_crm", new MyColumn("numeric", 15) ); medico.addColumn("medi_especialidade", new MyColumn("varchar", 10) ); medico.addColumn("medi_ativo", new MyColumn("varchar", 45) ); tabelas.add(medico); Double objetivo = 5368709120.0; System.out.println("Size in Bytes"); System.out.println(tabelas.calculate()); System.out.println(objetivo); System.out.println("objetivo alcancado = " + (tabelas.calculate() >= objetivo) ); MyDataAccess.open(); //Inserindo 5 exames exames.setCustomValue(slashes, "exam_nome", "Admissional"); exames.setCustomValue(slashes, "exam_ativo", "1"); MyDataAccess.ExecuteInsert(exames.generateInsert()); exames.setCustomValue(slashes, "exam_nome", "Retorno ao Trabalho"); exames.setCustomValue(slashes, "exam_ativo", "1"); MyDataAccess.ExecuteInsert(exames.generateInsert()); exames.setCustomValue(slashes, "exam_nome", "Mudanca de Funcao"); exames.setCustomValue(slashes, "exam_ativo", "1"); MyDataAccess.ExecuteInsert(exames.generateInsert()); exames.setCustomValue(true, "exam_nome", "Periodico"); exames.setCustomValue(slashes, "exam_ativo", "1"); MyDataAccess.ExecuteInsert(exames.generateInsert()); exames.setCustomValue(true, "exam_nome", "Demissional");