Código para tabelas
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?
Segue campos das tabelas:
Clientes
_id
nome
endereco
telefone
celular
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***
Curtidas 0
Respostas
André
02/06/2013
Oi frederico, acho q naum vai ter esse tabela valores pq ela vai virar um campo p servicos. so isso.
GOSTEI 0
Frederico Brigatte***
02/06/2013
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
);
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
);
GOSTEI 0
André
02/06/2013
ta otimo. :)
GOSTEI 0
Frederico Brigatte***
02/06/2013
Poderia me ajudar em mais um detalhe?
Está correto o que fiz?
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);";
GOSTEI 0
André
02/06/2013
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??
vc tem SQLITE EXPERT PERSONAL??
GOSTEI 0
André
02/06/2013
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??
vc tem SQLITE EXPERT PERSONAL??
GOSTEI 0
Frederico Brigatte***
02/06/2013
Tenho sim.
GOSTEI 0
Frederico Brigatte***
02/06/2013
Fica mais fácil assim? Como ficaria? Tem como postar ai um modo mais fácil?
GOSTEI 0
André
02/06/2013
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);
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);
GOSTEI 0
Frederico Brigatte***
02/06/2013
E no caso de relacionamento entre tabelas como seria?
GOSTEI 0
Frederico Brigatte***
02/06/2013
Andreoid,
E quanto aos relacionamentos?
E quanto aos relacionamentos?
GOSTEI 0