Ir para conteúdo
Fórum Script Brasil

felipebath

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Tudo que felipebath postou

  1. Bem, meu provedor me pediu um prazo até o meio do ano para fazer as alteracoes nas permissoes, é mole? não sei o que fazer... há meios de eu continuar com o desenvolvimento localmente? Uso: ApacheFriends XAMPP (basic package) version 1.6.5 ###### + Apache 2.2.6 + MySQL 5.0.51 + PHP 5.2.5 + PHP 4.4.7 + PEAR + PHP-Switch win32 1.0 (please use the "php-switch.bat") + XAMPP Control Version 2.5 from www.nat32.com + XAMPP Security 1.0 + SQLite 2.8.15 + OpenSSL 0.9.8g + phpMyAdmin 2.11.3 windows xp professional sp2... grato.
  2. Desculpe pela demora para responder... abri um chamado solicitando a operacao no meu provedor... estou no aguardo para podermos seguir com o tópico... Obrigado.
  3. Suportam, sim. O meu banco de teste está instalado em minha máquina. Sei que não esta relacionado ao tópico, mas no meu servidor local por mais que eu defina ENGINE=Innodb, a tabela fica MyIsam e não há opcao de InnoDb na parte grafica do phpmyadmin 2.11.3 e MySQL: 5.0.51 que eu uso... estou tentando falar com o suporte da minha hospedagem mas tah dificil... vamos ver... grato.
  4. É um banco hospedado na Hosnet... vou entrar em contato com o suporte para ver isso... servidores locais não suportam tabela InnoDb, não é?? grato.
  5. Denis, Li alguma coisa parecida com o que disse sobre as constraints: ... SET @senha = NEW.senha_usuario; -- validando campo IF( @senha = '' ) THEN SET NEW.senha_usuario = NULL; END IF; então, fiz assim p efeitos de teste: DELIMITER // CREATE TRIGGER add_matricula_turma AFTER INSERT ON aluno FOR EACH ROW BEGIN INSERT INTO turma (matricula) values (NEW.matricula); INSERT INTO boletim (matricula) VALUES (new.matricula); END; // erro: #1227 - Access denied; you need the SUPER privilege for this operation Por que disse que daria erro de constraint? Grato.
  6. Oi Denis, só para eu ter uma idéia: se quisesse AO INSERIR UMA deteminada MATRICULA NA TABELA ALUNO QUE TABELA TURMA RECEBA esta MATRICULA NO CAMPO MATRICULA E TABELA BOLETIM TAMBEM RECEBA esta MATRICULA NO CAMPO MATRICULA como ficaria a sintaxe disto? Denis, acha que no meu caso não preciso de constraints? acha que basta a criacao de triggers??? muito obrigado pela atencao.
  7. Bom dia! Estou com dúvidas na criação de triggers... sou iniciante Afinal, por que usar FK's se posso usar apenas triggers para "linkar" duas tabelas? Estes conceitos ainda não estao muito claros para mim, por mais que eu tenha lido sobre o assunto... Tenho as seguintes tabelas: disciplina ( id_disciplina(pk), nome) turma ( id_turma(pk), matricula, id_disciplina) id_disciplina(fk) reference disciplina (id_disciplina) matricula(fk) REFERENCES aluno (matricula), aluno ( matricula(pk), nome) boletim ( matricula(pk), id_disciplina, id_turma, v1, v2 e etc.) matricula(fk) REFERENCES turma (matricula) on delete cascade, id_disciplina(fk) REFERENCES disciplina (id_disciplina) on delete cascade, id_turma(fk) REFERENCES turma (id_turma) on delete cascade, tentei criar estes triggers, mas deu erro de sintaxe na linha 3... o que pode estar acontecendo? CREATE TRIGGER add_matricula_turma AFTER INSERT ON aluno FOR EACH ROW BEGIN INSERT INTO turma (matricula) values ('20002000'); END; CREATE TRIGGER add_matricula_boletim AFTER INSERT ON aluno FOR EACH ROW BEGIN INSERT INTO boletim (matricula) VALUES ('20002000'); END; Grato.
  8. create table disciplina ( id_disciplina int unsigned not null, nome varchar(50) not null, primary key (id_disciplina) ) ENGINE=InnoDB; create table aluno ( matricula int not null, nome varchar(80) not null, primary key (matricula) ) ENGINE=InnoDB; create table turma ( id_turma int unsigned not null, matricula int not null, id_disciplina int unsigned not null, CONSTRAINT fk_disc_01 FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina), CONSTRAINT fk_mat_01 FOREIGN KEY (matricula) REFERENCES aluno (matricula), PRIMARY KEY (id_turma) ) ENGINE=InnoDB; create table boletim ( matricula int not null, id_disciplina int unsigned not null, id_turma int unsigned not null, v1 double(6,2) null, vt double(6,2) null, v2 double(6,2) null, ms double(6,2) null, vs double(6,2) null, mf double(6,2) null, faltas int not null, situacao varchar(30) not null, CONSTRAINT fk_mat_02 FOREIGN KEY (matricula) REFERENCES turma (matricula) on delete cascade, CONSTRAINT fk_disc_02 FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina) on delete cascade, CONSTRAINT fk_turma_01 FOREIGN KEY (id_turma) REFERENCES turma (id_turma) on delete cascade, PRIMARY KEY (matricula) ) ENGINE=InnoDB; As tabelas foram criadas com sucesso... agora, Denis, poderia abusar mais um pouco de sua boa vontade e paciencia com este iniciante? Fui tentar inserir um aluno... a matricula deste aluno vai automaticamente para alguma outra tabela atraves da FK matricula? Como isto funciona? Grato.
  9. create table turma ( id_turma int unsigned not null, matricula int not null, id_disciplina int not null, CONSTRAINT fk_disc_01 FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina), CONSTRAINT fk_mat_01 FOREIGN KEY (matricula) REFERENCES aluno (matricula), PRIMARY KEY (id_turma) ) ENGINE=InnoDB; O erro foi diferente depois das substituicoes de ; #1005 - Can't create table './dominio/turma.frm' (errno: 150) na documentacao encontrei: "Se o MySQL retornar o erro de número 1005 de uma instrução CREATE TABLE, e a string de mensagem de erro se referir ao errno 150, então a criação da tabela falhou porque um restrição de chaves estrangeiras não foi formada corretamente." O que estou fazendo de errado agora? :blink:
  10. Erro consulta SQL: CREATE TABLE turma( id_turma int unsigned NOT NULL , matricula int NOT NULL , id_disciplina int NOT NULL , CONSTRAINT fk_disc_01 FOREIGN KEY ( id_disciplina ) REFERENCES disciplina( id_disciplina ); Mensagens do MySQL : #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6 Denis, você é muito didático... esta clareando agora o que é index... "O nome do índice deve ser único em todo o banco e o nome do campo deve ser único na tabela." não sei onde esta o erro... av1 é a definicao mesmo... no form tb fica av1, sakou? vlw.
  11. Ow, sim... você tem toda a razão, Denis. Devo definir como PK o campo matricula e não o id_aluno na tabela aluno... alias, acho que posso deletar o campo id_aluno... create table disciplina ( id_disciplina int unsigned not null, nome varchar(50) not null, primary key (id_disciplina) ) ENGINE=InnoDB; create table aluno ( matricula int not null, nome varchar(80) not null, primary key (matricula) ) ENGINE=InnoDB; create table turma ( id_turma int unsigned not null, matricula int not null, id_disciplina int not null, CONSTRAINT id_disciplina FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina); CONSTRAINT matricula FOREIGN KEY (matricula) REFERENCES aluno (matricula); ) ENGINE=InnoDB; agora deu erro de sintaxe na linha: CONSTRAINT id_disciplina FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina); continuo fazendo algo errado? preciso definir o campo como PK na tabela-destino? Por exemplo: id_disciplina na tabela turma Grato.
  12. Depois de editar com as ultimas recomendacoes... ******************* Continua dando erro de sintaxe na linha 6 na criacao da tabela turma: create table disciplina ( id_disciplina int unsigned not null, nome varchar(50) not null, primary key (id_disciplina) ) ENGINE=InnoDB; create table aluno ( id_aluno int unsigned not null, matricula int not null, nome varchar(80) not null, primary key (id_aluno) ) ENGINE=InnoDB; create table turma ( id_turma int unsigned not null, matricula int not null, id_disciplina int not null, CONSTRAINT id_disciplina FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina); CONSTRAINT matricula FOREIGN KEY (matricula) REFERENCES aluno (matricula); ) ENGINE=InnoDB; create table boletim ( matricula int not null, id_disciplina int not null, id_turma int not null, v1 double(6,2) null, vt double(6,2) null, v2 double(6,2) null, ms double(6,2) null, vs double(6,2) null, mf double(6,2) null, faltas int not null, situacao varchar(30) not null, CONSTRAINT matricula FOREIGN KEY (matricula) REFERENCES turma (matricula) on delete cascade; CONSTRAINT id_disciplina FOREIGN KEY (id_disciplina) REFERENCES disciplina (id_disciplina) on delete cascade; CONSTRAINT id_turma FOREIGN KEY (id_turma) REFERENCES turma (id_turma) on delete cascade; ) ENGINE=InnoDB; não consigo localizar... Grato.
  13. É um índice. uma forma rápida de ordenar e achar o que se quer por uma chave (um po mais campos separados por vírgula) Como já falei antes em outro post hoje, não use AUTO_INCREMENT com int. Use int unsigned, pois o AUTO_INCREMENT é para número inteiro positivo e você não precisará do byte de sinal. Oi Denis, Versão do cliente MySQL é: 5.0.45 Como se declara InnoDB nas versoes mais recentes do MySQL? Index estao associados a FK's? vou alterar o auto_increment... vou re-criar o banco para testar os campos e tabelas... grato.
  14. Boa tarde! Fiz tudo certo? Preciso definir alguma coisa com Index no phpmyadmin? O que é Index? o codigo: create table disciplina ( id_disciplina int not null AUTO_INCREMENT, nome char(50) not null, primary key (id_disciplina) ) TYPE=InnoDB; create table aluno ( id_aluno int not null AUTO_INCREMENT, matricula int not null, nome char(80) not null, primary key (id_aluno) ) TYPE=InnoDB; create table turma ( id_turma int not null AUTO_INCREMENT, matricula int not null, id_disciplina int not null, foreign key (id_disciplina) references disciplina (id_disciplina) foreign key (matricula) references aluno (matricula) ) TYPE=InnoDB; create table boletim ( matricula int not null, id_materia int not null, id_turma int not null, v1 decimal(6,2) null, vt decimal(6,2) null, v2 decimal(6,2) null, ms decimal(6,2) null, vs decimal(6,2) null, mf decimal(6,2) null, faltas int not null, situacao char(30) not null, foreign key (matricula) references turma (matricula) on delete cascade, foreign key (id_disciplina) references disciplina (id_disciplina) on delete cascade, foreign key (id_turma) references turma (id_turma) on delete cascade ) TYPE=InnoDB; Grato.
  15. Denis, obrigado pelo pdf... começamos a clarear o problema: tenho um pouco de problemas no desenvolvimento da linguagem SQL, mas de qualquer forma eu vou fazer algumas coisas e posto aqui para ver se o caminho está certo, ok? Obrigado.
  16. Bom dia, Sou iniciante e estou com duvidas em relacao a modelagem de um banco: o administrador poderá cadastrar novas disciplinas, turmas e alunos... os alunos terão notas... estou ensaiando assim, mas não sei se o caminho esta certo... disciplinas(id(PK), nome, ementa e etc) turmas(id(PK), numero) alunos(id(PK), matricula, v1, v2, vf e etc) disc_turm_alun ( id_disc(fk) references disciplinas(id) id_turmas(fk) references turmas(id) id_alunos(fk) references alunos(id) ) estou certo na estruturacao do banco? se alguém puder me orientar... não consegui "pegar" a logica disso... montei esta estrutura baseado em leituras... abçs.
×
×
  • Criar Novo...