Práticas recomendadas para trabalhar com várias tabelas

Eu uso um banco de dados com várias tabelas no meu aplicativo. Eu tenho um analisador XML que precisa gravar dados em duas tabelas durante a análise. Criei dois adaptadores de banco de dados para as duas tabelas, mas agora tenho um problema. Quando estou trabalhando com uma tabela, é fácil:

FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);
firstTable.open(); // open and close it every time I need to insert something
                   // may be hundreds of times while parsing
                   // it opens not a table but whole DB     
firstTable.insertItem(Item);        
firstTable.close(); 

Como é um analisador SAX, na minha opinião (talvez eu esteja errado), isso será ainda melhor:

FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);

@Override
public void startDocument() throws SAXException 
{
    firstTable.open(); // open and close only once
}

...
firstTable.insertItem(Item);
...

@Override
public void endDocument() throws SAXException 
{
    firstTable.close();
}

Mas como faço se precisar inserir dados na segunda tabela? Por exemplo, se eu tiver o segundo adaptador, acho que será uma má ideia:

FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);
SecondDBAdapter secondTable = new SecondDBAdapter(mycontext);

@Override
public void startDocument() throws SAXException 
{
    firstTable.open();
    secondTable.open(); 
}

Alguma idéia de como conseguir isso?

questionAnswers(4)

yourAnswerToTheQuestion