Excerto gratuito em PDF

Propaganda
O projecto prático apresentado no livro começa por servir de base à discussão introdutória sobre bases
de dados relacionais e sobre as características do MySQL, seguindo-se então o desenho conceptual,
lógico e físico da base de dados relacional que irá apoiar os exercícios de programação.
As versões 4.0 e 4.1 do MySQL abordadas são tratadas quer em ambientes Windows quer em ambientes
Linux/Unix, da instalação à configuração, implementação e administração.
Resultado da sua longa experiência profissional, os autores mostram-nos como utilizar o MySQL em
conjunto com algumas das principais linguagens/tecnologias de programação para o desenvolvimento
de websites dinâmicos com recurso a bases de dados. São assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.
MySQL
Este livro, organizado em cinco capítulos principais, com diversos anexos no final, propõe ao leitor um
projecto com múltiplos exercícios ao longo das suas cerca de 400 páginas eficazmente ilustradas.
O GUIA PRÁTICO DO
O MySQL é um (SGBD) sistema de gestão de bases de dados relacionais – o mais conhecido e mais
utilizado dos SGBDs open source, com mais de 5 milhões de instalações activas (AOL, DaimlerChrysler,
Google, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel, NYSE, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS, etc.).
D0
Para facilitar a operação com as estruturas e os dados armazenados nas bases de dados MySQL,
demonstra-se também como utilizar as ferramentas externas MySQL Administrator, MySQL QueryBrowser
e phpMyAdmin.
Assuntos mais avançados como indexação, optimização e performance, migração e replicação de dados,
cópias de segurança, segurança e transacções, entre outros, são também discutidos.
Pedro Manuel da Conceição das Neves, nascido em 1968, tem formação
especializada em Comunicações Avançadas e é certificado pela SAP.
Desde o ano 2000, como consultor sénior na CaseEdinfor, desempenha
funções de consultoria em ABAP, SAP Portals, gestão de conteúdos e gestão
de conhecimento.
Tem uma vasta experiência como formador em ambientes Internet, CRM
e ERP, incluindo na produção dos respectivos manuais.
É autor do livro O Guia Prático da HTML, também publicado pelo Centro
Atlântico.
Rui Pedro Ferreira Ruas, nascido em 1970, é licenciado em Informática
pela Faculdade de Ciências da Universidade Clássica de Lisboa e possui
diversas certificações atribuídas pelas SAP, BrainBench e iXOS.
Presentemente é chefe de projecto na Indra, após ter desempenhado
funções em instituições como a SoftfFinança, Edinfor, Parque EXPO’98 e
CASE.Edinfor.
Colecção Tecnologias
O MySQL 4 – mais conhecido e
mais utilizado dos sistemas de
gestão de bases de dados relacionais open source – é, neste
livro, apresentado em ambientes
Windows e Linux/Unix, da
instalação à configuração, implementação e administração,
sempre suportado por exemplos
práticos.
Assuntos mais avançados como
indexação, optimização e performance, migração e replicação
de dados, backups, segurança e
transacções, entre outros, são
também tratados.
O livro também exemplifica a
utilização das principais linguagens/tecnologias de programação (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
desenvolvimento de websites dinâmicos com recurso a bases de
dados.
Pedro Neves e Rui Ruas
<autores>
Pedro M C Neves
Rui P F Ruas
o guia
prático.do.MySQL
Portugal, 2005
Reservados todos os direitos por Centro Atlântico, Lda.
Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização
expressa dos editores da obra.
O GUIA PRÁTICO DO MySQL
Colecção: Tecnologias
Autores: Pedro M. C. Neves e Rui P. F. Ruas
Direcção gráfica: Centro Atlântico
Revisão final: Centro Atlântico
Capa: Paulo Buchinho
© Centro Atlântico, Lda., 2005
Av. Dr. Carlos Bacelar, 968 - Escr. 1 - A
4764-901 V. N. Famalicão
Rua da Misericórdia, 76 - 1200-273 Lisboa
Portugal
Tel. 808 20 22 21
[email protected]
www.centroatlantico.pt
Design e Paginação: Centro Atlântico
Impressão e acabamento: Inova
1ª edição: Fevereiro de 2005
ISBN: 972-615-006-0
Depósito legal: 222.814/05
MySQL® é uma marca registadas pela MySQL AB.
Microsoft®, WINDOWS® e Internet Explorer® são marcas registadas pela Microsoft Corporation.
HTML, CSS, XML, DOM são marcas ou marcas registadas pela W3C® - World Wide Web
Consortium, Massachusetts Institute of Technology.
JAVASCRIPT® é uma marca registada pela Sun Microsystems, Inc., utilizada sob licenciamento
para tecnologia inventada e implementada pela Netscape.
Marcas registadas: todos os termos mencionados neste livro conhecidos como sendo marcas
registadas de produtos e serviços, foram apropriadamente capitalizados. A utilização de um termo
neste livro não deve ser encarada como afectando a validade de alguma marca registada de
produto ou serviço.
O Editor e os Autores não se responsabilizam por possíveis danos morais ou físicos causados
pelas instruções contidas no livro nem por endereços Internet que não correspondam às HomePages pretendidas.
Índice
Página
Sobre este Livro
9
Nota introdutória
11
Convenções tipográficas
12
Organização do livro
13
Audiência
14
Pressupostos
15
Base de Dados vs SGDB
16
Projecto GIL (Gestão Integrada de Livros)
17
I. Introdução ao MySQL
19
O que é o MySQL?
21
História
22
Funcionalidades
23
Versões
24
Licenciamento
25
Evolução do MySQL
26
Instalação em Windows
27
Instalação em Linux
40
Procedimentos pós-instalação
50
Programas para MySQL
55
Programa mysql
58
Tipos de dados
74
Motores de base de dados
79
▪
Índice
II. Desenho e implementação de uma
base de dados em MySQL
81
Introdução
83
Desenho conceptual
84
Desenho lógico
88
Desenho físico
93
Implementar uma base de dados em MySQL
94
Projecto GIL – desenho da base de dados
III. Preparar e usar uma base de dados
em MySQL
124
133
Introdução
135
Arquitectura e integração aplicacional
136
Segurança com o MySQL
141
Transacções com o MySQL
158
Programação com o MySQL
169
Projecto GIL – implementação em PHP
255
IV. Utilização avançada do MySQL
283
Introdução
285
Configuração do servidor MySQL
285
Análise dos ficheiros de log
288
Optimização
291
Salvaguarda (backups) e Recuperação
301
Replicação
307
Migração de dados
311
Mecanismos de protecção
313
Mecanismos de criptografia
320
Índice
V. Considerações finais
323
Introdução
325
Ferramentas externas
325
Suporte e Documentação
368
MySQL 4.1
369
VI. Anexos
377
Programas para MySQL
379
Programa mysql
380
Tipos de dados em MySQL
383
Instruções SQL
385
Funções PHP para trabalhar com MySQL
398
Glossário
400
Sobre este livro
ÍNDICE
Nota introdutória ...................................................................................................11
Convenções tipográficas ...................................................................................12
Organização do livro............................................................................................13
Audiência....................................................................................................................14
Pressupostos ............................................................................................................15
Base de Dados vs SGDB ...................................................................................16
Projecto GIL – apresentação ..........................................................................17
colecção tecnologias
10
CENTRO ATLÂNTICO
o guia prático do
MySQL
sobre este livro
Nota introdutória
Na realidade empresarial actual, em que cada vez mais os Sistemas de
Informação são uma necessidade inquestionável e em que os custos
com o licenciamento do software muitas vezes inviabilizam a modernização das organizações, o software apresentado em open source, sem
custos de licenciamento e/ou com custos muito reduzidos, poderá ser
um contributo importante em diversos cenários.
Através da utilização de ferramentas de grande qualidade testadas em
milhões de projectos reais, quer de pequena quer de grande dimensão,
como MySQL, Linux e Java podemos criar soluções que poderão ser
executadas em diferentes plataformas com um custo de propriedade
(TCO) reduzido.
O objectivo fundamental deste livro é fazer com que o leitor obtenha
rapidamente o retorno do tempo investido na aprendizagem do Sistema
de Gestão de Bases de Dados (SGBD) MySQL. Isto é, ao estudar e executar os exercícios descritos neste livro o leitor ficará a conhecer as características, capacidades e domínio de utilização do MySQL, bem como
do seu potencial futuro e desta forma melhor poder avaliar o enquadramento no desenho dos seus Sistemas de Informação (SI).
Neste livro foi adoptado um formato tipicamente operacional, de forma a
permitir apresentar os conceitos teóricos associados a uma visão prática
e, desta forma, possibilitar a sua mais rápida compreensão.
11
colecção tecnologias
CENTRO ATLÂNTICO
Convenções tipográficas
As convenções tipográficas utilizadas neste livro são as seguintes:
Tipo de Estilo
Itálico
Ícone
<>
12
Significado
As expressões apresentadas em itálico representam:
•
Expressões em língua estrangeira, para as
quais não existem traduções comummente
aceites.
•
Instruções de código externas às áreas de
código.
•
Referências a ficheiros, directorias (pastas)
ou aplicações.
Significado
Área de código ou instrução para exemplo de funcionalidade.
≈
Área de explicação de código para exemplo.
Ξ
Área de apresentação do resultado do exemplo.
o guia prático do
MySQL
sobre este livro
Organização do livro
Introdução ao MySQL – Este capítulo foca as características base,
quer ao nível conceptual, quer ao nível funcional do motor (SGBD – Sistema Gestor de Bases de Dados) de bases de dados MySQL, disponibilizando a informação necessária para a construção da infra-estrutura de
suporte ao servidor de bases de dados MySQL e sua utilização.
Desenho e implementação de uma base de dados em MySQL –
Onde se descreve o desenho conceptual, lógico e físico de bases de dados relacionais que irão ser suportadas pelo SGBD MySQL. Desenho da
base de dados relativa ao projecto de exemplo do livro.
Preparar e usar uma base de dados em MySQL – Mostra-se neste
capítulo a componente de integração aplicacional do MySQL com as diferentes linguagens/tecnologias existentes. Destaque aos assuntos de
Segurança, Transacções e Programação. Implementação, em PHP, dos
programas relativos ao projecto de exemplo do livro.
Utilização avançada do MySQL – Este capítulo aborda a potenciação
da utilização do MySQL, nomeadamente nas questões sobre: performance, salvaguarda (cópia de segurança), migração e replicação de dados,
entre outras.
Considerações finais – Este capítulo perspectiva a evolução do
MySQL, tanto ao nível da extensão dos conhecimentos adquiridos, como
ao nível da própria ferramenta. Apresentação das ferramentas externas
MySQL Administrator, MySQL QueryBrowser e phpMyAdmin.
Anexos – Consiste na compilação organizada de um conjunto de guias
de suporte ao desenvolvimento de soluções baseadas em MySQL, nomeadamente em quadros resumo com: funções, instruções, propriedades,
métodos e um glossário.
13
colecção tecnologias
CENTRO ATLÂNTICO
Audiência
Este livro destina-se a utilizadores, técnicos e responsáveis por Sistemas
de Informação, com ou sem conhecimentos em Bases de Dados Relacionais, que desejem adquirir conhecimentos e/ou avaliar o esforço/custo
de soluções suportadas pelo SGBD MySQL.
Para os leitores com conhecimentos prévios, mostrar o raciocínio e a
lógica da construção de soluções simples em MySQL, poderá ser uma
mais valia na consolidação dos seus próprios conhecimentos, bem como
na reciclagem e aprendizagem de novos conceitos.
14
o guia prático do
MySQL
sobre este livro
Pressupostos
Este livro baseou-se numa preocupação constante: sempre que possível,
garantir a independência de sistema operativo e de linguagem/tecnologia de programação utilizada (o que nem sempre é possível, nomeadamente se se desejar utilizar a tecnologia .NET em sistemas operativos
baseados em UNIX).
A preocupação em utilizar processos idênticos na apresentação dos temas para os diferentes sistemas operativos originou a opção de utilizar
instruções em linha de comando em detrimento de ferramentas gráficas
mais intuitivas.
Pressupõe-se que existam conhecimentos básicos ao nível das linguagens/tecnologias de programação utilizadas (HTML, CSS, SQL, JAVA,
Perl, Python, PHP, C e .NET) para uma total compreensão dos exercícios
relativos à manipulação dos dados armazenados com o MySQL.
15
colecção tecnologias
CENTRO ATLÂNTICO
Base de Dados vs SGDB
Por vezes confundimos os conceitos Base de Dados e Sistema de Gestão
de Base de Dados (SGBD).
De forma a clarificar esta eventual confusão procedemos à definição dos
dois conceitos:
•
•
16
Uma Base de Dados consiste num conjunto integrado de dados,
utilizável para múltiplos objectivos e acessível por múltiplos tipos
de utilizadores de uma forma concorrente, reflectindo os propósitos fundamentais de:
o Integração;
o Partilha;
o Concorrência;
o Múltiplos objectivos;
o Múltiplos tipos de utilizadores.
Um SGBD consiste no software que gere todo o acesso a uma ou
mais bases de dados, permitindo a definição, acesso concorrente,
manipulação e controlo dos dados, assegurando a integridade, segurança e recuperação das bases de dados.
o guia prático do
MySQL
sobre este livro
Projecto GIL – apresentação
O projecto Gestão Integrada de Livros (GIL) surge com o objectivo de
ligar o MySQL à sua aplicabilidade prática, capítulo a capítulo, para que
no final possamos obter uma solução que possa servir uma necessidade
real.
Consideremos um sistema automático de gestão integrada de livros que
inclua os seguintes processos:
1. Gestão da informação de editoras e das suas colecções;
2. Gestão de autores;
3. Gestão de livros;
4. Gestão da catalogação dos livros em colecções;
5. Pesquisa de livros por diferentes critérios.
A cada livro que adicionamos ao sistema devemos registar a seguinte informação obrigatória:
• ISBN, título, preço e data da edição. Opcionalmente podemos
registar a seguinte informação: imagem da capa, nº de páginas e
resumo da introdução. Por último, deverá ficar associado a cada
livro uma editora, uma colecção (caso pertença a uma) e os autores que o escreveram.
A ficha de editora conterá,
• a sua designação social (obrigatória), o telefone, a morada e o
código postal. Uma editora tipicamente organiza os seus livros
em colecções, em que cada colecção é descrita no sistema com
uma designação.
Para uma ficha de autor, armazenamos a seguinte informação:
• nome (obrigatório), nº contribuinte, fotografia, resumo do curriculum vitae, nº telefone de contacto, morada e código postal.
No processo de pesquisa de livros, devemos considerar a possibilidade
de pesquisa pelo título do livro ou pelo nome do autor.
Dada a extensão que implicaria a realização completa de um projecto
deste tipo, iremos apenas, do ponto de vista aplicacional, abordar o
processo (nº 5) relativo à pesquisa de livros por diferentes critérios.
No final da realização do projecto GIL o leitor ficará com noções práticas
sobre gestão de bases de dados em MySQL, bem como da construção de
aplicações que permitam o seu manuseamento.
17
colecção tecnologias
18
CENTRO ATLÂNTICO
I. Introdução
ao MySQL
ÍNDICE
O que é o MySQL? ............................................................................................................... 21
História.................................................................................................................................. 22
Funcionalidades.................................................................................................................... 23
Versões................................................................................................................................. 24
Licenciamento....................................................................................................................... 25
Evolução do MySQL ............................................................................................................. 26
Instalação em Windows........................................................................................................ 27
Obter a versão recomendada do ficheiro binário ........................................................................... 27
Proceder à instalação do MySQL................................................................................................... 31
Arranque do MySQL ....................................................................................................................... 32
Testar o funcionamento do MySQL................................................................................................ 34
Paragem do MySQL ....................................................................................................................... 35
Criar o MySQL como um serviço do Windows ............................................................................... 36
Instalação em Linux.............................................................................................................. 40
Obter os pacotes RPM ................................................................................................................... 40
Proceder à instalação do MySQL................................................................................................... 43
Instalação mínima padrão
43
Inicializar as tabelas dos privilégios
45
Arranque do MySQL ....................................................................................................................... 46
Testar o funcionamento do MySQL................................................................................................ 47
Paragem do MySQL ....................................................................................................................... 48
Procedimentos pós-instalação.............................................................................................. 50
Alterar a senha do utilizador root.................................................................................................... 50
Alterar os privilégios de defeito....................................................................................................... 53
colecção tecnologias
CENTRO ATLÂNTICO
Programas para MySQL ....................................................................................................... 55
Execução de programas .................................................................................................................56
Programa mysql .................................................................................................................... 58
Obter ajuda sobre as opções existentes.........................................................................................61
Iniciar uma sessão em modo interactivo.........................................................................................62
Principais instruções de utilização ..................................................................................................63
Comandos
63
Utilização de uma base de dados
64
Verificação
65
Terminar uma sessão em modo interactivo ....................................................................................73
Tipos de dados...................................................................................................................... 74
Tipo Numérico .................................................................................................................................74
Tipo Texto .......................................................................................................................................76
Tipo Data.........................................................................................................................................77
Tipo ENUM......................................................................................................................................77
Tipo SET .........................................................................................................................................78
Motores de base de dados (ISAM, MyISAM, HEAP, InnoDB, BDB) .................................... 79
20
I. Introdução
ao MySQL
O que é o MySQL?
O MySQL é um sistema de gestão de bases de dados relacionais,
suporta SQL, é open source e é um dos SGBDs para utilização profissional mais utilizado (conta com mais de 5 milhões de instalações activas) e mais conhecido a nível mundial.
O MySQL foi desenvolvido e é disponibilizado pela empresa MySQL AB
Limited Company, que actualmente vende um conjunto de serviços e
produtos relacionados com a tecnologia MySQL.
Na lista dos principais clientes deste SGBD constam nomes como:
Alcatel, AOL, The Associated Press, Caterpillar, Cox Communications,
DaimlerChrysler, Dow Jones, EarthLink, Enercon, Ericsson, Google,
Hoover's Online, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel,
NYSE, Omaha Steaks, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS e US Census Bureau.
O projecto prático apresentado no livro começa por servir de base à discussão introdutória sobre bases
de dados relacionais e sobre as características do MySQL, seguindo-se então o desenho conceptual,
lógico e físico da base de dados relacional que irá apoiar os exercícios de programação.
As versões 4.0 e 4.1 do MySQL abordadas são tratadas quer em ambientes Windows quer em ambientes
Linux/Unix, da instalação à configuração, implementação e administração.
Resultado da sua longa experiência profissional, os autores mostram-nos como utilizar o MySQL em
conjunto com algumas das principais linguagens/tecnologias de programação para o desenvolvimento
de websites dinâmicos com recurso a bases de dados. São assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.
MySQL
Este livro, organizado em cinco capítulos principais, com diversos anexos no final, propõe ao leitor um
projecto com múltiplos exercícios ao longo das suas cerca de 400 páginas eficazmente ilustradas.
O GUIA PRÁTICO DO
O MySQL é um (SGBD) sistema de gestão de bases de dados relacionais – o mais conhecido e mais
utilizado dos SGBDs open source, com mais de 5 milhões de instalações activas (AOL, DaimlerChrysler,
Google, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel, NYSE, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS, etc.).
D0
Para facilitar a operação com as estruturas e os dados armazenados nas bases de dados MySQL,
demonstra-se também como utilizar as ferramentas externas MySQL Administrator, MySQL QueryBrowser
e phpMyAdmin.
Assuntos mais avançados como indexação, optimização e performance, migração e replicação de dados,
cópias de segurança, segurança e transacções, entre outros, são também discutidos.
Pedro Manuel da Conceição das Neves, nascido em 1968, tem formação
especializada em Comunicações Avançadas e é certificado pela SAP.
Desde o ano 2000, como consultor sénior na CaseEdinfor, desempenha
funções de consultoria em ABAP, SAP Portals, gestão de conteúdos e gestão
de conhecimento.
Tem uma vasta experiência como formador em ambientes Internet, CRM
e ERP, incluindo na produção dos respectivos manuais.
É autor do livro O Guia Prático da HTML, também publicado pelo Centro
Atlântico.
Rui Pedro Ferreira Ruas, nascido em 1970, é licenciado em Informática
pela Faculdade de Ciências da Universidade Clássica de Lisboa e possui
diversas certificações atribuídas pelas SAP, BrainBench e iXOS.
Presentemente é chefe de projecto na Indra, após ter desempenhado
funções em instituições como a SoftfFinança, Edinfor, Parque EXPO’98 e
CASE.Edinfor.
Colecção Tecnologias
O MySQL 4 – mais conhecido e
mais utilizado dos sistemas de
gestão de bases de dados relacionais open source – é, neste
livro, apresentado em ambientes
Windows e Linux/Unix, da
instalação à configuração, implementação e administração,
sempre suportado por exemplos
práticos.
Assuntos mais avançados como
indexação, optimização e performance, migração e replicação
de dados, backups, segurança e
transacções, entre outros, são
também tratados.
O livro também exemplifica a
utilização das principais linguagens/tecnologias de programação (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
desenvolvimento de websites dinâmicos com recurso a bases de
dados.
Pedro Neves e Rui Ruas
Download