Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crucifier

ligações BD

Recommended Posts

galera seguintetenho um sistema..onde todas as tabelas tem ligações..aih vai a estrutura(5 tabelas):

CREATE TABLE usr ( usr_id int(11) NOT NULL auto_increment, usr_nivel smallint(1) NOT NULL default '1', usr_login varchar(50) NOT NULL default '', usr_senha varchar(32) NOT NULL default '', usr_nome varchar(50) NOT NULL default '', usr_site varchar(50) default NULL, usr_email varchar(50) default NULL, usr_data_cadastro date NOT NULL default '0000-00-00', usr_ultima_visita date NOT NULL default '0000-00-00', usr_visitas smallint(6) NOT NULL default '0', usr_anotacoes text, PRIMARY KEY (usr_id)) TYPE=MyISAM AUTO_INCREMENT=0 ;

CREATE TABLE ano ( ano_id int(11) unsigned NOT NULL auto_increment, ano_id_usr int(11) unsigned NOT NULL default '0', ano_ano year(4) NOT NULL default '0000', ano_inativo smallint(1) NOT NULL default '1', PRIMARY KEY (ano_id)) TYPE=MyISAM AUTO_INCREMENT=0 ;

CREATE TABLE cat ( cat_id int(11) NOT NULL auto_increment, cat_id_ano int(11) NOT NULL default '0', cat_categoria varchar(50) NOT NULL default '', cat_tipo set('rec','desp','outr') NOT NULL default 'outr', cat_frequencia smallint(2) NOT NULL default '1', cat_avisar_expirar set('1','2') NOT NULL default '1', cat_dia_expirar smallint(2) NOT NULL default '10', cat_data date NOT NULL default '0000-00-00', cat_mes_inicial set('01','02','03','04','05','06','07','08','09','10','11','12') NOT NULL default '01', PRIMARY KEY (cat_id)) TYPE=MyISAM AUTO_INCREMENT=0 ;

CREATE TABLE `mes` ( `mes_id` int(11) NOT NULL auto_increment, `mes_id_cat` int(11) NOT NULL default '0', `mes_mes` set('01','02','03','04','05','06','07','08','09','10','11','12') NOT NULL default '', `mes_texto` longtext NOT NULL, PRIMARY KEY (`mes_id`)) TYPE=MyISAM PACK_KEYS=1 AUTO_INCREMENT=0 ;

deu pra perceber as ligacoes neh??tipo a ligação da tabela de usuario(usr) com a de ano...(ano_id_usr)...ano com a cat(cat_id_ano) e assim por diantetudo bem até aihsó que na hora de fazer o select..fica muito imenso e complicado..me perco nele...afinal tem página onde vai uns 2 registros de cada tabela...daih tem que selecionar todas as tabelas fazer as ligações tipo ano_id_usr = usr_id e bla bla bla...teria um jeito mais simples de fazer essas ligações?vi um tutorial uma vez sobre criar uma nova tabela com os id's das ligaçõesmas não lembro onde tá e como funciona isso..se alguem tiver uma ideia sobre como fazer essas ligações mais simplismenteagradeço desde já...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha ... isso q você falou sobre uma tabela de Ids das ligações ...Se eu não em engano, você usa isso quando existe um relacionamento N para N, você cria uma entidade associativa, com a chave (composta) sendo o ID da primeira com o ID da segunta ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.