do tipo de dados TINYINT(1).Alem disso, destaca-se tambem o uso em excesso de colunas com o tipo de dados TEXT, algo que permite o armazenamento de dados limitado apenas pelos recursos do servidor e nao por um numero fixo de caracteres.O uso em excesso de colunas do tipo TEXT pode eventualmente se tornar um problema devido a grande quantidade de caracteres armazenados e a necessidade de backups especificos por tabelas. Sem contar que a indexacao e pesquisa para este tipo de dados devem ser especiais, algo que nao e tratado no Joomla diretamente.Do ponto de vista de modelagem, em algumas situacoes o modelo atende a certos requisitos relativamente bem, como e o caso do gerenciamento de usuarios, grupos e permissoes.Por outro lado, algumas tabelas deveriam ser implementadas como plug-ins ou extensoes e nao diretamente no modelo padrao, como e o caso do gerenciamento de avaliacao (rating) de um post cujos dados sao armazenados na entidade _content_rating.Outro exemplo de tabelas que seriam mais bem aproveitadas em plug-ins ou extensoes esta relacionado com a criacao de enquetes (polls) cujos dados sao armazenados nas tabelas _polls, _polls_menu e _polls_data.Outro aspecto que me chamou a atencao no modelo foram as tabelas responsaveis pelo armazenamento de informacoes de propaganda (_banner, _bannerclient e _bannerfinish) que provavelmente vieram como resquicio do modelo do banco de dados do Mambo, projeto na qual o Joomla se originou.Atualmente o modelo de patrocinio em sites evoluiu muito em relacao aos antigos banners e creio que estas tabelas acabaram ficando no esquecimento devido a funcionalidades e requisitos de campanhas com links patrocinados e integracao com programas de afiliados.Apesar de nao ser dificil compreender o modelo uma vez que se acostume a ele, em algumas situacoes fica estranho nao contar com a nomenclatura e termos ja tradicionais.Por exemplo, em nenhuma tabela/coluna existe o termo comentario. No modelo de dados esta forma de interacao do usuario com o post e chamada de mensagens. Ja a tradicional forma de taxonomia apresentada por tags e representada por secoes e categoria em um post. Ja template e utilizado estritamente para menus e nao faz referencia direta a forma de customizacao do layout do site.Novamente, assim como no Wordpress, o modelo de dados do Joomla nao possui nenhuma outra integridade de dominio ou stored procedure que faca restricao ao que e inserido no banco. Apesar disso nao ser obrigatorio, esta pratica abre margem para problemas como SQL Injection onde um usuario malicioso pode tentar invadir o site por meio de caracteres especiais.Alem disso, a falta desta integridade pode permitir dados que invalidem a aplicacao como, por exemplo, colocar o valor -2 na coluna count da tabela _categories. Ha tambem algumas colunas de tabelas onde o valor NULL e permitido, tornando necessaria uma checagem adicional na aplicacao.Enquanto alguns podem argumentar que isso e responsabilidade da aplicacao nao e raro encontrar bancos de dados com este tipo de integridade de dominio implementada, fornecendo assim mais uma camada de seguranca e consistencia de dados.Em resumo pode-se dizer que o modelo do Joomla e robusto e atende a sua necessidade, porem e um modelo