Para tirar suas dúvidas e saber mais sobre o MariaDB:
Navegando na internet encontrei este artigo que mostra como otimizar o armazenamento do IP como inteiro, e alertar para o uso inadequado de tipos de dados.
O artigo é bem simples e fácil de entender.
====== post original ======
Neste artigo explicarei qual a principal vantagem de armazenarmos endereços IP com o tipo de dados “inteiro” ao invés do tradicional “char/varchar”. E isto pode servir de exemplo para outros campos/colunas. Para que você possa entender melhor vamos criar uma tabela simples de forma que possamos armazenar algum endereço IP utilizando o tipo CHAR.
mysql> CREATE DATABASE exemplo; mysql> USE exemplo; mysql> CREATE TABLE log ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, usuario CHAR(30), visitas INT, ip CHAR(15) ); |
Vamos inserir alguns registros nesta tabela.
mysql> INSERT INTO log VALUES(null, 'douglas', 10, '192.168.10.10'); mysql> INSERT INTO log VALUES(null, 'luciana', 10, '200.213.162.161'); mysql> INSERT INTO log VALUES(null, 'alberto', 10, '213.187.0.1'); |
Bem, por enquanto temos três registros em nossa tabela, começaremos nossa primeira análise.
MariaDB é um servidor de banco de dados que oferece a funcionalidade de substituição drop-in para o MySQL. MariaDB é construído por alguns dos autores originais do MySQL, com a ajuda da grande comunidade de desenvolvedores de software livre e open source. Além das funcionalidades básicas do MySQL, MariaDB oferece um rico conjunto de aprimoramentos de recursos, incluindo mecanismos de armazenamento alternativo, otimizações de servidores e patches.
MariaDB é impulsionada principalmente pelos desenvolvedores de Monty Program, uma empresa fundada por Michael “Monty” Widenius, o autor original do MySQL, mas isso não é toda a história sobre MariaDB. Em “Sobre MariaDB” página você vai encontrar mais informações sobre todos os participantes da comunidade MariaDB, incluindo o armazenamento e motores XtraDB PBXT.
MariaDB.com é organizado pela Open Database Alliance, um consórcio independente de fornecedor de desenvolvedores de código aberto do banco de dados e provedores de solução. O Open Database Alliance garante que você vai encontrar produtos, suporte e serviços para MariaDB que são os melhores da indústria do software tem para oferecer.
Obrigado pelo seu interesse em MariaDB. Estamos ansiosos para fornecê-lo com um produto e projeto que se adapte às suas necessidades, seja na implantação de um blog ou um hobby datacenter da empresa-classe!
Tradução Google, http://mariadb.org/
Continuação do artigo Funções básicas do MySQL – Iniciantes
Hoje vou falar um pouco sobre funções lógicas e strings.
Funções Lógicas
Podemos usar algumas funções logicas dentro do MySQL, como exemplo a comparação entre duas colunas COL1, COL2; se col1 for maior que col2, enfim vamos ao que interessa.
SSELECT IF (COL1 > COL2, )
http://dev.mysql.com/doc/refman/4.1/pt/logical-operators.html
Funções de String
As funções de string server para manipulação de texto, como remoção de espaços em branco, maiusculas e minusculas entre outros recursos, que ajuda no desenvolvimento de sites e sistemas
Antes de começarmos crie uma tabela chamada clientes conforme abaixo;
MySQL Trigger(Gatilho)
O que é um trigger ?
Trigger ou gatilho é uma função implementada a partir da versão 5.0.2 do MySQL.
Ele funciona associado a um evento do banco de dados, sempre que for executado uma instrução SQL, insert, delete ou update em determinada tabela o gatilho é disparado.
Criando um trigger
Sintaxe para criação de um trigger
CREATE TRIGGER nome_gatilho
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON tabela
FOR EACH ROW
triggered_statement
Tradução da sintaxe
Criar um gatilho com_esse_nome
BEFORE (antes) ou AFTER (depois) da ação na tabela
INSERT(sempre que uma nova linha é inserida) ou UPDATE (sempre que uma nova linha é atualizada) ou DELETE(sempre que uma linha é deletada)
ON tabela
FOR EACH ROW
INSERT tabela_arquivo (ID, data) VALUES (tab.ID, tab.DATA);
Observações:
Se você usar multiplas instrução dentro do seu trigger é necessário usar BEGIN e END para indicar o inicio e fim da instrução do trigger.
Lembrando que é necessário alterar o delimitador antes da execução do trigger pelo comando DELIMITER || e voltando para ;(ponto e virgula) usando DELIMITER ;
Para visualizar os triggers use o comando.
mysql> SHOW TRIGGERS;
Este post é um resumo sobre trigger, para saber mais visite a documentção oficial no link(inglês): http://dev.mysql.com/doc/refman/5.0/en/triggers.html
As funções do MySQL podem ser divididas nos seguintes tipos: numericas, lógica, manipulação string, e funções de data e hora.
Funções numéricas
Iniciando hoje vou falar sobre funções numéricas que são compostas de operações matemáticas, e deve chamar a função dentro da instrução SQL.
Estou acrescentando esta parte da criação da tabela pela dica do meu xará.. crie uma tabela com o nome precos e insira as linhas conforme SQL abaixo.
CREATE TABLE `precos` (
`col1` INT( 3 ) NOT NULL ,
`col2` INT( 3 ) NOT NULL
) ENGINE = MYISAM;
INSERT INTO `precos` (`col1` ,`col2`)
VALUES ('2', '4'), ('4', '6'),('5', '9');
Adição
SELECT(col1 + col2) as Resultado FROM precos
Suponhamos que na tabela precos você tenha 3 linhas, conforme abaixo;
| col1 | col2 |
| 2 | 4 |
| 4 | 6 |
| 5 | 9 |
Apos fazer a consulta o resultado seria:
| Resultado |
| 6 |
| 10 |
| 14 |
A consulta somou as linhas separadas, para somar o total das colunas em cada linha, ficaria assim:
SELECT (SUM(col1) + SUM(col2)) as Resultado FROM precos
| Resultado |
| 30 |
Subtração
SELECT(col1 - col2) as Resultado FROM precos
Resultado
-2
-2
-4
Multiplicação
O operador utilizado para mutiplicação é o ( * asterisco).
SELECT(col1 * col2) as Resultado FROM precos
Resultado
8
24
45
Divisão
O operador utilizado para divisão é a ( / barra).
SELECT(col1 / col2) as Resultado FROM precos
Resultado
0.5000
0.6667
0.5556
Se tentar dividir por zero será retornado o valor NULL
Multiplicação
O operador utilizado para mutiplicação é o ( * asterisco).
SELECT(col1 * col2) as Resultado FROM precos
Resultado
8
24
45
Módulo ou MOD
Esta função retorna o restante de dois numeros. Exemplo: 21 / 5 (vinte e um dividido por 5), o resto seria 1
SELECT MOD(21, 5) AS Resultado
Resultado
1
Olá pessoal, hoje vou escrever bem resumido para explicar O que é normalização ?
Normalização é um conjunto de regras que ajuda minimizar problemas de logica.
Ex.. não armazenar os dados de compra junto com os dados dos clientes, pois o mesmo cliente poderá fazer mais de uma compra certo!
A normalização ajuda a tornar o banco de dados mais facil de se entender, basicamente devemos passar por três passos de normalização.
1FN – primeira forma normal, 2NF – segunda forma normal, 3FN – terceira forma normal, e cada formato tem seu proprio conjunto de regras.
Se você tem interesse em banco de dados, é essencial estudar sobre normalização, um abraço a todos.
Olá pessoal, resolvi fazer uma pequena lista de alguns comandos que poderá ajudar quem não tem muito costume de usar prompt.
Apos ter instalado o MySQL em seu computador precisamos iniciar o servidor
No linux acesse a pasta do mysql
> cd mysql > bin/safe_mysqld &
Vai aparecer uma mensagem pedindo o password
> Enter password:
Para entrar no shel do mysql
>mysql -u root -p senha
acima estamos abrindo conexão com o -usuário root e -password senha
//Lista dos comandos básicos mysql> show databases; //mostra todos banco de dados mysql > use nome_banco; //seleciona um banco de dados para trabalhar mysql> show tables; //mostra todas as tabelas do banco selecionado mysql> desc ou describe // mostra detalhes da tabela, colunas e tipo de dados mysql> SELECT @ @datadir; //mostra o diretório de dados do mysql cada banco de dados é separado por uma pasta com o nome do banco mysql> select count(*) from tabela; //conta quantidade de registros(linhas) da tabela selecionada mysql> CREATE DATABASE modelo; //cria um banco de dados chamado modelo mysql > DROP DATABASE modelo; // Exclui o banco de dados chamado modelo e todos os dados dentro dele
Basicamente é isso pessoal, ate a proxima.
Bom dia a todos… hoje vou mostrar como conectar no banco de dados firebird usando PHP.
em alguns passos você podera conectar no firebird.
1° Passo – Instale o servidor do firebird
acesse o site http://www.firebirdsql.org/ e faça download do firebird, fiz testes usando o firebird 1.5, 2.0, e 2.5 e todos funcionaram normalmente.
Após instalar o firebird reinicie o computador.
2° Passo – O segundo passo é configurar o PHP. A biblioteca para conexão com o firebird
Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus…).
Encontre a linha ;extension=php_interbase.dll e remova o ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web.
Caso não encontre a linha, insira no final do arquivo.
3° Passo – Criar a conexão com o FireBird
//ibase_connect — Abre uma conexão com um banco de dados InterBase
//pode ser colocado o IP, ou nome do computador onde esta o banco de dados
$servidor = '127.0.0.1:C:/diretorio/banco.FDB';
//conexão com o banco, se der erro mostrara uma mensagem.
if (!($dbh=ibase_connect($servidor, 'SYSDBA', 'masterkey')))
die('Erro ao conectar: ' . ibase_errmsg());
Fazer uma consulta no banco.
//Instruções SQL
$sql = 'SELECT COLUNA1, COLUNA2 FROM TABELA';
//Executa a instrução SQL
$query= ibase_query ($dbh, $sql);
//gera um loop com as linhas encontradas
while ($row = ibase_fetch_object ($query)) {
//imprimi as linhas na tela
echo $row->COLUNA1 . "n";
}
//Libera a memoria usada
ibase_free_result($query);
//fecha conexão com o firebird
ibase_close($dbh);
Um erro muito comum ao tentar fazer a conexão com o firebird é a seguinte mensagem de erro;
“Warning: ibase_connect() [function.ibase-connect]: Unable to complete network request to host “127.0.0.1”. Failed to locate host machine. The specified name was not found in the hosts file or Domain Name Services.”
Para resolver é bem simples, basta inserir 2 linhas no arquivo de configuração de serviços.
Vá ate o diretorio C:WindowsSystem32driversetc e abra o arquivo services, insira no final do arquivo as seguintes linhas
gds_db 3050/tcp #firebird Database gds_db 3050/udp #firebird Database
Pronto sua conexão podera ser feita com sucesso.
Para saber mais sobre os comandos que podem ser usados acesse:
Continuação do artigo sobre conexão com Oracle usando PHP. Vou mostrar como fazer consultas em tabelas, criar variaveis, e usar OCI_NO_AUTO_COMMIT.
//conexão com o Oracle
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');
if (!$conexao) {
$erro = oci_error();
trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}
//bloco da consulta SQL
$consulta = "select * from cep_localidade";
$stid = oci_parse($conexao, $consulta) or die ("erro");
//Executa os comandos SQL
$exec= oci_execute($stid);
//defini váriaveis
oci_define_by_name($stid, 'COLUNA1', $VAR1);
oci_define_by_name($stid, 'COLUNA2', $VAR2);
oci_define_by_name($stid, 'COLUNA3', $VAR3);
//Abaixo conta a quantidade de linhas retornada da consulta.
echo $nrows = oci_fetch_all($stid, $results);
oci_free_statement($stid);
//fecha a conexão atual
oci_close($conexao);
Pessoal espero que ajude e tire as duvidas de quem vai começar a usar PHP+ORACLE, é um exemplo bem simples de como fazer uma consulta no banco de dados.
Para usar INSERT, UPDATE OU DELETE use a função OCI_NO_AUTO_COMMIT e valide em seguida.
$exec= oci_execute($stid, OCI_NO_AUTO_COMMIT);
//se encontrar algum erro da um rollback NÃO efetiva a query
if (!$exec) {
$e = oci_error($stid);
oci_rollback($conexao); // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
// COMITA a query
$exec = oci_commit($conexao);
if (!r) {
$e = oci_error($conexao);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}