Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Foto do Autor]
Jose M. Fernández
Sobre o autor: [escreva um ou dois par�grafos aqui sobre a biografia]

Conte�do:
Introdu��o
Principais Caracter�sticas
Instala��o
Primeiros Passos, Administra��o (Seguran�a)
Conclus�es

MySQL
Servidor de Banco de Dados

[Ilustration]

Abstrato: [MySQL � um servidor de banco de dados SQL (Structured Query Language) para v�rias plataformas entre as quais encontramos Linux. O desenho da vers�o Linux foi feito para obter um r�pido funcionamento...]




Introdu��o

MySQL � um gerenciador d banco de dados SQL (Structured Query Language). � uma implementa��o Cliente-Servidor que consta de um servidor e diferentes clientes (programas/librerías).

Falar de um banco de dados SQL � muito complicado j� que ter�amos que voltar a origem dos mesmos bancos de dados relacionais e o objetivo deste artigo n�o � t�o ambicioso, simplesmente tentar� descrever e mostrar uma implementa��o espec�fica de um gerenciador de banco de dados SQL.

Relembrando dados hist�ricos, quando a IBM come�ou a comercializar em 1.981 o SQL e desde ent�o este produto tem tido um papel importante no desenvolvimento dos bancos de dados relacionais. A IBM prop�s e foi aceita, uma vers�o do SQL ao American National Standard Institute (ANSI) e desde ent�o � utilizado de forma generalizada em banco de dados relacionais. Em 1983 nasceu DB2, a mais popular (pelo menos nos grandes computadores) dos bancos de dados deste tipo at� aqueles momentos.

No mundo GNU, um dos bancos de dados que se sobressai em qualquer referencia em aplica��es deste tipo sob LINUX, � MySQL, ainda que n�o est� incluida em nenhuma distribui��o, j� que n�o tem licen�a GNU, para comercializ�-la ou a qualquer software que a utilize ou se sirva dela, ter� que adquirir uma licen�a.

Este banco de dados � considerado (em sua pr�pria documenta��o) como a mais r�pida e robusta tanto para grandes volumes de dados como pequenos (sempre, claro est�, comparada com as de sua categoria), ainda que como veremos mais adiante esta rapidez � o custo de n�o implementar certos aspectos do SQL.

MySQL est� dispon�vel(Fontes e bin�rio) para: Linux 2.0+, SCO, Solaris 2.5, 2.6 SUNOS 4.x, BSDI 2.x, 3.0, SGI IRIX 6.x, AIX 4.x, DEC UNIX 4.x, HPUX 10.20, Windows 95 (perd�o), entre os sistemas operacionais mais populares.

A vers�o livre foi escrita por Michael Windenis, a vers�o comercial � distribuida por TCX Datakonsulter AB.

Principais Caracteristicas

  • O principal objetivo de MySQL � velocidade e robustez.
  • escrito em C e C++, testado com GCC 2.7.2.1. Usa GNU autoconf para portabilidade.
  • Clientes C, C++, JAVA, Perl, TCL.
  • Multiprocessamento, quer dizer poder usar v�rias CPU, sem que estas estejam dispon�veis.
  • Pode trabalhar em distintas plataformas e S.O. distintos.
  • Sistema de senhas e previl�gios muito flex�veis e segura.
  • Todas as palavras viajam criptografadas na rede.
  • Registros de comprimento fixo e vari�vel.
  • 16 índices por tabela, cada �ndice pode ser composto de 1 a 15 colunas ou parte delas com um comprimento m�ximo de 127 bytes.
  • Todas as colunas podem ter valores defaults.
  • Utilit�rio (Isamchk)para checar, otimizar e reparar tabelas.
  • Todos os dados est�o gravados no formato ISO8859_1-
  • Os clientes usam TCP ou UNIX Socket para conectar-se ao servidor.
  • O servidor suporta mensagens de erro em diversos idiomas.
  • Todos os comandos tem -help ou -? para as ajudas.
  • Diversos tipos de colunas com inteiros de 1, 2, 3, 4, e 8 bytes, ponto flutuante, precis�o dupla, caracteres, datas, numeros, etc.
  • ODBC para Windows 95 (com fontes), podemos utilizar ACCESS para conectar-se com o servidor.

Instala��o

Naturalmente, antes da instala��o de banco de dados, devemos consegu�-la, e para isso, usar a WEB:

http://www.tcx.se


ou FTP :
ftp://ftp.sunet.se/pub/unix/databases/relational/mysql

Teremos que decidir tamb�m se queremos baixar uma distribui��o em c�digo fonte ou bin�rio. Esta �ltima � mais f�cil de instalar, mas deve existir a vers�o bin�ria para nossa plataforma (ainda que exista para as mais populares).

Instala��o Binario

Uma vez baixado o arquivo compactado como:

mysql-Version.tar.gz

poderemos descompact�-lo. Podemos fazer de v�rias formas, mas eu prefiro faz�-lo passo a passo:

  1. descompactar :
    gunzip -dfv mysql-Vers�o.tar.gz
  2. depois realizamos o comando tar
    tar -xvf mysql-Version.tar

    Este comando tar no meu computador (instala��o) o fiz no diret�rio /usr/local com o que neste criamos o diret�rio:
    /usr/local/mysql-3.20.32a-pc-linux-gnu-i586

    como vemos n�o � muito pr�tico sua utiliza��o, como recomenda (no pr�prio guia de instala��o do MySQL) devemos realizar um acesso direto com o comando ln (criar links entre arquivos)

    > ln -s mysql-3.20.32a-pc-linux-gnu-i586/bin mysql

    resultar� o seguinte aspecto no diret�rio :

    drwxr-xr-x 8192 Nov 24 1993 bin
    drwxr-xr-x 8192 Nov 24 1993 etc
    drwxr-xr-x 8192 Aug 17 1997 i18n
    drwxr-xrx 8192 Mar 16 1994 include
    drwxr-xr-x 8192 Mar 19 02:03 jdk1.1.3
    drwxr-xr-x 8192 Aug 17 1997 jre
    drwxr-xr-x 8192 Mar 16 1994 lib
    lrwxrwxrwx 36 Jan 18 19:40 mysql
    drwxr-xr-x 8192 Feb 5 00:07 mysql-3.20.32a-pc-linux-gnu-i586
    drwxr-xr-x 8192 Nov 24 1993 sbin
    drwxr-xr-x 8192 Nov 24 1993 src

    e digitando cd mysql, estaremos naturalmente no diret�rio bin de MySQL, e nele e se tudo funcionou perfeitamente, estaremos em condi��es de poder executar o servidor de banco de dados.

Instalando as Fuentes

Descompactar o arquivo da mesma forma do anterior.


cd mysql-Vers�o
./configure
make install

Existe uma quantidade muito grande de documenta��o para realizar o processo de instala��o, onde podemos encontrar desde os Erros(Bugs), passando pela documenta��o espec�fica para distintos sistemas operacionais, par�metros para distintas configura��es e at� uma cole��o de FAQs deste assunto. Se o processo de instala��o foi realizado sem problemas (seria a primeira vez), teremos como resultado algo similar ao obtido na instala��o do software em bin�rio.

Esta op��o � recomend�vel s�mente para aqueles usu�rios com bastante experiencia em compilar e instalar c�digo fonte e dispor de bastante tempo e paciencia para ir resolvendo cada um dos problemas que inevit�velmente surjam

Primeiros Passos, Administra��o (Seguran�a)

Uma vez instalado em nosso sistema o gerenciador de banco de dados com qualquer uma das formas descritas o �tem anterior, e dentro do diret�rio :

/usr/local/mysql-3.20.32a-pc-linux-gnu-i586

teremos os seguintes arquivos e/ou diret�rios :

-rw-r--r-- 1 root root 4133 Oct 1 1997 INSTALL-BINARY
-rw-r--r-- 1 root root 16666 Oct 7 21:10 INSTALL-SOURCE
-rw-r--r-- 1 root root 24088 Oct 27 23:06 NEWS
-rw-r--r-- 1 root root 3562 Apr 11 1997 PORTING
-rw-r--r-- 1 root root 8512 May 21 1997 PUBLIC
-rw-r--r-- 1 root root 1963 Jul 31 1997 README
-rw-r--r-- 1 root root 3416 Jun 4 1997 TODO
drwxr-xr-x 6 root root 8192 Oct 28 00:44 bench
drwxr-xr-x 2 cuenta1 users 8192 Mar 27 00:42 bin
drwxr-xr-x 5 root root 8192 Mar 31 00:26 data
drwxr-xr-x 2 root root 8192 Oct 28 00:44 include
drwxr-xr-x 2 root root 8192 Oct 28 00:44 lib
-rw-r--r-- 1 root root 132883 Jun 8 1997 mysql-faq.html
-rw-r--r-- 1 root root 117622 Jun 10 1997 mysql-faq.txt
-rw-r--r-- 1 root root 9301 Jun 8 1997 mysql-faq_toc.html
drwxr-xr-x 4 root root 8192 Oct 28 00:44 mysqlperl
drwxr-xr-x 2 root root 8192 Oct 28 00:44 scripts
drwxr-xr-x 3 root root 8192 Oct 28 00:44 share
drwxr-xr-x 2 root root 8192 Oct 28 00:44 tests

Nos arquivos README, TODO, INSTALL, mysql-faq, etc., temos informa��es sobre a instala��o do servidor de banco de dados, FAG, manual de funcionamento, etc. que � bastante completo e efetivo (parte deste artigo est� baseado neles).

Dentro do diret�rio /data, encontraremos como sub-diret�rios deste, cada um dos bancos de dados que vamos criando. No momento da instala��o definimos por default os arquivos em que se apoia o sistema de seguran�a, este banco de dados � “mysql”.

No diret�rio /bench encontraremos exemplos de SQL. Note que na instala��o em c�digo fonte os exemplos s�o maiores que na instala��o em bin�rio.

O diret�rio /share contem as mensagens de erro do servidor em cada um dos idiomas que est� dispon�vel.

Nos diret�rios /include e /lib encontramos os arquivos *.h e as bibliotecas necess�rias.

No diret�rio /bin est�o todos os arquivos execut�veis, dentre os mais importantes destacaremos :


`mysql'

Um Shell de SQL (na realidade de GNU). Pode ser usado tanto interativamente como n�o.


`mysqladmin'

Utilit�rios de administra��o. Criar/Apagar banco de dados. Informa��o sobre processos e vers�es.


`mysqld'

O SQL “deamon” .Deve estar sempre sendo executado.


`mysqlshow'

Visualiza informa��es sobre banco de dados, tabelas e campos.


`safe_mysqld'

Executa “mysqld”.


`mysqlaccess'

Script para checar os previl�gios de uma combina��o : Host, Usu�rio e banco de dados.


`mysqlbug'

Utilizado para enviar os poss�veis erros(bug) que encontramos no gerenciador.


`mysql_install_db'

Criar grandes tabelas com previl�gios por default, � executado quando instalamos um novo sistema pela primeira vez.


`isamchk'

Checa, otimiza e repara tabelas.

Seguran�a

O sistema de seguran�a de MySQL garante que cada usu�rio possa fazer as coisas que lhe s�o permitidas (nada mais e nada menos).

O sistema decide os diferentes previl�gios dependendo de “QUE USUARIO” conectado a “QUE BANCO DE DADOS” a partir de “QUE HOST”. O sistema de previl�gios est� baseado, como n�o, no conte�do de 3 tabelas, “USER”, “HOST” y “DB” do banco de dados “mysql”.


As colunas destas 3 tabelas s�o :

Database: mysql
Tables
db
host
user


Table: db
Field Type Null Key Default Extra
Host char(60)   PRI    
Db char(32)   PRI    
User char(16)   PRI    
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  

Table: host
Field Type Null Key Default Extra
Host char(60)   PRI    
Db char(32)   PRI    
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  

Table: user
Field Type Null Key Default Extra
Host char(60)   PRI    
User char(16)   PRI    
Password char(16)        
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  
Reload_priv char(1)     N  
Shutdown_priv char(1)     N  
Process_priv char(1)     N  
File_priv char(1)     N  

Podemos decidir se autorizamos ou n�o selecionar (SELECT) , inserir (INSERT), atualizar (UPDATE), e apagar (DELETE) linhas de uma tabela.

Podemos permitir ou n�o, criar o inibir (CREATE, DROP) tabelas ou banco de dados.

Podemos permitir, ou n�o, usar os comandos de administra��o do gerenciador de banco de dados como “shutdown”, “reload”, “process”, etc.

Podemos sempre comprovar nossos previl�gios com o script “mysqlaccess”.

Um HOST deve ser um “host local”, um n�mero IP, ou uma express�o SQL . Se na tabela “db” a coluna hosta est� vazia, significa “cualquier host” na tabela de “host”. Se na tabela “host” ou “user” a coluna host est� vazia, significa que qualquer HOST pode criar uma conex�o TCP com vosso servidor.

Db � o nome de um banco de dados.

Uma coluna “USER” vazia, significa qualquer nome de usu�rio.

Primeiros Passos

A forma mais r�pida de iniciar o servidor � executando :

mysql.server start

e para parar-lo :

mysql.server stop

Podemos realizar o mesmo executando o script safe_mysql como indicado no guia de instala��o, ainda que no final, de uma forma ou de outra, ser� executado o arquivo “mysqld”.

� necess�ria, como podemos supor, iniciar o servidor para realizar qualquer opera��o com o banco de dados, e uma vez realizado, podemos executar v�rios comandos para comprovar que a partida do servidor esteje correto como, por exemplo, “mysqladmin” cujo formato completo ser� :

mysqladmin [OP��ES] comando comando …

onde OP��ES puede ser :

-f, --force N�o realiza a pergunta para confirmar ao apagar uma tabela.
-?, --help Visualiza esta ajuda .
-h, --host=# Conex�o com o host.
-p, --password[=...] Palavra de senha para a conex�o ao servidor.
-P --port=... Numero da porta usada na conex�o.
-S --socket=... Arquivo Socket usado na conex�o.
-u, --user=# Usuario de conex�o, se n�o � o usu�rio atual.
-V, --version Informa��o sobre a vers�o atual .

onde Comando pode ser um ou mais de :

  • create nome do banco de dados
    Cria um novo banco de dados
  • drop nome do banco de dados
    Apaga um banco de dados e todas suas tabelas.
  • kill identificador de processos
    “mata “ um processo mysql
  • processlist
    Mostra uma lista dos processos que est�o sendo executados no servidor.
  • shutdown
    Para o servidor
  • status
    Obt�m uma mensagem do estado do servidor
  • version
    Obtem a vers�o do servidor.

    assim que, executando :

    mysqladmin create novobancodedados

    criaremos um novo banco de dados cujo nome ser� “nuevabasededatos”

    poderemos ver os processos que est�o sendo executado no servidor com :

    mysqladmin processlist

    Outro comando importante � mysqlshow que nos permite ver os bancos de dados que
    existem, por exemplo, se executamos o comando :

    mysqlshow

    nos mostrará o resulrtado :


    	+-----------+
    	| Databases |
    	+-----------+
    	| mysql     |
    	| personas  |
    	| test      |
    	+-----------+
    

    Linguagem SQL no MySQL

    Como indicamos na introdu��o, este servidor de banco de dados � considerado como o mais r�pido entre os de sua categoria tanto para grandes volumes de dados como pequenos, mas como tamb�m indicamos o princ�pio � o banco de dados de n�o implementar certos aspectos das especifica��es SQL estes aspectos, que a meu entender, s�o importantes por um lado os Triggers e por outro lado a L�gica Transacional.

    Os triggers n�o s�o nada mais que uma por��o de c�digo armazenado que se "dispara" ou se executa quando realizamos uma opera��o (atualiza��o, dele��o, etc.) com o banco de dados. Naturalmente comprovar a pr�pria existencia de disparador e execut�-lo, se existe, consome recursos e tempo e � como seu pr�prio manual informa, a �nica raz�o porque os triggers n�o est�o suportados.

    Um aspecto muito importante em qualquer banco de dados relacional � a consistencia das diferentes tabelas que o comp�em, para conseguir isto de uma forma menos f�cil � utilizando a "L�gica Transacional", ser� o pr�prio gerenciador de banco de dados que proporcionar� mecanismos de bloqueio de arquivos e consolida��o ou retrocesso nas opera��es com as tabelas. Pois bem MySQL n�o suporta as transa��es em fun��o da velocidade (ou pelo menos assim indicam em seus coment�rios), s� podem nos ajudar com os comandos LOCK tables /UNLOCK tables que permite bloquear tabelas impidindo que outros usu�rios possam acess�-las, mas sem a possibilidade de desfazer as opera��es realizadas com os dados.

    Tendo em conta estas restri��es na utiliza��o do servidor, veremos como implementamos alguns comandos SQL, n�o com o objetivo de analisar os comandos, e sim ver como estes comandos s�o implementadosneste Gerenciador de banco de dados.

    Uma vez que tenhamos o servidor j� iniciado, nada nos falta do que enviar-lhe instru��es para realizar as opera��es que desejarmos. Como exemplo veremos a cria��o de um banco de dados "pessoas", que � constituido por tres tabelas, "clientes", "estados" e "munic�pios". � um exemplo muito simples e sem nenhuma utilidade, mas nos ajudar� em um exemplo real de como podemos manipular banco de dados. Em primeiro lugar, diremos que estas opera��es poder�o serem realizadas de v�rias maneiras: uma delas ser� atrav�s de uma API em C, C++, Java ou por meio de um ODBC sem estarmos trabalhando no Windows95 (com perd�o), ou tamb�m poder�amos realiz�-los com o shell da pr�pria instala��o. Esta �ltima maneira nos parece mais apropriada para nosso artigo j� que n�o temos que descrever as particularidades das distintas linguagens de programa��o.

    O Shell do MySQL podemos iniciar, executando:

    mysql nomebancodedados

    e aparecer� o prompt do shell, que poderemos enviar comandos ao servidor.

    Assim mesmo podemos executar o shell no modo “batch” o retardado executando :

    mysql -e (“comando SQL …… “) nomebancodedados

    com o que conseguiremos enviar o comando SQL ao servidor.

    Para nosso exemplo criamos um banco de dados llamado "pessoas"com o comando.

    mysqladmin create pessoas

    Executaremos o shell com o comando.

    mysql pessoas

    ja podemos enviar desde o shell comandos ao pr�prio servidor, como por exemplo, que nos ensine as tabelas do banco de dados com o que temos iniciado no shell:


    > show tables /g

    e o sistema responder� com:


    Database: pessoas
    	+-------------+
    	|   Tables    |
    	+-------------+
    	| clientes    |
    	| municipios  |
    	| provincias  |
    	+-------------+
    

    Todos os comandos que enviamos ao servidor a partir do shell, sempre acabam em /g, que � a forma de indicar o fim de um comando e o envio dele ao servidor para que o execute.

    Naturalmente, antes que o sistema nos devolva esta informa��o, temos que ter criado as tabelas com os correspondentes comandos CREATE, os quais ter�am o seguinte aspecto:

    	CREATE TABLE clientes
    (NIF CHAR(9) NOT NULL PRIMARY KEY, Nombre CHAR(15) NOT NULL, Apellidos CHAR(35) NOT NULL, Direccion CHAR(50) NOT NULL, Poblacion INT(5) NOT NULL, Provincia INT(2) NOT NULL, Telefono INT(9), Fecha_Alta DATE NOT NULL) /g

        CREATE TABLE provincias
    (Cod_provincia INT(2) NOT NULL PRIMARY KEY, Descripcion_p CHAR(30) NOT NULL) /g

        CREATE TABLE municipios
    	      (Cod_provincia       INT(2)    NOT NULL,
    	       Cod_municipio       INT(3)    NOT NULL,
    	       Descripcion_m       CHAR(30)  NOT NULL,
    	          PRIMARY KEY(Cod_provincia,Cod_municipio))  /g
    

    Continuando, podemos executar:

    > show colums from clientes from pessoas /g
    > show columns from provincias from pessoas /g
    > show columns from municipios from pessoas /g

    obteremos respectivamente :

    Database: pessoas 	Table: clientes  Rows: 4
    +--------------+----------+------+-----+---------+-------+
    | Field        | Type     | Null | Key | Default | Extra |
    +--------------+----------+------+-----+---------+-------+
    | NIF          | char(9)  |      |PRI  |         |       |
    | Nombre       | char(15) | YES  |     |         |       |
    | Apellidos    | char(35) |      |     |         |       |
    | Direccion    | char(50) |      |     |         |       |
    | Poblacion    | int(5)   |      |     |   0     |       |
    | Provincia    | int(2)   |      |     |   0     |       |
    | Telefono     | int(9)   | YES  |     |         |       |
    | Fecha_Alta   | date     | YES  |     |         |       |
    +--------------+----------+------+-----+---------+-------+
    
    Database: personas 	Table: provincias  Rows: 3
    +-----------------+----------+------+-----+---------+-------+
    | Field           | Type     | Null | Key| Default  | Extra |
    +-----------------+----------+------+-----+---------+-------+
    | Cod_provincia   | int(2)   |      | PRI |    0    |       |
    | Descripcion_p   | char(30) |      |     |         |       |
    +-----------------+----------+------+-----+---------+-------+
    
    Database: personas 	Table: municipios  Rows: 9
    +------------------+----------+------+-----+---------+-------+
    | Field            | Type     | Null | Key| Default  | Extra |
    +------------------+----------+------+-----+---------+-------+
    | Cod_provincia    | int(2)   |      | PRI |   0     |       |
    | Cod_municipio    |  int(3)  |      | PRI |   0     |       |
    | Descripcion_m    | char(30) |      |     |         |       |
    +------------------+----------+------+-----+---------+-------+
    

    O pr�ximo passo, ser� introduzir dados em cada uma das tabelas, vamos utilizar o comando INSERT puro do SQL, sem que haja nenhuma interven��o de qualquer linguagem de programa��o ou rotinas da API :

    Para inserir um registro na tabela clientes, municipios e estados, realizaremos respectivamente:

    INSERT INTO clientes VALUES
    ("5316828K","PEDRO","ROMERO DIAZ","C/ HOLA 9 ",29003,29,911111111,19980203)
    /g

    INSERT INTO municipios VALUES
    (28,001,"Fuenlabrada") /g

    INSERT INTO provincias VALUES
    (08,"Barcelona") /g

    E finalmente, terminaremos nosso intiner�rio pelos comandos SQL, realizando sele��es nas fileiras que introduzimos nas tabelas criadas anteriormente dentro do banco de dados que criamos para o exemplo deste artigo. Selecionaremos os registros da tabela "cliente" variando a condi��o de sele��o e uma primeira sele��o da tabela munic�pios :

    > SELECT ALL Cod_provincia, Cod_municipio, Descripcion_m from municipios where Cod_provincia = 28 /g
    Cod_provincia	Cod_municipio	Descripcion_m
    28              1               Fuenlabrada
    28              2               Pozuelo
    28              3               Madrid
    
    > SELECT ALL NIF,Nombre,Apellidos,Direccion from clientes where Poblacion = 28001
    NIF Nombre Apellidos direccion
    2416728U JOSE FERNANDEZ ROMERO C/ FELIZ 1 3G


    > SELECT ALL NIF,Nombre,Apellidos,Direccion from clientes
    where Provincia = 29

    NIF        Nombre         Apellidos            	direccion
    23198623N  JUAN ANDRES    RUIZ MORALES             C/ CATEDRAL 12 2B
    5316828K   PEDRO          ROMERO DIAZ              C/ HOLA 9
    52312844J  LUIS ALBERTO   LISTO JIMENEZ            C/ ROSA DE LOS VIENTOS 129  3I  
    

    Conclus�es

    Como comentava no in�cio do artigo, o objetivo que seguia era simplemente mostrar o funcionamento e ver as caracter�sticas fundamentais de uma implementa��o concreta de um servidor de banco de dados SQL, mas n�o somente queria indicar uma s�rie de receitas e comandos para poder utiliz�-lo, sem que pretendessemos realizar um estudo das possibilidades e carencias que poderiam ter este software, sobretudo porque conhecendo a fundo um produto, podemos obter o m�ximo rendimento dele, utilizando-o naqueles aspectos em que est�o mais potenciados. este � o caso deste gerenciador de banco de dados, j� que considero que a n�o implementa��o dos triggers e a l�gica transacional deixa muito complicado o manuseio dos dados (Inser��o, modifica��es e dele��o de registros) a partir de aplica��es multiusu�rios e utilizando grandes movimentos em tabelas relacionadas entre s�. Ainda penso que, para aplica��es onde pretendemos realizar consultas muito r�pidas a banco de dados muito grandes, seria recomend�vel este servidor (tendo sempre como referencia a vers�o semi-free deste servidor).

    Informo que para concluir, que a base desre artigo foi obtido na pr�pria documenta��o MySQL, que a considero bastante completa, de alguns artigos de revistas especializadas, assim como de um amarelado manual "auto didata" da IBM sobre SQL.

    [email protected]

    Referencias


Esta website � mantida por Miguel Angel Sepulveda
© Jose M. Fernández 1998
LinuxFocus 1998