luiscarlos
(usa Fedora)
Enviado em 21/03/2008 - 12:43h
Vamos utilizar 2 tabelas, usuarios e grupo
CREATE TABLE `usuarios` (
`id` int(3) NOT NULL auto_increment primary key,
`nome` varchar(50) NOT NULL default '',
`login` varchar(12) NOT NULL default '',
`senha` varchar(10) NOT NULL default '',
`grupo` int(11) default NULL,
) engine=innodb;
CREATE TABLE `grupo` (
`id` int(11) NOT NULL auto_increment,
`nome` varchar(50) default NULL,
`descricao` text
)engine=innodb;
a tabela usuario tem uma relação com a tabela grupo através do campo "grupo", este campo poderia ter outro nome qualquer, eu utilizo o nome da tabela no campo para ficar mais facil a compreensao, o importante é seguir um padrão.
após criar as tabelas vamos relaciona-las
alter table usuarios add foreign key (grupo) references grupo(id)
na sql acima criamos um relacionamento do campo grupo na tabela usuarios com o campo id da tabela grupo, este campo id na tabela grupo deve ser chave primaria ou fazer parte de uma chave composta.
uma chave composta é uma chave primaria composta de dois ou mais campos
no mysql para que as tabelas possam ter relacionamentos, estas devem ser do tipo innodb, por padrão elas são do tipo myisam, entao ao criar a tabela vc adiciona a clausula
engine=innodb
você ainda pode criar um relacionamento que na exclusão de um campo de uma tabela, os campos relacionados com ele sejam excluidos também, assim vc nao precisa criar essa situação na sua aplicação, é bem mais confortável para programar, é a clausula "on delete cascade".
estas SQLs vc pode copiar e colar numa interface de acesso ao banco como o phpmyadmin que vc possui, tem um link chamado "SQL", clica nele e entao vc cola estas sql e manda executar.
este é um basico de como funciona os relacionamentos no mysql, no site mysql.com tem a documentação do banco em português, muito fáci de entender.