Ordenação

como que faço para ordenar os dados no db4o?

fiz isso:

         lista = db.query(MCartao.class);
            while (lista.hasNext()) {
                MCartao mcA = (MCartao) lista.next();
                Object[] data = new Object[]{mcA.getNumero(), mcA.getNomeCartao(), mcA.getColecao(), mcA.getUnidades(), mcA.getObservacao()};
                tabela.addRow(data);

preciso ordenar os dados de forma ascendente.

Pelo que eu estou vendo vc esta colocando em um vetor de Objetos data.
Basta usar um algoritmo que ordene vetor.

A questão é qual parametro vai servir para o vetor ser ordenado: NOME - NUMERO - etc…

Metodos de ordenação
http://pt.wikipedia.org/wiki/Algoritmo_de_ordena%C3%A7%C3%A3o

Do GUJ
http://www.guj.com.br/posts/list/20989.java

O correto é criar seu TableModel que será receberá os objetos do tipo MCartao e será responsável por mantê-los em ordem.