Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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, ã, ã, ã??
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!
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??
>
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);
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);