Código para tabelas

02/06/2013

0

Boa noite meus amigos, estou com uma dúvida para montar o código para gerar o banco e as tabelas do SQLITE.

Segue campos das tabelas:

Clientes
_id
nome
endereco
telefone
celular
email

Tipo_Carro
_id
descricao

Veiculos
_id
modelo
placa
Cliente_id

Valores
_id
valores
Servico_id
Tipo_id

Serviços
_id
descricao
Tipo_id

Horarios
_id
descricao

OS
Cliente_id
Servico_id
Horario_id
dataOS

Tenho esse exemplo, mas gostaria de adaptar para essas tabelas. Estou com dúvida qtos aos relacionamentos. Alguém poderia ajudar?

private static final String DATABASE_NAME = "cadastrooficina";
	private static final int DATABASE_VERSION = 1;
	
	private static final String DATABASE_TABLE_CLIENTES = "clientes";
	private static final String DATABASE_TABLE_CARROS = "carros";
	
//  CAMPOS DA TABELA CLIENTES	
	public static final String KEY_IDCLI = "_id";
	public static final String KEY_NOME = "nome";
	public static final String KEY_ENDERECO = "endereco";
	public static final String KEY_TELEFONE = "telefone";
	public static final String KEY_CELULAR = "celular";
	public static final String KEY_EMAIL = "email";

//  CAMPOS DA TABELA CARROS	
	public static final String KEY_IDCARRO = "_id";
	public static final String KEY_IDCLIENTE = "id_cliente";
	public static final String KEY_MODELO = "modelo";
	public static final String KEY_PLACA = "placa";
	
//  CRIA A 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);";
	
//  CRIA A TABELA CARROS
	private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("
	+ KEY_IDCARRO + " integer primary key autoincrement, "
	+ KEY_IDCLIENTE + " integer, "
	+ KEY_MODELO + " text, "
	+ KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE
	+ " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_IDCLI
	+ " ) ON DELETE RESTRICT ON UPDATE CASCADE);";
Frederico Brigatte***

Frederico Brigatte***

Responder

Posts

03/06/2013

André

Oi frederico, acho q naum vai ter esse tabela valores pq ela vai virar um campo p servicos. so isso.
Responder

03/06/2013

Frederico Brigatte***

Eu fiz assim, veja se está bom:

CREATE TABLE Clientes (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
nome VARCHAR(30) NULL,
endereco VARCHAR(30) NULL,
telefone VARCHAR(16) NULL,
celular VARCHAR(16) NULL,
email VARCHAR(45) NULL
);

CREATE TABLE Tipo_Carro (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
Tip_desc VARCHAR(20) NULL
);

CREATE TABLE Carros (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
Tipo_Carro__id INTEGER NOT NULL,
Clientes__id INTEGER NOT NULL,
Vei_modelo VARCHAR(20) NULL,
Vei_placa VARCHAR(8) NULL,
FOREIGN KEY(Clientes__id)
REFERENCES Clientes(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY(Tipo_Carro__id)
REFERENCES Tipo_Carro(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE
);

CREATE TABLE Servicos (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
Tipo_Carro__id INTEGER NOT NULL,
Ser_desc VARCHAR(20) NULL,
valor DOUBLE(9,2) NULL,
FOREIGN KEY(Tipo_Carro__id)
REFERENCES Tipo_Carro(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE
);


CREATE TABLE Horarios (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
horario CHAR(5) NULL
);

CREATE TABLE OS (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
Clientes__id INTEGER NOT NULL,
Servicos__id INTEGER NOT NULL,
Horarios__id INTEGER NOT NULL,
dataOs DATE NULL,
FOREIGN KEY(Horarios__id)
REFERENCES Horarios(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY(Servicos__id)
REFERENCES Servicos(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY(Clientes__id)
REFERENCES Clientes(_id)
ON DELETE RESTRICT
ON UPDATE CASCADE
);
Responder

03/06/2013

André

ta otimo. :)
Responder

03/06/2013

Frederico Brigatte***

Poderia me ajudar em mais um detalhe?

Está correto o que fiz?

private static final String DATABASE_TABLE_SERVICOS = "servicos";

//  CAMPOS DA TABELA SERVICOS	
public static final String KEY_IDSER = "_id";
public static final String KEY_IDTIPO = "id_tipo";
public static final String KEY_SERDESCRICAO = "descricao";
public static final String KEY_VALOR = "valor";


//  CRIA A TABELA SERVICOS
private static final String DATABASE_CREATE_SERVICOS = "create table " + DATABASE_TABLE_ SERVICOS + " ("
+ KEY_IDSER + " integer primary key autoincrement, "
+ KEY_IDTIPO + " integer, "
+ KEY_SERDESCRICAO + " text, "
+ KEY_VALOR + " text, FOREIGN KEY ( " + KEY_IDTIPO
+ " ) REFERENCES " + DATABASE_TABLE_ TIPO_CARRO + " (" + KEY_IDTIPO
+ " ) ON DELETE RESTRICT ON UPDATE CASCADE);";

Responder

03/06/2013

André

pq tu ao inves de colocar um monte de variavel tu naum faz um codigo so. exemplo database_create_servicos = "CREATE TABLE SARVICOS ( [_id] INTEGER PRIMARY KEY AUTOINCREMENT, [id_tipo] INTEGER, ETC.....

vc tem SQLITE EXPERT PERSONAL??
Responder

03/06/2013

André

pq tu ao inves de colocar um monte de variavel tu naum faz um codigo so. exemplo database_create_servicos = "CREATE TABLE SARVICOS ( [_id] INTEGER PRIMARY KEY AUTOINCREMENT, [id_tipo] INTEGER, ETC.....

vc tem SQLITE EXPERT PERSONAL??
Responder

03/06/2013

Frederico Brigatte***

Tenho sim.
Responder

03/06/2013

Frederico Brigatte***

Fica mais fácil assim? Como ficaria? Tem como postar ai um modo mais fácil?
Responder

03/06/2013

André

eu tenho um exemplo aki

private static String sql = "CREATE TABLE [CLIENTES] ( [ID] INTEGER PRIMARY KEY AUTOINCREMENT, [NOME] [VARCHAR(100)]);";

ai na parte de executar o sql vc colocaria assim

exemplo:


db.execSQL(sql);
Responder

03/06/2013

Frederico Brigatte***

E no caso de relacionamento entre tabelas como seria?
Responder

21/06/2013

Frederico Brigatte***

Andreoid,

E quanto aos relacionamentos?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar