Banco de dados MySQL

MySQL é um sistema gerenciador de banco de dados (SGBD) relacional, existindo uma versão com licença comercial e outra de código aberto com licença General Public License (GPL). Foi desenvolvido por vários anos, pelos programadores Davi Axmark, Allan Larsson e Michael Widenius. MySQL foi publicado em 1996, posteriormente adquirido pela Sun Microsystems, e em abril de 2009 pela Oracle, hoje já possui 10 milhões de instalações pelo mundo, incluindo empresas do setor privado, entidades do governo e laboratórios de pesquisas espaciais (STROPARO, 2010).
Este banco de dados tem como principal característica sua velocidade. Um banco de dados permite armazenar e consultar os dados armazenados. O serviço MySQL controla o acesso a estes dados, permitindo que vários usuários, consigam incluir ou consultar grandes quantidades de informações ao mesmo tempo. O MySQL é multiusuário e multitarefa, utiliza linguagem padrão Structured Query Language (SQL).

Com a imensa facilidade de integração do MySQL com várias linguagens, a sua utilização para web em portais imensos com missão critica, ou simples sites com poucos acessos tornam-se uma solução viável e muito confiável.
Para Videiro (2008) o desempenho deste banco colabora na sua grande fama, sendo considerado por grandes empresas o banco de dados mais popular existente. Sua imensa compatibilidade e fácil integração com a linguagem PHP, tornam o banco de dados MySQL um dos mais utilizados. Dentre as principais características deste SGBD são a sua portabilidade, suportando qualquer plataforma atual, compatibilidade com diversas linguagens, estabilidade e desempenho nas transações de dados, exigindo muito pouco do hardware onde está hospedado.


Tipos de tabela

O MySQL possui diversos tipos de tabelas, divididos em dois grupos, tabelas transacionais e não transacionais. A diferença entre elas consiste que no primeiro grupo as tabelas possuem maior confiabilidade e segurança, ou seja, se o hardware do servidor que hospeda o banco de dados falhar, provocando uma parada bruta, é possível recuperar as informações através de um backup e o log de transição. Com uma tabela transacional é possível combinar diversas instruções e processá-las todas com um só comando (MUTO, 2006).


As tabelas não transacionais são muito mais rápidas, não tendo nenhuma sobrecarga de transação, ocupam menos espaço em disco e usam menos memória para atualizações de dados.
Para Muto A. (2006 p.198):

Um banco de dados pode conter tabelas de diferentes tipos, ou seja, pode-se desenvolver uma aplicação tranquilamente utilizando os vários tipos de tabelas disponíveis, aproveitando dessa forma o melhor de dois mundos.

As opções e vantagens garantidas pelo MySQL, conseguem atender diversas exigências das aplicações, que podem precisar de desempenho extremo ou garantia e confiabilidade. Mesmo trabalhando com tabelas transacionais a performance obtida é superior a de qualquer outro banco de dados.
Muto (2006) descreve que as tabelas do tipo MyISAM, é o padrão utilizado, tem seus índices em um arquivo com extensão ‘.MYI’ (MYIndex), e os dados em um arquivo ‘.MYD’ (MYData). MyISAM suporta diversos itens como:

a) suporte a campos VARCHAR de tamanho fixo ou dinâmico;
b) campos VARCHAR e CHAR podem ser maiores que 64 Kbytes (KB);
c) valores NULL são permitidos em colunas indexadas;
d) colunas BLOB e TEXT podem ser indexadas;
e) as tabelas MyISAM podem ser estáticas, dinâmicas e compactadas, os dois primeiros são escolhidos automaticamente, e o terceiro pode ser criado com uma ferramenta.
HEAP são tipos de tabelas que fazem parte do grupo das não transacionas tal como o MyISAM, mas seus índices são armazenados na memória, isso as torna muito mais rápidas e vulneráveis, pois se o MySQL falhar os dados armazenados nesse tipo de tabela serão perdidos.
O tipo transacional InnoDB foi desenvolvido para obter o máximo de performance ao processar um grande volume de dados, é usado largamente em sites que possuem banco de dados superiores a um Terra byte (TB). As tabelas podem ser de qualquer tamanho, mesmo em sistemas operacionais onde o tamanho do arquivo é limitado, pois um espaço da tabela pode consistir em diversos arquivos. Mesmo sendo transacional, e possuir um mecanismo de armazenamento seguro, foi desenvolvido para eficiência em nível de central processing unit (CPU). Possui sua própria área de buffer para armazenar dados e índices na memória principal (MUTO, 2006).
BerkeleyDB (BDB) é mais um tipo de tabelas existente no MySQL, possuem diversos recursos de um ambiente transacional. Possuem uma maior chance de sobrevivência a falhas e são capazes de realizar operações COMMIT e ROLLBACK.


Integridade referencial


Integridade referencial é um método utilizado nos banco de dados para garantir que os dados não possam ser excluídos quando houver relacionamentos de níveis hierárquicos nas tabelas, evitando assim que a informação seja corrompida. Através das chaves estrangeiras é possível identificar se a informação é dependente de outra tabela.
Segundo Duarte (2006):

Existem determinados recursos do SGBD (Sistema Gerenciador de Banco de Dados) que estão diretamente relacionados ao tipo de tabela escolhido, tais como, controle de transação, níveis de lock e integridade referencial.

Para utilizar a integridade referencial no MySQL é necessário criar tabelas do tipo InnoDB. Este tipo de tabela é possível criar restrições de integridades incluindo a diretriva constraint na chave estrangeira de uma tabela.
O MySQL permite incluir restrições de integridade dos tipos cascade, restrict, set null e set default. No primeiro caso, ao se remover um registro da tabela referenciada pela chave estrangeira, os registros relacionados com aquele removido serão eliminados em todas as tabelas relacionadas. O restrict não permite nenhuma remoção de registros que possuam relacionamentos em outras tabelas. Os dois últimos atribuem os valores default ou null para as chaves estrangeiras cujos registros relacionados foram excluídos (DUARTE, 2006).


Suporte a transações


As transações simples em qualquer banco de dados são interpretadas imediatamente, ou seja, após executado a sintaxe os dados são inseridos, editados, consultados ou excluídos. O suporte de transações são delimitadores que indicam o início e o fim de uma sintaxe, onde a execução do comando no MySQL é realizada ou abortada somente quando o delimitador final é interpretado. (MADEIRA, 2004).
O comando que indica o início da diretiva SQL é start transaction. O conteúdo da sintaxe só é aplicado no banco de dados se for finalizado com o comando commit, caso não seja incluído nenhuma instrução de delimitador no final, a operação ficará pendente. A sintaxe pode ser cancelada com algum mau comportamento do software, que utilizará meios de tratamento de erros incluindo o comando rollback como delimitador final, dessa forma todo o SQL da transação não será interpretado pelo banco de dados.


phpMyAdmin


O software phpMyAdmin foi desenvolvido em linguagem PHP com uma interface web para navegador, com este aplicativo é possível criar e remover banco de dados, tabelas e campos, enfim, qualquer operação necessária para manipulação e configuração do banco de dados MySQL. O software em si, é um conjunto de ficheiros em PHP, isso permite que seja multiplataforma, necessitando apenas de um servidor web que seja compatível com a versão do PHP a qual o phpMyAdmin foi construído. Suas atualizações e desenvolvimento são criados por toda a comunidade de software livre mundial, garantindo que esteja disponível em setenta e duas linguagens (PHPMYADMIN DEVEL TEAM, 2003)

Atualmente o phpMyAdmin é amplamente utilizado em diversos servidores pelo mundo, por ser de fácil integração e compatibilidade, concedendo acesso para que administradores de banco de dados possam realizar qualquer operação remotamente em qualquer plataforma que possua um browser e conexão a internet.

Nenhum comentário:

Postar um comentário