Banco de dados (SQLite) - COLUNAS

Pessoal, seguinte:

Tenho um Banco de Dados do SQLite e declarei variáveis que são os nomes das Tabelas e Colunas.

Pergunta: A variável que corresponde a uma coluna pode ser de mais de uma tabela? Ex.:

private static final String TABELA_ADM = "TABELA_ADM";
private static final String ID_ADM = "ID_ADM";
private static final String ATRIBUICAO_ADM = "ATRIBUICAO_ADM ";
private static final String NOME = "NOME";

private static final String TABELA_FUNC = "TABELA_FUNC";
private static final String ID_FUNC = "ID_FUNC";
private static final String ATRIBUICAO_FUNC = "ATRIBUICAO_FUNC";
private static final String NOME = "NOME";<<<<<NÃO PODE REPETIR

NOME não pode se repetir. Nesse caso, posso usar NOME de TABELA_ADM em TABELA_FUNC? Assim:

@Override
public void onCreate(SQLiteDatabase banco){
    banco.execSQL("CREATE TABLE " + TABELA_ADM + "(" +
            ID_ADM + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
            ATRIBUICAO_ADM + " TEXT," +
            NOME + " TEXT)");

    banco.execSQL("CREATE TABLE " + TABELA_FUNC + "(" +
            ID_FUNC + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
            ATRIBUICAO_FUNC+ " TEXT," +
            NOME + " TEXT)");
}

Se sim, tem como ter algum tipo de inconsistência/conflito? Se sim, quais?
Se não, o que eu deveria fazer? Outra coluna com outro nome?

Desde já, obg!

Alguém??

Pode. Para a instrução execSQL, o static final NOME é só uma string qualquer. Não importa o nome da constante, e sim seu conteúdo.

Supondo que seu objetivo é reusar essas constantes (static final) em outras partes, você pode criar classes para armazenar essa informação. Melhor ainda se você isolar o acesso a cada tabela em cada uma dessas classe, criando uma espécie de DAO. Assim, não vai ter de se preocupar com repetição de nomes.

Se não quiser fazer uma classe completa para acessar cada tabela, pode criar classes só com a definição das colunas. Algo como:

public class TabelaAdmDef { // o Def (definição) é só pra diferenciar, não é essencial
  public static final String NOME_TABELA = "TABELA_ADM";
  public static final String ID_ADM = "ID_ADM";
  public static final String ATRIBUICAO_ADM = "ATRIBUICAO_ADM ";
  public static final String NOME = "NOME";
}

public class TabelaFuncDef { // o Def (definição) é só pra diferenciar, não é essencial
  public static final String NOME_TABELA = "TABELA_FUNC";
  public static final String ID_FUNC = "ID_FUNC";
  public static final String ATRIBUICAO_FUNC = "ATRIBUICAO_FUNC ";
  public static final String NOME = "NOME";
}

E na criação, algo como:

banco.execSQL("CREATE TABLE " + TabelaAdmDef.NOME_TABELA + "(" +
            TabelaAdmDef.ID_ADM + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
            TabelaAdmDef.ATRIBUICAO_ADM + " TEXT," +
            TabelaAdmDef.NOME + " TEXT)");

banco.execSQL("CREATE TABLE " + TabelaFuncDef.NOME_TABELA + "(" +
            TabelaFuncDef.ID_FUNC + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
            TabelaFuncDef.ATRIBUICAO_FUNC+ " TEXT," +
            TabelaFuncDef.NOME + " TEXT)");

Abraço.

TerraSkilll, Obg pela resposta!

Olha, eu só queria saber mesmo se quando fosse criar as tabelas dentro da classe do banco de dados, ao usar NOME na criação de uma tabela, eu poderia fazer a criação de outras tabelas usando essa mesma coluna NOME. Fiquei pensando que por ter o mesmo nome, teria algum problema/conflito. Só isso mesmo. A finalidade seria não encher a classe de variáveis que teriam a mesma finalidade, já que poderia usar uma só em várias tabelas ao mesmo tempo.

A forma que vc trouxe já resolve isso,

mas diferente do que eu pensava.

É possível se eu fizesse uma variável dentro da classe do banco de dados e usá-la em várias tabelas?

Sobre essa forma que vc apresentou, as classes seriam feitas isoladamente, ou tudo junto dentro da classe do banco de dados?

Obg!