CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA
ETEC DR. EMILIO HERNANDEZ AGUILAR
DOUGLAS CABRAL Nº. 12
FELIPE DIAS XAVIER Nº. 17
GABRIEL PASQUALINI Nº. 18
GILMAR BARROS Nº. 20
GUILHERME RODRIGUES NEVES Nº. 22
ORLANDO BATISTA DA SILVA Nº. 38
WILLIAN YUITI WATANABE Nº. 43
MANUAL BÁSICO MYSQL
Franco da Rocha
2010
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA
ETEC DR. EMILIO HERNANDEZ AGUILAR
DOUGLAS CABRAL Nº. 12
FELIPE DIAS XAVIER Nº. 17
GABRIEL PASQUALINI Nº. 18
GILMAR BARROS Nº. 20
GUILHERME RODRIGUES NEVES Nº. 22
ORLANDO BATISTA DA SILVA Nº. 38
WILLIAN YUITI WATANABE Nº. 43
MANUAL BÁSICO MYSQL
Projeto solicitado na disciplina de Banco de
Dados da unidade de ensino técnico em
informática Doutor Emilio Hernandes Aguilar
Orientador: Gilberto Braga de Oliveira
Franco da Rocha
2010
SUMÁRIO
1. INTRODUÇÃO ................................................................................................................. 4
2. HISTÓRIA ........................................................................................................................ 5
3. CARACTERÍSTICAS ....................................................................................................... 6
4. TIPOS DE DADOS SUPORTADOS ................................................................................. 7
4.1 Tipos Numéricos .......................................................................................................... 7
4.2 Tipos Data.................................................................................................................... 8
4.3 Tipos de Cadeia ............................................................................................................ 9
5. INSTALAÇÃO DO MYSQL ........................................................................................... 11
6. CONFIGURAÇÃO DO SERVIDOR MYSQL ................................................................. 13
7. UTILIZAÇÃO DO MYSQL ............................................................................................ 19
8. INTERFACES GRÁFICAS PARA MYSQL ................................................................... 23
9. REFERÊNCIAS............................................................................................................... 24
III
1. INTRODUÇÃO
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a
linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language)
como interface. É atualmente um dos bancos de dados mais populares, com mais de 10
milhões de instalações pelo mundo.
Principais usuários do MySQL:
 NASA
 Friendster
 Banco Bradesco
 Dataprev
 HP
 Nokia
 Sony
 Lufthansa
 U.S Army
 U.S. Federal Reserve Bank
 Associated Press
 Alcatel
 Slashdot
 Cisco Systems
 Google
 Outros
4
2. HISTÓRIA
O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan
Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980.
Hoje seu desenvolvimento e manutenção empregam aproximadamente 400 profissionais no
mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos,
e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida
pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres.
No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos,
incluindo o MySQL. Após investigações da Comissão Européia sobre a aquisição para evitar
formação de monopólios no mercado a compra foi autorizada e hoje a Sun faz parte da
Oracle.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP
incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet
oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon
Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica. A Wikipédia é
um exemplo de utilização do MySQL em sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS,
OLAP e muitos outros recursos.
5
3. CARACTERÍSTICAS
 Portabilidade (suporta praticamente qualquer plataforma atual);
 Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para
diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual Basic,
Python, Perl, PHP, ASP e Ruby);
 Excelente desempenho e estabilidade;
 Pouco exigente quanto a recursos de hardware;
 Facilidade de uso;
 É um Software Livre com base na GPL;
 Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon,
BDB, Archive, Federated, CSV, Solid…
 Suporta controle transacional;
 Suporta Triggers;
 Suporta Cursors (Non-Scrollable e Non-Updatable);
 Suporta Stored Procedures e Functions;
 Replicação facilmente configurável;
 Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.
6
4. TIPOS DE DADOS SUPORTADOS
4.1 Tipos Numéricos
Existem tipos de dados numéricos, que se podem dividir em dois grandes grupos, os
que estão em vírgula flutuante (com decimais) e os que não.
TinyInt: é um número inteiro com ou sem signo. Com signo a margem de valores válidos é
desde -128 até 127. Sem signo, a margem de valores é de 0 até 255.
Bit ou Bool: um número inteiro que pode ser 0 ou 1.
SmallInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é desde
-32768 até 32767. Sem signo, a margem de valores é de 0 até 65535.
MediumInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é
desde -8388608 até 8388607. Sem signo, a margem de valores é de 0 até 16777215.
Integer, Int: número inteiro com ou sem signo. Com signo a margem de valores válidos é
desde -2147483648 até 2147483647. Sem signo, a margem de valores é de 0 até 429496295.
BigInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é desde 9223372036854775808 até 9223372036854775807. Sem signo, a margem de valores é de 0
até 18446744073709551615.
Float: número pequeno em vírgula flutuante de precisão simples. Os valores válidos vão
desde
-3.402823466E+38
até
-1.175494351E-38,0
eté
desde
175494351E-38
até
3.402823466E+38.
xReal, Double: número em vírgula flutuante de dupla precisão. Os valores permitidos vão
desde
-1.7976931348623157E+308
até
-2.2250738585072014E-308,
0
e
desde
2.2250738585072014E-308 até 1.7976931348623157E+308.
7
Decimal, Dec, Numeric: Número em vírgula flutuante desempacotado. O número armazenase como uma cadeia.
Tipo de Campo
Tamanho de Armazenamento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ou 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D) M+2 bytes se D > 0, M+1 bytes se D = 0
NUMERIC(M,D) M+2 bytes se D > 0, M+1 bytes se D = 0
Figura 1 - Tipos Numéricos
4.2 Tipos Data
Na hora de armazenar datas, há que ter em conta que MySQL não verifica de uma
maneira estricta se uma data é válida ou não. Simplesmente comprova que o mês está
compreendido entre 0 e 12 e que o dia está compreendido entre 0 e 31.
Date: tipo data, armazena uma data. A margem de valores vai desde o 1 de Janeiro de 1001
ao 31 de dezembro de 9999. O formato de armazenamento é de ano-mes-dia.
DateTime: Combinação de data e hora. A margem de valores vai desde o 1 ed Janeiro de
1001 às 0 horas, 0 minutos e 0 segundos ao 31 de Dezembro de 9999 às 23 horas, 59 minutos
e 59 segundos. O formato de armazenamento é de ano-mes-dia horas:minutos:segundos.
TimeStamp: Combinação de data e hora. A margem vai desde o 1 de Janeiro de 1970 ao ano
2037. O formato de armazenamento depende do tamanho do campo:
8
Tamanho
Formato
14
AnoMesDiaHoraMinutoSegundo aaaammddhhmmss
12
AnoMesDiaHoraMinutoSegundo aammddhhmmss
8
AnoMesDia aaaammdd
6
AnoMesDia aammdd
4
AnoMes aamm
2
Ano aa
Figura 2 – TimeStamp
Time: armazena uma hora. A margem de horas vai desde -838 horas, 59 minutos e 59
segundos. O formato de armazenamento é 'HH:MM:SS'.
Year: armazena um ano. A margem de valores permitidos vai desde o ano 1901 ao ano 2155.
O campo pode ter tamanho dois ou tamanho 4 dependendo de se queremos armazenar o ano
com dois ou quatro algarismos.
Tipo de Campo Tamanho de Armazenamento
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte
Figura 3 - Tipos Data
4.3 Tipos de Cadeia
Char(n): armazena uma cadeia de longitude fixa. A cadeia poderá conter desde 0 até 255
caracteres.
VarChar(n): armazena uma cadeia de longitude variável. A cadeia poderá conter desde 0 até
255 caracteres. Dentro dos tipos de cadeia pode-se distinguir dois subtipos, os tipo Test e os
tipo Blob (Binary Large Object) A diferença entre um tipo e outro é o tratamento que recebem
na hora de ordená-los e compará-los. No tipo test ordena-se sem ter importância as maiúsculas
e as minúsculas e no tipo blob ordena-se tendo em conta as maiúsculas e minúsculas.
9
Os tipos blob utilizam-se para armazenar dados binários como podem ser ficheiros.
TinyText e TinyBlob: Coluna com uma longitude máxima de 255 caracteres.
Blob e Text: um texto com um máximo de 65535 caracteres.
MediumBlob e MediumText: um texto com um máximo de 16.777.215 caracteres.
LongBlob e LongText: um texto com um máximo de caracteres 4.294.967.295. Há que ter
em conta que devido aos protocolos de comunicação os pacotes podem ter um máximo de 16
Mb.
Enum: campo que pode ter um único valor de uma lista que se especifica. O tipo Enum aceita
até 65535 valores diferentes.
Set: um campo que pode conter nenhum, um ou vários valores de uma lista. A lista pode ter
um máximo de 64 valores.
Tipo de campo
Tamanho de Armazenamento
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB, TINYTEXT
Longitude+1 bytes
BLOB, TEXT
Longitude +2 bytes
MEDIUMBLOB, MEDIUMTEXT
Longitude +3 bytes
LONGBLOB, LONGTEXT
Longitude +4 bytes
ENUM('value1','value2',...)
1 ó dos bytes dependendo do número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes, dependendo do número de valores
Figura 4 - Tipos de Cadeia
10
5. INSTALAÇÃO DO MYSQL
Figura 5 - Instalação MySQL Pt.01
Essa é a janela inicial, para iniciar as configurações de instalação, basta clicar em next.
11
Figura 6 - Instalação MySQL Pt.02
Na janela acima, deve-se escolher o tipo de instalação do MySQL.
Figura 7 - Instalação MySQL Pt.03
Para iniciar a instalação do MySQL basta clicar no botão Install presente nessa janela.
Figura 8 - Instalação MySQL Pt.04
12
Selecione a opção de configurar o servidor e clique em Finish.
6. CONFIGURAÇÃO DO SERVIDOR MYSQL
Figura 9 - Configuração Pt.01
Clique em Next para iniciar a configuração.
13
Figura 10 - Configuração Pt.02
Selecione o tipo de configuração e clique em next.
Figura 11 - Configuração Pt.03
Selecione o tipo da maquina que rodará o MySQL e clique em Next.
14
Figura 12 - Configuração Pt. 04
Selecione qual funcionalidade o MySQL irá ter e clique em Next novamente.
Figura 13 - Configuração Pt. 05
Selecione o local de instalação e clique em Next.
15
Figura 14 - Configuração Pt. 06
Selecione o total de conexões simultâneas que o banco suportará e clique em Next.
Figura 15 - Configuração Pt. 07
16
Selecione a porta de conexão com o banco. Por padrão a porta utilizada é a 3306. Após
selecionar a porta clique em Next.
Figura 16 - Configuração Pt. 08
Escolha o Charset que será utilizado por padrão. Clique em Next.
Figura 17 - Configuração Pt. 09
17
Escolha o nome do serviço que será criado e clique em Next.
Figura 18 - Configuração Pt. 10
Configure os dados de login do banco e logo após clique em Next.
18
Figura 19 - Configuração Pt. 11
Após todas as configurações terem sido realizadas, basta clicar em Execute.
Figura 20 - Configuração Pt. 12
Por fim, clique em Finish.
7. UTILIZAÇÃO DO MYSQL
A utilização do MySQL pode ser feita tanto por modo console quanto por interface
gráfica utilizando de programas específicos para essa ocasião. Nesse exemplo será utilizado o
MySQL Workbench como interface gráfica.
19
Figura 21 - MySQL Workbench Pt.01
Para criar uma nova conexão com o banco, clique na opção New Connection.
Figura 22 - New Conection
Uma nova janela aparecerá.
20
Figura 23 - Setup New Connection
Configure os dados da sua conexão e clique em Test Connection para verificar se a
conexão está funcionando corretamente. Após esse procedimento clique em OK caso a
conexão esteja correta.
Figura 24 - Open Connection
Dê um duplo clique no nome da conexão criada anteriormente.
21
Figura 25 - MySQL Workbench
Essa janela é a responsável pela a criação dos Schemas, Tables, Views do Banco de
Dados. Note a guia SQL Query que pode ser usada para a inserção, edição e execução de
comandos SQL.
Figura 26 - SQL Query
Para executar os comandos digitados no SQL Query, basta pressionar CTRL + SHIFT
+ ENTER.
22
8. INTERFACES GRÁFICAS PARA MYSQL
Existem muitas outras interfaces gráficas para o MySQL. Abaixo encontram-se alguns
exemplos dessas interfaces:
 phpMyAdmin
 MySQL Front
 MySql Query Browser
 MySQL GUI TOOLS
 EMS SQL Manager for MySQL
23
9. REFERÊNCIAS
<http://pt.wikipedia.org/wiki/MySQL> Acesso em 18/11/2010 às 21:00.
<http://www.criarweb.com/artigos/118.php> Acesso em 18/11/2010 às 21:30.
24
Download

MANUAL BÁSICO MYSQL