Jump to content


guikassio1

Member Since 22/01/2010
Offline Last Active 26/06/2014, 14:48
-----

Posts I've Made

In Topic: Relacionamento De Tabelas

06/09/2012, 08:20

Cria sem o FK e faz um JOIN no select para liga-las, usar FOREIGN KEY so em caso de InnoDB e serve para modo de storage e DELETE querys, acho que não vai precisar!

Abraços


Vou tentar, obrigado pela dica.

In Topic: Relacionamento De Tabelas

05/09/2012, 16:13

Na tabela servidor vc tem que ter um cli_id neh ? Assim vc sabe qual servidor é de qual cliente.. O mesmo para as ligacoes, correto ? Necessário chaves estrangeiras!

Abraços


Certo, criei na tabela servidor o "cli-id" agora como no formulario eu vinculos os condigos, sabendo que também criei as chaves estrangeiras?

Aparece este erro quando tento relacionar as tabelas, presumo FK erradas.

Erro: Cannot add or update a child row: a foreign key constraint fails (`scts`.`ligacoes`, CONSTRAINT `LIGA_CLIENTE` FOREIGN KEY (`INT_CLI`) REFERENCES `cliente` (`INT_CLI`))

In Topic: Relacionamento De Tabelas

05/09/2012, 14:48

Obrigado, irei conferir os links.

Boa tarde, silici0.

Verifiquei as dicas, porém ao executar continuo a mesma marmota. :(
Segue abaixo a estrutura do meu banco, e a nomeclatura que estou utilizando e a padrão onde trabalho. :(
Peço ajuda.

banco:controle

DROP TABLE IF EXISTS `cliente`;
CREATE TABLE `cliente` (
`INT_CLI` int(11) NOT NULL AUTO_INCREMENT,
`NM_CLI` varchar(45) NOT NULL DEFAULT '' COMMENT 'Nome da Empresa',
`NM_CID` varchar(45) NOT NULL DEFAULT '' COMMENT 'Cidade',
`NM_BAIRR` varchar(45) NOT NULL DEFAULT '' COMMENT 'Bairro',
`NM_LOGR` varchar(45) NOT NULL DEFAULT ''COMMENT 'Logradouro',
`INT_STR` int(11) NOT NULL DEFAULT '0' COMMENT 'Número',
`NM_CMP` varchar(45) NOT NULL DEFAULT ''COMMENT 'Complemento',
`INT_CEP` int(11) NOT NULL DEFAULT '0' COMMENT 'CEP',
`TEL_CLI` int(11) NOT NULL DEFAULT '0'COMMENT 'Telefone',
`FAX_CLI` int(11) DEFAULT NULL COMMENT 'fax',
`CEL_CLI` int(11) DEFAULT NULL COMMENT 'Celular',
PRIMARY KEY (`INT_CLI`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

-------------------------------------------------------------------

DROP TABLE IF EXISTS `ligacoes`;
CREATE TABLE `ligacoes` (
`INT_LG` int(10) unsigned NOT NULL AUTO_INCREMENT,
`NM_ASSN_LG` varchar(60) NOT NULL DEFAULT '' COMMENT 'Motivo da Ligação',
`NM_CLI` varchar(45) NOT NULL DEFAULT ''COMMENT 'Nome do cliente',
`NM_FNC` varchar(45) NOT NULL DEFAULT ''COMMENT 'Nomoe do Funcionario',
`D_LG` date NOT NULL DEFAULT '0000-00-00',
`H_LG` time NOT NULL DEFAULT '00:00:00',
`NM_STOR` varchar(60) NOT NULL DEFAULT ''COMMENT 'Nome do Setor',
`NM_SRVR` varchar(60) NOT NULL DEFAULT ''COMMENT 'Nome do servidor público',
PRIMARY KEY (`INT_LG`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

-------------------------------------------------------------------

DROP TABLE IF EXISTS `servidor`;
CREATE TABLE `servidor` (
`INT_SRVR` int(11) NOT NULL AUTO_INCREMENT COMMENT,
`NM_SRVR` varchar(60) NOT NULL DEFAULT ''COMMENT 'Nome do servidor',
PRIMARY KEY (`INT_SRVR`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

IPB Skin By Virteq