Ir para conteúdo

POWERED BY:

Arquivado

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

rafinhaphp

como organizo melhor minha base?

Recommended Posts

Salve galera... estou aprendendo mysql e tenho uma dúvida simples...

 

eu fiz uma galeria de imagens onde tem um admin que configura a quantidade de imagens a ser listada e o tamanho deles... até ai beleza..

 

eu criei uma tabela que vai conter as legendas, url de imagens:

 

::galeria::

URL________________

TITULO_____________

LEGENDA____________

 

 

comoeu faço com o admin dessa galeria? crio uma outra tabela para conter as informações??? tipo

 

 

::galeriaadmin::

quantidadefotos___________

width_____________________

height____________________

 

 

 

 

eu eu tenho que usar uma tabela só pra "tudo" isso, ã, ã, ã??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas tabelas fica bom.

 

::galeria::

id_galeria_________

URL________________

TITULO_____________

LEGENDA____________

 

 

::galeriaadmin::

quantidadefotos___________

width_____________________

height____________________

id_galeria________________

 

Faça um relacionamento entre o id_galeria da tabela galeria com o id_galeria da tabela galeriaadmin (chave estrangeira).

 

Alter table add foreign key id_galeria(galeriaadmin) references id_galeria(galeria);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um modelo básico para galeria pode ser assim:

 

Tabela que armazenará os albuns

CREATE TABLE IF NOT EXISTS `galeria_albuns` (
  `albumID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `albumNome` varchar(64) NOT NULL DEFAULT '',
  `albumDiretorio` varchar(64) NOT NULL,
  `albumImgID` bigint(20) NOT NULL DEFAULT '0',
  PRIMARY KEY (`albumID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Tabela utilizada para o cadastro de albuns' AUTO_INCREMENT=1 ;

Tabela que armazenará as imagens

CREATE TABLE IF NOT EXISTS `galeria_imagens` (
  `imgID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `imgArquivo` varchar(36) NOT NULL DEFAULT '',
  `imgLegenda` varchar(100) NOT NULL DEFAULT '',
  `imgAlbumID` bigint(20) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`imgID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Tabela utilizada para o cadastro de imagens na galeria ' AUTO_INCREMENT=1;

Se tiver dúvidas é só perguntar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

h4v3st, pow manu ñ manjo quaze nada de banco.. ñ sei para que serve o relacionamento entre tabelas... se puder explicar melhor...

 

 

 

 

Claudiobrother, ñ seria melhor determinar a qual album a foto pertence em uma tabela só tipo:

 

idfoto____01

album_____ultimas fotos

url_______http://...

titulo____titulo da foto

legenda___bla bla bla bla

 

 

em, em, emmm??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudiobrother, ñ seria melhor determinar a qual album a foto pertence em uma tabela só?

 

Eu prefiro dividir as informações e relacionar as duas tabelas

 

Como eu já havia postado antes, um modelo básico para galeria pode ser assim:

 

Tabela que armazenará as informações dos albuns

CREATE TABLE IF NOT EXISTS `galeria_albuns` (
 `albumID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 `albumNome` varchar(64) NOT NULL DEFAULT '',
 `albumDiretorio` varchar(64) NOT NULL,
 PRIMARY KEY (`albumID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Tabela utilizada para o cadastro de albuns' AUTO_INCREMENT=1 ;

 

Tabela que armazenará as informações das imagens

CREATE TABLE IF NOT EXISTS `galeria_imagens` (
 `imgID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 `imgArquivo` varchar(36) NOT NULL DEFAULT '',
 `imgLegenda` varchar(100) NOT NULL DEFAULT '',
 `imgWidth` varchar(4) NOT NULL DEFAULT '',
 `imgHeight` varchar(4) NOT NULL DEFAULT '',
 `imgUrl` varchar(100) NOT NULL DEFAULT '',
 `imgAlbumID` bigint(20) unsigned NOT NULL DEFAULT '0',
 PRIMARY KEY (`imgID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Tabela utilizada para o cadastro de imagens na galeria ' AUTO_INCREMENT=1;

 

O Campo 'imgAlbumID' da tabela 'galeria_imagens' armazenará o ID do campo 'albumID' da tabela 'galeria_albuns', relacionando

as duas tabelas.

 

Depois você pode usar INNER JOIN na consulta, ou seguir o conselho do h4v3st:

Alter table add foreign key id_galeria(galeriaadmin) references id_galeria(galeria);

 

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.