Pessoal, to com um pequeno problema e vou tentar explicar; Tenho uma tabela de usuários como a descrita abaixo:
CREATE TABLE `user` (
`uid` int(3) NOT NULL AUTO_INCREMENT,
`uunidade` varchar(50) NOT NULL,
`usenha` varchar(32) NOT NULL,
`uemail` varchar(50) NOT NULL,
`utelefone` int(10) NOT NULL,
`utipo` enum('A','N') NOT NULL DEFAULT 'N',
PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
ONDE: uunidade => Nome do usuário
Uma tabela com as áreas que ele pode locar:
CREATE TABLE `area` (
`aid` int(3) NOT NULL AUTO_INCREMENT,
`anome` varchar(50) NOT NULL,
`atipo` varchar(32) NOT NULL,
PRIMARY KEY (`aid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
ONDE: anome => Nome da área que pode ser locada
E a última tabela é a tabela de pedidos que o usuário fará para locar uma área x:
CREATE TABLE `pedidos` (
`pid` int(10) NOT NULL AUTO_INCREMENT,
`pfinalidade` varchar(50) NOT NULL,
`pdata` date NOT NULL,
`pturnom` INT(1) NOT NULL DEFAULT 0,
`pturnot` INT(1) NOT NULL DEFAULT 0,
`pturnon` INT(1) NOT NULL DEFAULT 0,
`anome` varchar(50) NOT NULL,
`uunidade` varchar(50) NOT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
Como vocês podem perceber, na tabela pedidos consta os campos `uunidade` (nome do usuário da tabela `user`) e `anome` (nome da área da tabela `area`). O que eu quero é relacionar essas tabelas de forma que os únicos usuários que podem ser incluídos no campo `uunidade` da tabela pedidos sejam os que constarem na tabela `user` e que as áreas da tabela pedidos sejam as que constam no campo `anome` da tabela `àrea`.
O que devo fazer? FOREIGN KEY ou o quê?
Grato desde já...
Editado por Denis Courcy Melhorar entendimento do código
Pergunta
Paulo Goes
Pessoal, to com um pequeno problema e vou tentar explicar; Tenho uma tabela de usuários como a descrita abaixo:
ONDE: uunidade => Nome do usuário Uma tabela com as áreas que ele pode locar: ONDE: anome => Nome da área que pode ser locada E a última tabela é a tabela de pedidos que o usuário fará para locar uma área x:Como vocês podem perceber, na tabela pedidos consta os campos `uunidade` (nome do usuário da tabela `user`) e `anome` (nome da área da tabela `area`). O que eu quero é relacionar essas tabelas de forma que os únicos usuários que podem ser incluídos no campo `uunidade` da tabela pedidos sejam os que constarem na tabela `user` e que as áreas da tabela pedidos sejam as que constam no campo `anome` da tabela `àrea`.
O que devo fazer? FOREIGN KEY ou o quê?
Grato desde já...
Editado por Denis CourcyMelhorar entendimento do código
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados