Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tudo bom pessoal ?
Sou novo no fórum e preciso de uma ajuda. Precisei criar um banco de dados para armazenar requerimentos de pedidos de alunos. Tipo: histórico escolar, certidão reg. matrícula e etc...
Montei as tabelas, fiz os relacionamentos e me deparei com o seguinte problema:
Criei uma tabela chamada tbmatricula onde armazeno as matrículas dos alunos por ano de ingresso. Ex.: 2016.1.00254.11 ... sendo a restrição: um nº matrícula vinculado a 1 aluno por curso.
Criei uma outra tabela onde armazeno os nomes dos alunos (tbnomealuno), pois um aluno pode ter várias matrículas diferentes em cursos que já tenha feito.
Aí ocorreu o seguinte:
Inicialmente para testar eu populei as duas tabelas com dados que eu já tinha. Até aí tudo bem pq ficou por exemplo o id 11 da tabela tbmatricula vinculado com o id 11 da tabela tbnomealuno (2016.1.00254.11 -> é o João Roberto da Silva).
Agora preciso fazer um insert para adicionar aproximadamente 50000 matrículas x nome de alunos . Sei que posso usar o insert ignore e evitar as duplicações de nº de matrículas. Mas aí surge um problema, pois tenho tabelas diferentes na qual o id de uma não ficará mais alinhado com o id da outra (ex. id 11 nº de matrícula 2016.1.00254.11 pertence a João Roberto da Silva que agora é id 13 na tbnomealuno).
Depois deste texto longo faço a pergunta:
Existe a possibilidade de vincular o nº matrícula ao nome do aluno sendo que este nome estará em posição diferente na sua respectiva tabela? Porque quando eu fizer um select ou query buscando o nome do aluno, a matrícula tem de corresponder ao aluno pesquisado.
CREATE TABLE `tbnomealuno` (
`idnomealuno` int(11) NOT NULL AUTO_INCREMENT,
`nomealuno` varchar(70) DEFAULT NULL,
PRIMARY KEY (`idnomealuno`)
) ENGINE=InnoDB AUTO_INCREMENT=24964 DEFAULT CHARSET=utf8
CREATE TABLE `tbmatricula` (
`idmatricula` int(11) NOT NULL AUTO_INCREMENT,
`matricula` varchar(15) DEFAULT NULL,
`id_nomealuno` int(11) DEFAULT NULL,
`id_sitmatricula` int(11) DEFAULT NULL,
PRIMARY KEY (`idmatricula`),
KEY `FK_tbmatricula_tbnomealuno` (`id_nomealuno`),
KEY `idx_tbmatricula_matricula` (`matricula`),
KEY `FK_tbmatricula_tbsituacaomatricula` (`id_sitmatricula`),
CONSTRAINT `FK_tbmatricula_tbnomealuno` FOREIGN KEY (`id_nomealuno`) REFERENCES `tbnomealuno` (`idnomealuno`),
CONSTRAINT `FK_tbmatricula_tbsituacaomatricula` FOREIGN KEY (`id_sitmatricula`) REFERENCES `tbsituacaomatricula` (`idsitmatricula`)
) ENGINE=InnoDB AUTO_INCREMENT=49684 DEFAULT CHARSET=utf8
obrigado e desculpe o texto longoCarregando comentários...