conan19 0 Denunciar post Postado Julho 17, 2013 Olá pessoal, sou novo aqui no fórum, atualmente estou desenvolvendo um sistema de venda de ingressos para um evento em php e mysql, a dúvida que tenho diz respeito a que estrutura de tabelas usar no banco de dados, são 4 dias de evento, 800 ingressos por dia é o máximo, no momento da inscrição quero mostrar se há ingressos disponíveis para tal dia, ou se já estão esgotados... pensei em criar duas tabelas +ou- assim: tabela para guardar dados da pessoa: CREATE TABLE dados(codigo int NOT NULL AUTO INCREMENT,nome varchar(50) NOT NULL,cpf varchar(20) NOT NULL, email varchar(50) NOT NULL, telefone varchar(20) NOT NULL,PRIMARY KEY(codigo)); tabela para controle dos ingressos por dia: a tabela dados possui uma chave estrangeira na tabela controle_ingressos. CREATE TABLE controle_ingressos(ing_codigo int NOT NULL AUTO INCREMENT,quarta varchar(10) NOT NULL,quinta varchar(10) NOT NULL,sexta varchar(10) NOT NULL, sabado varchar(10) NOT NULL, cod_dados int NOT NULL,PRIMARY KEY(ing_codigo) FOREIGN KEY (cod_dados) REFERENCES dados (codigo),); exemplo de insert: INSERT INTO dados(nome,cpf,rg,email,telefone) VALUES ('joao','XXX.XXX.XXX-XX','email','XXXX-XXXX'); INSERT INTO controle_ingressos(quarta,quinta,sexta,sabado,cod_dados) VALUES ('inscrito','inscrito','inscrito','inscrito',LAST_INSERT_ID()); e ai, o que acham, alguem teria uma solução melhor? Compartilhar este post Link para o post Compartilhar em outros sites
Sérgio Novelli 0 Denunciar post Postado Julho 17, 2013 Sugiro algo assim: CREATE TABLE comprador ( comprador_codigo int NOT NULL AUTO INCREMENT, nome varchar(50) NOT NULL, cpf varchar(20) NOT NULL, email varchar(50) NOT NULL, telefone varchar(20) NOT NULL, PRIMARY KEY(codigo) ); CREATE TABLE ingressos ( ing_codigo int NOT NULL AUTO INCREMENT, data_compra DATE, comprador_codigo int NOT NULL, PRIMARY KEY(ing_codigo), FOREIGN KEY (comprador_codigo) REFERENCES comprador (comprador_codigo) ); pois fica muito mais fácil gravar a data em que o ingresso foi comprado. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 17, 2013 CREATE TABLE comprador ( comprador_codigo int NOT NULL AUTO INCREMENT, nome varchar(50) NOT NULL, cpf varchar(20) NOT NULL, email varchar(50) NOT NULL, telefone varchar(20) NOT NULL, PRIMARY KEY(codigo) ); CREATE TABLE ingressos ( ing_codigo varchar(5) NOT NULL AUTO INCREMENT, data_compra DATE, comprador_codigo int NOT NULL, PRIMARY KEY(ing_codigo), FOREIGN KEY (comprador_codigo) REFERENCES comprador (comprador_codigo) ); Não sei se é o caso mas permite controle de ingressos do tipo fileira/cadeira (B52) Compartilhar este post Link para o post Compartilhar em outros sites