MYSQL

 

INTERFACE DO MYSQL

 

Sobre

 

O MySQL é um SGBD (Sistema Gerenciador de Banco de Dados) que implementa o padrão SQL acrescentando algumas características específicas, pois cada SGBD procura acrecentar características específicas para diferenciar dos concorrente, onde a linguagem é definida como Declarativa, ou Não Procedural, ou seja, uma linguagem que descreve o que se deseja realizar, sem se preocupar em dizer como será feito.

 

Visualização

 

Ao visualizarmos os componentes do MySQL, temos um ao qual será apresentado seguir, que poderá ajudar significativamente no aprendizado prático de banco de dados relacional, que seria o MySQL Query Browser.

 

Relacionado ao MySQL Workbench, tem-se que é um facilitador na criação do banco de dados, atuando como uma simplificação da ferramenta MySQL Server, onde o procedimento de aplicação de comandos e a utilização de scripts de comandos se torna mais simples e eficaz, lhe dando uma melhor usabilidade na utilização da aplicação.

 

A interface é bem intuitiva e de fácil aprendizado. A disposição das funcionalidades existentes estão apresentadas de forma explícita, auxiliando o usuário com alguns atalhos de comandos.

 

Como exemplo, vamos seguir esse simples minimundo:

 

Uma loja de roupas deseja cadastrar todos os seus clientes que realizam ao menos uma compra em sua loja. Para isso, os funcionários necessitam cadastrar algumas informações dos clientes, como nome e CPF. Também, quando o cliente realiza a compra de determinado produto, é necessário saber o código do produto e seu nome. Para facilitar, todos os scripts para auxiliar na manipulação da aplicação estaram disponíveis a seguir.

 
-- Script para criação das tabelas

CREATE DATABASE loja_cliente;
USE loja_cliente;

CREATE TABLE LOJA (
   loja_id  INTEGER NOT NULL,
   nome VARCHAR(100) NOT NULL,
   CONSTRAINT LOJA_PK PRIMARY KEY(loja_id)
) ENGINE = InnoDB;

CREATE TABLE CLIENTE (
    id INTEGER NOT NULL AUTO_INCREMENT,
    loja_id INTEGER  NOT NULL,
    nome VARCHAR(100)  NOT NULL,
    cpf  NUMERIC(11) NOT NULL,
    rua VARCHAR(100) NOT NULL,
    cidade VARCHAR(100)  NOT NULL  DEFAULT 'Brasilia',
    estado VARCHAR(2)  NOT NULL  DEFAULT 'DF',
    credito_limite DECIMAL(7,2)  NOT NULL,
    CONSTRAINT CLIENTE_PK PRIMARY KEY(id),
    CONSTRAINT CLIENTE_LOJA_FK FOREIGN KEY(loja_id) REFERENCES LOJA(loja_id),
    CONSTRAINT CLIENTE_CK CHECK(credito_limite >= 0),
    CONSTRAINT CLIENTE_UQ UNIQUE(cpf)
) ENGINE = InnoDB AUTO_INCREMENT = 1;

-- Inserção das informações da loja
INSERT INTO LOJA VALUES (1, 'LojaDeBSB');
INSERT INTO LOJA VALUES (2, 'LojaDeMinas');
INSERT INTO LOJA VALUES (3, 'LojaDeSaoPaulo');
INSERT INTO LOJA VALUES (4, 'LojaDeRioDeJaneiro');
INSERT INTO LOJA VALUES (5, 'LojaDeVitoria');

-- Inserção das informações dos clientes
INSERT INTO CLIENTE VALUES (1,1, 'Pedro Augusto da Rocha',
'48181884094', 'Rua Pedro Carlos Hoffman', 'Porto Alegre', 'RS', 700.00);
INSERT INTO CLIENTE VALUES (2,2, 'Antonio Carlos Mamel',
'50574326219', 'Av. Pinheiros', 'Belo Horizonte', 'MG', 3500.50);
INSERT INTO CLIENTE VALUES (3,3, 'Luiza Augusta Mhor', '59154535387',
'Rua Salto Grande', 'Niteroi', 'RJ', 4000.00);
INSERT INTO CLIENTE VALUES (4,4, 'Jane Ester', '69760415160',
'Av. 7 de setembro', 'Erechim', 'RS', 800.00);
INSERT INTO CLIENTE VALUES (5,5, 'Marcos Antonio dos Santos',
'73649809893', 'Av. Farrapos', 'Porto Alegre', 'RS', 4250.25);

Com isso, iniciando o nosso projeto, podemos optar por criar um novo script ou por fazermos o upload do arquivo que contém os comando de criação de tabelas e inserção dos dados. Logo, para criarmos um script é necessário seguirmos esse caminho:

 
 

Já, para o upload, é só prosseguirmos nesse outro caminho:

 
 

Seguindo a ideia, para rodarmos o script que utilizamos, é só clicar no botão executar:

 
 

Com isso, o resultado do script sempre aparecerá no rodapé da aplicação:

 
 

Mas como seria se o script estivesse incorreto?

 

Para mostrar um exemplo, preparamos um script que contém alguns erros.

 
-- Script para criação das tabelas

CREATE DATABASE loja_cliente;
USE loja_cliente;

CREATE TABLE LOJA (
   loja_id  INTEGER NOT NULL,
   nome VARCHAR(100) NOT NULL,
   CONSTRAINT LOJA_PK PRIMARY KEY(loja_id)
) ENGINE = InnoDB;

CREATE TABLE CLIENTE (
    id INTEGER NOT NULL AUTO_INCREMENT,
    loja_id INTEGER  NOT NULL,
    nome VARCHAR(100)  NOT NULL,
    cpf  NUMERIC(11) NOT NULL,
    rua VARCHAR(100) NOT NULL,
    cidade VARCHAR(100)  NOT NULL  DEFAULT 'Brasilia',
    estado VARCHAR(2)  NOT NULL  DEFAULT 'DF',
    credito_limite DECIMAL(7,2)  NOT NULL,
    CONSTRAINT CLIENTE_PK PRIMARY KEY(cliente_id),
    CONSTRAINT CLIENTE_LOJA_FK FOREIGN KEY(loja_id) REFERENCES LOJA(loja_id),
    CONSTRAINT CLIENTE_CK CHECK(credito_limite >= 0),
    CONSTRAINT CLIENTE_UQ UNIQUE(cpf)
) ENGINE = InnoDB AUTO_INCREMENT = 1;

Logo, o resultado gerado pelo script acima, retornaria a seguinte mensagem de erro:

 
 

Com isso, realizar os exemplos de execução de códigos por um script completo se torna mais simples e prático. Porém, principalmente em relação de consultas, quando se tem um script completo, é necessário a execução de apenas um comando por vez. Logo, para cobrirmos esse problema, temos a opção de montar um documento de query, onde escolhemos qual linha de comando queremos executar, onde cada linha selecionada é destacada, diferenciando dos demais comandos. Para melhor visualizarmos, pegue o script de consulta abaixo, e crie um novo arquivo query para realizarmos a consulta, seguindo o exemplo:

 
 

Repare que ao selecionarmos um comando, clicando na linha correspondente, ele ficará mais claro que os demais comandos, fazendo com que, ao executarmos, implique na consulta correspondente da linha selecionada. Na imagem acime é possível identificar a linha selecionada no topo da imagem. A tabela na imagem indica o resultado da linha selecionada.