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.
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 é 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).
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.
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