Fórum Relacionamento no Sqlite #446186
21/06/2013
0
private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("
+ KEY_ID_CARRO + " integer primary key autoincrement, "
+ KEY_IDCLIENTE_CARRO + " integer, "
+ KEY_IDTIPO_CARRO + " integer, "
+ KEY_MODELO + " text, "
+ KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO
+ " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI
+ " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "
+ KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("
+ KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";
O que poderia fazer para esse script ficasse mais claro e visível? Notem que tenho 2 relacionamentos.
Frederico Brigatte***
Curtir tópico
+ 0Posts
21/06/2013
Frederico Brigatte***
Gostei + 0
23/06/2013
Marcelo Senaga
private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("
+ KEY_ID_CARRO + " integer primary key autoincrement, "
+ KEY_IDCLIENTE_CARRO + " integer, "
+ KEY_IDTIPO_CARRO + " integer, "
+ KEY_MODELO + " text, "
+ KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO
+ " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI
+ " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "
+ KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("
+ KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";
O que poderia fazer para esse script ficasse mais claro e visível? Notem que tenho 2 relacionamentos.
Tem uns frameworks ORM para Android:
http://www.ubiratansoares.com.br/blog/2012/12/consideracoes-sobre-android-e-orm/
Gostei + 0
24/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Marcelo Senaga
Eu vi que você está criando as tabelas "na mão", via comando SQL. É como todo mundo faz. Mas existe esses ORM´s para Android, caso você queira algo mais sofisticado, no estilo do Hibernate. (claro, com certas limitações).
Gostei + 0
25/06/2013
Joel Rodrigues
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Joel Rodrigues
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Joel Rodrigues
Com relação ao campo Id, todas as suas tabelas podem ter um campo Id ou com qualquer outro nome, o que não pode é ter dois campos iguais na mesma tabela.
Gostei + 0
25/06/2013
Frederico Brigatte***
Gostei + 0
25/06/2013
Frederico Brigatte***
Tabela Clientes:
private static final String DATABASE_CREATE_CLIENTES = "create table " + DATABASE_TABLE_CLIENTES + " ("
+ KEY_IDCLI + " integer primary key autoincrement, "
+ KEY_NOME + " text, "
+ KEY_ENDERECO + " text, "
+ KEY_TELEFONE + " text, "
+ KEY_CELULAR + " text, "
+ KEY_EMAIL + " text);";
Tabela Carros:
private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("
+ KEY_ID_CARRO + " integer primary key autoincrement, "
+ KEY_IDCLIENTE_CARRO + " integer, "
+ KEY_IDTIPO_CARRO + " integer, "
+ KEY_MODELO + " text, "
+ KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO
+ " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI
+ " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "
+ KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("
+ KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";
Tabela Tipo Carros:
private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("
+ KEY_ID_CARRO + " integer primary key autoincrement, "
+ KEY_IDCLIENTE_CARRO + " integer, "
+ KEY_IDTIPO_CARRO + " integer, "
+ KEY_MODELO + " text, "
+ KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO
+ " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI
+ " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "
+ KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("
+ KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";
Gostaria de deixar mais visível e limpo o código. Já tenho pronto.
Gostei + 0
25/06/2013
Joel Rodrigues
Escreva o script completo, já com os nomes das colunas e verá que parecerá mais claro.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)