MVC, Frameworks PHP e Normalização de Dados

Classificado em Computação

Escrito em em português com um tamanho de 5,44 KB

O que é MVC?

MVC (Model-View-Controller) pode ser definido como um padrão de projeto (design pattern) de software. Tem como proposta separar as camadas de lógica e negócio da camada de apresentação.

Model (Modelo)

Consiste nos componentes da camada de abstração de dados. Tem a função de lidar com o Banco de Dados. Tarefas como incluir, alterar, excluir e recuperar informações de um BD são tarefas dos models.

View (Visão)

Consiste na camada de apresentação, responsável em apresentar os resultados (páginas) para o usuário final. Recebem dados dos controllers e não deverão se comunicar com os models. Basicamente são arquivos HTML ou PHP, contendo estruturas HTML, XHTML ou HTML5 e outros formatos de saída, que apresentarão os dados gerados pela aplicação para o usuário. Aqui não se faz validação de dados.

Controller (Controlador)

Responsável pela comunicação entre a camada de dados e abstração (models) e a camada de apresentação (views). É o controller que recebe as requisições dos usuários. Sempre que estamos acessando um URL, obrigatoriamente estamos acessando um método de um controlador. A Validação de dados é feita aqui.

O que é um Framework?

Basicamente, um framework para o desenvolvimento de software é uma estrutura, uma fundação para o desenvolvimento de aplicações. Permite o desenvolvimento rápido de aplicações (RAD), pois muitas das tarefas/rotinas/componentes comuns nas aplicações já estão prontas. Utilizar um framework economiza tempo, as aplicações são mais sólidas e seguras. Mesmo utilizando um framework, é necessário ter conhecimentos sólidos da linguagem utilizada.

Framework PHP

Há vários frameworks que trabalham com a linguagem PHP: CakePHP, Zend Framework, CodeIgniter. Todos trabalham com o padrão MVC.

Framework PHP: Qual Utilizar?

Cada framework possui suas particularidades, vantagens e desvantagens, virtudes e fraquezas.

O Zend Framework é conhecido por sua robustez e performance, mas a curva de aprendizado não é tão breve quanto ao CodeIgniter. O CodeIgniter é simples, bom e de fácil aprendizado.

Normalização de Dados

O conceito de normalização foi introduzido por E. F. Codd em 1970, e esta técnica é um processo matemático formal, que tem seus fundamentos na teoria dos conjuntos. O principal objetivo desta técnica é substituir um conjunto de entidades e relacionamentos por um outro melhorado, ou até mesmo “purificado” em relação às anomalias de atualização (Inclusão, Alteração e Exclusão de Dados).

É possível aplicar a normalização de duas formas, uma no sentido de cima para baixo (TOP-DOWN) e outra no sentido de baixo para cima (BOTTON-UP). No sentido de cima para baixo aplica-se a normalização nas entidades e relacionamentos prontos, ou seja, depois da modelagem de dados ter sido feita para “purificá-la”. Utilizando o sentido de baixo para cima, aplica-se a normalização como ferramenta de projeto do modelo de dados, usando os relatórios, formulários e documentos utilizados pela realidade em estudo, constituindo-se em uma ferramenta de levantamento.

Primeira Forma Normal

Cada ocorrência da chave primária deve corresponder a uma e somente uma informação de cada atributo, ou seja, a entidade não deve conter grupos repetitivos (multivalorados).

Dependência Funcional

Dada uma entidade qualquer, dizemos que um atributo ou conjunto de atributos B é dependente funcional de um outro atributo A contido na mesma entidade, se a cada valor de A existir um único valor de B. Em outras palavras, B depende funcionalmente de A, B é dependente funcional de A, ou A determina B.

A dependência funcional Total ou Parcial ocorre nas entidades onde a chave primária é concatenada em dois ou mais atributos. Dependência Total (ou Completa): existe quando um atributo depende funcionalmente da chave primária completa, ou seja, dependendo do conjunto de todos os campos que formam a chave primária. A Dependência Parcial existe quando um atributo depende funcionalmente de algum atributo da chave primária e não dela como um todo.

Segunda Forma Normal (2FN)

A segunda forma normal é aplicada apenas em entidades cuja chave primária possui mais de um atributo concatenados.

Dependência Funcional Transitiva

Quando um atributo ou conjunto de atributos A depende de outro atributo B que não pertence à chave primária, mas é dependente funcional desta, dizemos que A é dependente transitivo de B.

Terceira Forma Normal (3FN)

Uma entidade está na 3FN se nenhum de seus atributos possui dependência transitiva, ou seja, se nenhum de seus atributos possui dependência funcional em relação a outro atributo da entidade que não participe da chave primária.

Aplicar a Normalização Até Onde?

A proliferação de relações pode ter consequências ao nível do desempenho global do sistema. É necessário estabelecer um equilíbrio. Na prática o processo de normalização para na 3FN ou FNBC.

Entradas relacionadas: