domingo, 20 de novembro de 2011

GVTékinfim!

Pois é... o tempo resolve tudo. Inclusive o serviço precário (eu pensei na palavra "porco", mas não achei legal avacalhar com os suínos) da Oi no que diz respeito ao fornecimento de banda larga. Eu, felizmente, disponho de um bom serviço proporcionado pela GVT. Não é puxa-saquismo, apenas falo a verdade; tampouco ganho algo por isto. É lamentável que o pessoal de Estância Velha e Ivoti não possam escolher qual serviço de banda larga, pois só tem a Oi e acabou. Peraí... eu disse "é lamentável"? Melhor me corrigir: ERA! Era porque ao menos em Estância Velha a GVT já está em fase de cadastramento e sinceramente , acho que a migração será em massa. Quem , afinal, disse que Papai Noel não existe?
O que é mais engraçado é que AGORA a Oi vai baixar os valores a todo pano. Entendam: o serviço de 1 mega custa R$ 39,90 pela Oi conforme aquelas propagandas pomposas, não? Pois não é assim. Se você ler aquelas letrinhas miúdas que já são por si só ilegíveis na tela da TV , além de ter que ser ninja ou ter feito um curso de leitura dinâmica pra conseguir ler aquilo, deve constar que SE não houver concorrência na sua cidade - ou seja, a Oi reinar sozinha - o custo sobe para R$ 69,90 para um único miserável mega, lembrando que a conexão , pelo contrato DELES, precisa fornecer no mínimo 10% da velocidade adquirida. Meus alunos de Estância e Ivoti ficam boquiabertos e revoltados quando passo as taxas de download do serviço que usufruo.
Ao menos , o final de ano deles (AGORA) pode ser bem melhor no quesito internet :D
Então Oi... tchau pra ti, ou melhora o serviço...

segunda-feira, 27 de junho de 2011

Team Fortress 2 "de grátis"

Povo, de graça até posto de gasolina pegando fogo , né?
Então aproveitem a oferta: Team Fortress 2 , disponibilizado via Steam.

http://store.steampowered.com/

quarta-feira, 22 de junho de 2011

Correrias à parte

Muita coisa para postar, pouco tempo pra preparar/esboçar, mas postei no outro blog sobre o Twin Shadow: http://obrasfalam.blogspot.com/2011/06/twin-shadow-slow.html

quinta-feira, 26 de maio de 2011

Windows + Linux parte II

Bom, vamos retornar ao assunto de instalação de um segundo S.O. (no caso, o Linux) em um mesmo HD. É interessante verificar qual a melhor "distro" do sistema, visto que existem várias, como Debian, Ubuntu, Knoppix, Suse Linux, Mint, Gobo e por aí vai; todas usam o mesmo kernel, o que difere uma das outras acaba sendo o "plus" que acompanha o pacote. Alguns são otimizados para escritórios, outros para administradores de rede, outros para usuários domésticos, etc. Eu, pessoalmente, gosto muito do Mint e baixei uma versão de 64bit do mesmo. Depois de gravar a imagem em um DVD, iniciei o micro pela mídia e o Linux bootou. Então apenas cliquei em "Install Linux Mint" para iniciar o processo de instalação no HD.



Em seguida, confirmei o idioma de instalação, no caso o velho e bom "Português do Brasil".



A seguir, os requisitos básicos para instalar o sistema.



Agora, vamos a configuração do disco. Vamos usar a opção "Especificar particionamento manualmente (avançado)" e usaremos a porção do disco que ainda não foi particionada. No caso , vamos selecionar a opção "Espaço livre".



Na janela "Criar partição" o tipo de partição é "lógica", o tamanho da partição usado é 1GB (definido pelo usuário) e é SWAP, ou seja, será usada como partição para memória virtual no Linux.


Depois disto iremos definir o resto do espaço para uma segunda partição, assinalada com "/" e filesystem EXT4. No Linux, diferentemente do Windows, no mínimo duas partições são necessárias, a "/" que é a principal e a SWAP que é de memória virtual. Outras partições são opcionais. A estrutura de diretórios do Linux é bem mais rígida e costuma desencorajar os que estão se iniciando no sistema, mas não é nada demais, o sistema está bem menos "sisudo" e depois de se dedicar um pouco, é possível usá-lo com certa facilidade.



Uma vez definidas as partições, é necessário confirmar as ações para prosseguir.



Confirmação de localização para fuso horário, configurações regionais e teclado, layout.



Registro de usuário e senha.



Sistema sendo instalado, após isto é só correr pro abraço; o Linux está pronto para uso.



Futuramente, vamos ver o que acompanha o Mint, como configurar / personalizar o sistema , etc.

quarta-feira, 25 de maio de 2011

Hypatia

Bem, vou deixar claro de início: Hypatia (ou Hipátia, também vale) não é nome de nenhum processador, chipset ou protocolo. Embora o blog contenha quase que exclusivamente informações relacionadas à informática, vale lembrar que também me propus desde o início a inserir outros tipos de temas e ocasionalmente farei isto. Vou pular o post de continuidade de instalação de Linux, mas o retomarei em seguida. Gosto muito de história e dia destes, navegando sem rumo na internet deparei com um filme chamado Alexandria (aqui no Brasil, pois lá fora o mesmo se chama Ágora).



Movido pela curiosidade, resolvi assistir o filme. O mesmo é bem interessante e envolve conflitos religiosos, científicos e políticos, mas com uma figura central: a mulher conhecida como Hypatia, interpretada por Rachel Weisz, que gosto de ver atuar (recomendo o filme "O Jardineiro Fiel"). Hypatia foi uma figura muito importante em seu meio, uma estudiosa, voltada para matemática, astronomia, filosofia, poesia e artes. Entre seus estudos, o da teoria das órbitas elípticas, que só foi retomada séculos depois por Johannes Kepler. Como ocorre em todo filme, alguns detalhes históricos são remodelados para maior dramatização, mas vale a pena assistir. E depois procurar e ler a respeito.

segunda-feira, 23 de maio de 2011

Windows + Linux parte I

Não é novidade ter mais de um S.O. (Sistema Operacional) no micro, mas ninguém nasce sabendo e volta e meia alguém me pergunta como fazer. Vamos ao processo então. Nesta primeira parte, assumimos um microcomputador que já tem instalado o Windows XP e vamos preparar o disco do mesmo para receber uma das várias distribuições do Linux.
(Não irei analisar cada software usado no processo, já que existem várias outras opções, gratuitas ou mesmo comerciais. No caso de dúvidas, favor mencionar nos comentários)
Primeiro ponto: limpeza do disco; vamos remover arquivos temporários , lixo, etc. Para tanto, vale desde o utilitário de limpeza do próprio Windows até softwares de terceiros. Pessoalmente, gosto da simplicidade e objetividade do CCleaner, que é gratuito.



Após a remoção de arquivos e liberação de mais algum espaço no disco, vamos por ordem na casa. Desfragmentar o disco. Para reorganizar tudo , também podemos usar a ferramenta do Windows, mas ainda prefiro outra solução - gratuita também - como o MyDefrag, que achei muito superior a disponibilizada pela MS, se bem que usam a mesma API. Além do MyDefrag, pode-se baixar uma versão que venha junto com algum frontend, como o que aparece na próxima figura. Facílimo de usar.



Abaixo, o disco sendo desfragmentado; a miscelânea de cores mostra o quanto este disco está desorganizado;



Após a conclusão do desfragmentador, vamos a parte mais complexa: particionamento; nosso HD é de 80GB e tem somente uma partição; então resolvemos particionar (o equivalente a fracionar o disco) o mesmo para a instalação do Linux. Com as ferramentas normalmente oferecidas no Windows, o particionamento torna-se destrutivo, ou seja, os dados serão perdidos. Desta forma, faz-se necessário efetuar o backup de dados, depois instalar o sistema novamente, drivers, atualizações, programas e voltar os dados. MAS sempre existe aquela luz no fim do túnel e nem sempre é o trem em colisão eminente. Existem vários programas de particionamento (para Windows e Linux, gratuitos e comerciais) que permitem trabalhar com os dados e os mantém funcionais, mesmo após alterar o tamanho da partição, por exemplo. É ÓBVIO que isto é por conta e risco do usuário, pois mesmo estes programas tem chance de dar algum erro, então, em casos críticos, backup sempre é bem-vindo. Na verdade, estou até pensando em postar um material sobre vários particionadores.
Abaixo, temos um software particionador exibindo as informações sobre o disco rígido e o celular W5 da Motorola que estava conectado via USB; note que ele exibe graficamente informações sobre os discos e partições, no caso do disco C: existe uma partição de 74,5GB com o filesystem NTFS. Uma barra um pouco mais escura representa o quanto deste espaço está sendo usado por arquivos, no caso um pouco mais da metade do mesmo. No topo da janela, temos as informações em números. 46,4 GB de arquivos estão presentes no HD.



Na tela seguinte, vamos executar um RESIZE para redimensionar o tamanho da partição;



Este software, por exemplo, permite ajustar o tamanho da partição tanto pelo ajuste manual via teclado em VOLUME SIZE quanto por mouse, clicando na barra e deslocando a mesma para a esquerda ou direita (respectivamente diminuindo ou aumentando a partição). No nosso exemplo, ele não irá permitir uma partição com tamanho menor do que o total de dados armazenados, afinal isto seria sem lógica.



Confirmando as ações, abaixo vemos o resultado final, com duas partições, uma permanecendo com C: (NTFS) agora com 58.6 GB de tamanho total e outra com 15.8 GB com o label UNLLOCATED; recebe este nome por não estar sendo utilizado, é espaço livre não particionado e portanto, sem filesystem.



Agora que está tudo programado, basta mandar o programa executar todos os passos. Sim, pois
até então ele apenas montou uma fila das ações que AINDA SERÃO realizadas, conforme vemos abaixo:



Caso você não esteja usando o particionador por meio de um CD ou DVD bootável e o tenha instalado no Windows, ele irá solicitar que você reinicie a máquina; ele irá montar um arquivo .BAT (arquivo de lote) com os comandos necessários para realizar a tarefa. Aí é só aguardar.



No próximo post vamos instalar o Linux no espaço não particionado.

quinta-feira, 28 de abril de 2011

Não é Linux mas vai!

Uma dica pra quem usa o S.O. da Microsoft e depara com pequenas limitações que realmente irritam a vida do cidadão: não abre o gerenciador de tarefas. Vai que precisamos ver as tarefas e serviços que estão em execução, mas o micro tem o instalado o simpático (argh!) Quartzo Interapp Control que tem função de limitar / controlar os passos do usuário, visando proteger o micro do próprio utilizador. Pode ser até uma função nobre, mas quando você tem que efetuar um acesso remoto e este programinha "capa" e limita as suas ações, é dose cavalar. No exemplo, o software bloqueia o acesso ao gerenciador de tarefas , inviablizando verificar ou finalizar alguma tarefa. Usuários do Unix estão acostumados a dar um KILL (matar literalmente) o processo. Mas mesmo para os mais incrédulos, o Windows tem sua solução: a dobradinha TASKLIST / TASKKILL. Através " da janela do DOS " (o console interpretador de linhas de comando), digite TASKLIST e pressione a tecla ENTER. O resultado será algo parecido com a imagem abaixo:



Exibe as informações nas seguintes colunas: nome da imagem (que é o programa/tarefa propriamente dito), identidade (o número do processo), nome da sessão, a sessão e a quantidade de memória usada pelo programa.

Uma vez identificado o programa/tarefa , executamos o programa TASKKILL para encerrar o mesmo. Exemplo conforme figura abaixo:



O comando é relativamente simples, nesta sintaxe: TASKKILL /PID número do processo; no caso foi executado TASKKILL /PID 1880, encerrando o Chrome, conforme visualizamos.

Muito útil, dependendo das circunstâncias...

quarta-feira, 27 de abril de 2011

Não precisa formatar (I)

A partir de hoje, após conversas com alguns conhecidos, decidi incluir nos posts algumas situações de erros de sistema que NÃO exigem necessáriamente uma formatação e reinstalação do sistema. Pode poupar algumas dores de cabeça. São práticas simples, facilmente encontradas por aí, mas assim mesmo decidi incluir aqui no blog.

Erro clássico 1; ligo o micro e ao invés de iniciar o Windows , surge a monocromática mensagem:

"o windows não pode ser iniciado porque o seguinte arquivo está ausente ou corrompido c:\windows\system32\config\system"

E ficamos neste impasse preto e branco. Mas o que fazer? Felizmente temos a mão o CD de instalação do Windows. Mas, ANTES de pensar em formatar a máquina, vamos realizar um procedimento muito mais simples: rodar o console de recuperação.
Mascomofaz? Simples: ligue o computador e insira o CD de instalação do Windows de forma que o micro inicie pelo CD/DVD. Após isto, você irá deparar com alguma tela semelhante a esta:


Aqui é fácil, tecle R para iniciar o console. Vai exibir uma tela semelhante a esta:



Serão exibidos os drives e/ou partições da máquina, que contém o sistema da Microsoft instalado. No exemplo citado, temos somente o disco 1, sendo assim informado: 1
Logo após, pede a senha do administrador; se houver, digite a mesma, caso contrário, pressione ENTER. Agora podemos prosseguir, já que o PROMPT C:\WINDOWS> será exibido e operacional. Comando usado para esta manutenção: CHKDSK /R
PAUSA PARA OBSERVAÇÃO: no PROMPT, podemos digitar o comando seguido de /? para exibir uma ajuda referente aos parâmetros e chaves; no caso bastaria digitar CHKDSK /? e visualizar que /R localiza setores defeituosos e recupera informações legíveis. O processo em alguns casos pode ser rápido ou mesmo demorar (contabilizei cerca de uma hora certa vez). O importante é que , uma vez que o processo inicie, aguarde o término, já que reiniciar o micro com o disco rígido em atividade de leitura/escrita pode ser extremamente prejudicial ao mesmo e aos dados retidos nele. Pode ser necessário também entrar os comandos FIXBOOT (grava um novo setor de inicialização - o tal "Boot Sector" - na partição especificada; alguns vírus podem corromper o setor de boot entre outros defeitos, então ele recria esse setor no sistema) e FIXMBR (repara o registro de inicialização mestre – Master Boot Record - do disco especificado) após o CHKDSK. Assim que estiver tudo finalizado, digite EXIT para sair do console de recuperação e reiniciar o sistema. Bem-vindo ao Windows novamente :D

Todas as vezes que deparei com este problema, procedi conforme descrito acima e tudo voltou a funcionar 100%.

No caso de alguma dúvida a mais sobre o assunto , segue o link abaixo, do suporte Microsoft:
http://support.microsoft.com/kb/307545/pt-br

quinta-feira, 7 de abril de 2011

Upgrade barato - parte II

Prosseguindo no upgrade do post anterior, vamos ver os escolhidos:


Placa Phitronics modelo N68C-M; não é a placa que escolheria para minha própria máquina, mas com certeza, é uma das mais baratas e a qualidade é mais do que suficiente para o processador em questão. Conta com chipset NVIDIA GeForce 7025 / nForce 630a (video onboard com processamento mais do que suficiente para uma máquina que não terá destino gamer ou 3D); suporte a memórias DDR2 e DDR3 (2 slots para cada) suportando um total de 8GB; 4 conectores SATA II, suporte a RAID e NCQ; 1 x slot de PCI Expre ss x16, 1 x slot de PCI Express x1 ,2 x slots de PCI, embora em nossa máquina do exemplo, nenhum destes slots seja utilizado; 1 porta ethernet 10/100; áudio VIA® VT1705; 1x conector IDE PATA; 4x USB2.0;

Fora outros detalhes , o manual indica suporte aos processadores Phenom (conector Am3), mas como não tive tempo para verificar a placa com mais cuidado não vou emitir opinião sobre suporte a processadores que tenham TDP de 95 W em diante. Assim que sobrar um tempo, vou olhar melhor esta placa e os estágios da mesma, mosfet, etc; para o nosso simpático Sempron e sua TDP de 45 W, vai tranquilo.

Um adendo: ao comprar componentes para seu micro, procure boa procedência; no mínimo em caixas, com manuais, cabos, acessórios, garantia e bem embalados , com material condizente e não em papel de pão;


Manual, CD, cabos SATA e espelho para os conectores traseiros;


Vista geral da placa;

Processador AMD Sempron 140, compatível com socket AM2+ e AM3, suportando memórias DDR 2 e DDR3, um TDP de 45W, fabricado em processo de 45nm, cache L1 de 128KB e L2 de 1MB, clock de 2,7GHz, 64bit. Mesmo sendo um processador single core, dá conta do trabalho mais comum com boa folga, desde que a máquina não seja a mais exigida. Dispõe das tecnologias Cool´n´Quiet (gerenciamento de energia) e EVP (Enhanced Virus Protection). Núcleo: Sargas.


Foto da caixa do produto, com selo holográfico;


Foto do manual / certificado de garantia do produto, processador embalado, selo do mesmo e um CD contendo uma licença de 6 meses do produto AVG (antivírus);


Cooler que acompanha o processador (fornecido pela AMD);

Memória usada no upgrade; normalmente eu iria investir em dois pentes idênticos na intenção de fazer uso do recurso de dual channel, mas como o orçamento foi apertado, decidi ao menos investir em 2GB em único pente de DDR3;



Na foto, pente de memória Patriot PSD32G13332, uma memória de baixo custo, desde que não seja intencional um overclock - que é o nosso caso - dá conta do recado;



Placa-mãe com a memória e processador já inseridos;


Cooler montado na placa;

Em breve vamos acompanhar o resumo de desempenho desta máquina com o upgrade frente as atividades do dia-a-dia, avaliando o custo x benefício.

quarta-feira, 6 de abril de 2011

Upgrade simples e barato

Sim, é possível! Ainda é fácil encontrar velhas máquinas como os Sempron 2200+, Duron, Athlon XP, Celeron D, etc. Alguns usuários tentam prolongar a vida destas máquinas aumentando a memória, trocando o HD por outro, arrumando uma plaquinha de vídeo um pouco melhor, etc. O caso em questão, é que não vale a pena investir em hardware velho; primeiro pelo custo, pois o valor das peças é caro justamente pela falta de disponibilidade. A regra é simples: deixou de ser padrão, fica caro. Pode comprar usado, mas não vale o investimento. Pode até ganhar, mas você estará apenas prolongando uma dor de cabeça inevitável. Componentes eletrônicos tem vida útil, e com certeza as peças que você vier a adquirir não serão exceções a regra. Mas vamos lá, o usuário é teimoso e VAI comprar peças usadas assim mesmo...
1 - Primeiro, as memórias irão apresentar problemas de incompatibilidade, aí você desiste de combinar pentes de diferentes fabricantes/modelos. A máquina reseta e você decide rodar o memtest; depois de meia hora, eis que o software acusa erro na memória.
2 - Aquela placa AGP - desenterrada sei lá de onde - funciona, mas não tem praticamente nada a oferecer em desempenho se comparada até mesmo com as GPUs onboards mais atuais...
3 - A máquina reseta direto, as memórias estão boas, aí notamos alguns capacitores inchados na placa mãe...

Acima estão algumas situações corriqueiras. Tem muito mais de onde saíram estas, tenha certeza disto. Acho que está na hora de por a mão no bol$o e gastar um pouco. Mas e aí, quanto gasto?

Vou usar um exemplo simples, de um micro problemático, cujo processador (um Athlon XP) que deveria rodar a 1.8GHz, somente executava em 1.2GHz, caso contrário a máquina travava. Mesmo assim, freqüentemente resets espontâneos davam o ar da graça, sem falar nos conectores de mouse e teclado que apresentavam volta e meia problemas de contato. Somando isto tudo, a maquina tinha somente 512mb de memória, com um processador lentíssimo, uma placa de vídeo GeForce 4 MX 4000 AGP e rodava Windows XP, com banco de dados, Office, Delphi, C#, MSN , antivirus e VNC. É, e você que achava que era azarado...
O legal mesmo é que pouca gente se toca do quanto um hardware problemático influencia na produtividade de um indivíduo...

Mas após a tempestade virá a bonança, sempre lemos/ouvimos isto... para o mal descrito acima, bastaram R$ 268,00 e a vida mudou muito. Óbvio, não virou uma máquina de jogos, mas dá pra trabalhar decentemente e agora ALT + TAB faz sentido :)

Trocamos o conjunto A7S333 / Atlhon / 512mb / GF 4 MX4000 por uma placa Phitronics N68C-M / Processador Sempron 140 / 1 x 2 GB DDR3.

Aproveitamos : o gabinete, fonte, unidade de DVD-RW (IDE PATA) e HD (IDE PATA). Este último tentei de toda forma trocar, mas o orçamento foi muito curto. O HD já está chegando ao final de sua vida útil, mas não adiantou muito o argumento. Leia aqui: a importância dos dados que você tem no disco rígido é proporcional ao que você está disposto a gastar;

No próximo post, irei postar fotos dos componentes adquiridos, bem como detalhes dos mesmos.

terça-feira, 15 de março de 2011

Status, Insert, Update, Delete e Select

Prosseguindo no MySQL, vamos usar outros comandos:
-status - informações gerais do SGBD, se algum banco esta em uso e qual, o usuário conectado, protocolo utilizado, porta utilizada, characterset, delimitador usado, id da conexão, etc.  
-insert - para inserir dados nas tabelas; usado com "INTO" e "VALUES" - indicando qual tabela e quais valores serão inseridos , respectivamente; Ex: insert into teste (codigo,nome,cidade) values (1,"Carla","Canoas"); ou insert into teste values (1,"Carla",Canoas"); 
O primeiro exemplo indica a sintaxe formal , onde indicamos os campos utilizados - codigo,nome,cidade - e depois os valores que serão inseridos - 1,"Carla","Canoas"; o uso de " " se faz necessário no caso de dados do tipo STRING (char, varchar); no segundo exemplo, podemos "omitir" os campos, desde que seja respeitada a ordem no preenchimento dos dados; finalmente, podemos incluir mais dados em uma mesma linha, ao invés de repetir todo o insert.O exemplo para inclusão de múltiplas informações: insert into teste values (1,"Carla","Canoas"),(2,"Ana","Canoas"),(5,"Marcia","Esteio"),(4,"Lucia","Sapucaia");
-update - algumas vezes se torna necessário alterar algum dado que pode ter sido inserido incorretamente. Para esta finalidade, usamos UPDATE. A sintaxe básica é informar a tabela e o campo a ser atualizado (através de SET) e o novo valor. Ex:update teste set nome="Tania"; Neste exemplo, alteramos em TODOS os registros o valor de gravado no campo nome para "Tania". Mas e se quisermos atualizar somente em um registro específico, o procedimento faz uso de WHERE como filtro de informação: update teste set nome="Tania" where nome="Carla"; Desta forma, trocamos o nome para "Tania" somente onde o registro estava armazenando "Carla"; Mas E SE existirem duas "Carla" e quisermos alterar somente um destes registros, em específico? Podemos melhorar o filtro e incluir mais informações usando AND (E): 
update teste set nome = "Tania" where nome="Carla" AND cidade="Esteio";
O exemplo acima troca o nome DESDE que o registro contenha CARLA em nome e ESTEIO em cidade. Também podemos fazer uso de OR (OU): update teste set nome = "Tania" where nome="Carla" and (cidade="Esteio" or cidade="Canoas"); O exemplo acima troca o nome DESDE que o registro contenha CARLA em nome e ESTEIO OU CANOAS em cidade. Para mútlipas alterações, usamos "," após o primeiro campo citado em SET: update teste set nome="Tania" , cidade = "Sapiranga where nome = "Carla"; Neste exemplo , ateramos o nome e cidade.  -delete - apaga registros na tabela. Na sintaxe é necessário informar qual a tabela. Ex:delete from teste; Apaga TODOS os dados da tabela. delete from teste where nome = "carla"; Apaga todos os registros que contenham "Carla" no campo nome.
-select - um dos mais usados , para reportar informações de tabelas. Na sintaxe indicamos a tabela que se deseja consultar. Ex:select * from teste; Exibe todos os dados da tabela teste
Select teste.nome from teste; Exibe todos somente os dados da coluna nome;
Select * from teste where nome = "Carla"; Exibe todos os registros que contenham "Carla" na coluna nome;
Select * from teste where nome = "Carla" and cidade="Esteio"; Exibe todos os registros que contenham "Carla" na coluna nome E "Esteio" na coluna cidade;
Select * from teste where nome = "Carla" or cidade="Esteio"; Exibe todos os registros que contenham "Carla" na coluna nome OU "Esteio" na coluna cidade;
Ordenando: Select * from teste order by codigo; Exibe todos os registros em ordem crescente baseado no campo código;
Select * from teste order by codigo desc; Exibe todos os registros em ordem decrescente (usando DESC) baseado no campo código; 
Intervalo usando BETWEEN: Select * from teste where codigo between 1 and 5; Seleciona TODOS os registros que contivereme o campo código com valores entre 1 e 5 
Usando Count para exibir a quantidade de registros: Select count(*) from teste;  Select executando calculos: 
Select 1+1;
Select 1+3*2;
Select (1+3)*2;

quinta-feira, 10 de março de 2011

Alguns erros comuns no MySQL

Antes de prosseguirmos nos comandos, vamos aproveitar para ver alguns erros muito comuns no console do MySQL.
Primeiro, sobre a falta de ponto e vírgula:
Ao digitar um comando qualquer, por exemplo, show databases, se esquecermos de inserir ";" ao final da linha e teclarmos ENTER, o MySQL interpreta linha em edição aguardando o caractere que finaliza - no caso ";" - e exibe um "prompt' ( -> ). Podemos finalizar digitando ";" e teclando ENTER, deste modo, executando a linha normalmente. Ou digitar \c para sair do atual modo de edição (leia desconsiderar o que estava sendo feito), conforme podemos ver abaixo:

mysql> show tables
-> ;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| livros |
| socios |
+----------------------+
2 rows in set (0.03 sec)

mysql> show tables
-> \c
mysql>

Também podemos ver o modo de edição em um Create Table. Podemos fazer de duas formas:

mysql> Create table X(
-> id int,
-> nome char(10),
-> cidade char(15)
-> );
Query OK, 0 rows affected (0.03 sec)

Ou

mysql> create table X(id int, nome char(10),cidade char(15));
Query OK, 0 rows affected (0.05 sec)

Da mesma forma, é fácil cometer um pequeno erro em um INSERT:

mysql> insert into x(id,nome,cidade)values(10,"marcelo","canoas);
"> "
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '' at
line 1

Neste exemplo, o erro foi a falta de " após digitar canoas, encerrando o valor. O interpretador do MySQL indentificou a falta de " e entende que a linha ainda está sendo digitada, aguardando as aspas. Após isto, aguarda a finalização, só que o ";" gera o erro, pois a sintaxe está incorreta, como veremos mais abaixo.

mysql> insert into x(id,nome,cidade)values(10,"marcelo","canoas);
"> "
-> );
Query OK, 1 row affected (0.08 sec)

Agora o exemplo foi finalizado corretamente, mas o dado inserido não será CANOAS, mas CANOAS); , já que foi o valor que ficou entre as aspas.

mysql> insert into x(id,nome,cidade)values(10,"marcelo","canoas);
"> "
-> \c

Neste último exemplo vimos que o dado CANOAS ficará incorreto , então decidimos por encerrar o comando sem gravar nada, usando \c

Aí estão algumas explanações simples, mas que podem orientar quem está começando a usar a interface em modo texto.

quarta-feira, 9 de março de 2011

Iniciando no MySQL

Após a instalação do MySQL, passaremos a usar o mesmo. Para tanto, basta abrir o menu INICIAR e em EXECUTAR digitar MYSQL e clicar em OK.
Abrirá uma janela parecida do com a linha de comando do MS DOS:

Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.5.9 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Note que o "prompt" mysql fica aguardando a digitação dos comandos. Após digitar o comando e teclar ENTER, o MySQL interpreta e executa o que foi digitado. Para indicar o término da digitação, é preciso inserir ponto e vírgula (;) .

Vamos iniciar com o SHOW DATABASES - exibe os bancos no SGBD.
Ex:

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.83 sec)

Qualquer atividade que se queira fazer, desde consultas, inserção de dados, etc, é necessário primeiro entrar no banco desejado; USE - faz uso de um dos bancos do SGBD;
Ex:
mysql> use test;
Database changed

-create database - cria um novo banco, sendo necessário informar um nome para o mesmo; nomes já existentes não são permitidos;
Ex:
mysql> create database prova;
Query OK, 1 row affected (0.17 sec)

-drop database - deleta um banco, sendo necessário indicar o nome do mesmo.
Ex:
mysql> drop database prova;
Query OK, 0 rows affected (1.03 sec)

Agora que vimos o básico sobre criar e deletar bancos, vamos ao elemento mais básico dos mesmos: as tabelas.
Uma tabela é uma representação matricial, isto é, em linhas e colunas, tantas quantas a aplicação que se queira dar. No caso do banco, inserimos colunas, nas quais definimos os nome das mesmas e os tipos de dados que irão armazenar. Também podemos definir chaves primárias, como será descrito mais adiante. As linhas correspondem aos dados que serão inseridos.

-create table - cria uma nova tabela; para isto , primeiro é necessário que o usuário esteja inserido em um banco de dados através de "USE". Em conjunto, deve ser informado o nome da tabela e os campos (colunas) , bem como informar o tipo de dados que serão contidos pelos mesmos.
Ex:
mysql> Create table teste(codigo int, nome varchar(20), cidade varchar(15));
Query OK, 0 rows affected (0.47 sec)

Onde:
teste - é o nome da tabela;
codigo é o nome do campo e INT indica que o tipo de dado armazenado nele é um inteiro;
nome é o nome do campo e VARCHAR indica que o tipo de dado armazenado nele é STRING (cadeia de caracteres); (20) indica o comprimento máximo ou seja, vinte caracteres;
cidae é o nome do campo e VARCHAR indica que o tipo de dado armazenado nele é STRING (cadeia de caracteres); (15) indica o comprimento máximo ou seja, quinze caracteres;
Entre um campo e outro , usamos "," para delimitar os mesmos, exceto no último: fechamos parentêses ")" e usamos ";" para indicar o final da linha.

-show tables - Exibe todas as tabelas contidas no banco em uso;
Ex:
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| teste |
+----------------+
1 row in set (0.01 sec)

-Describe - retorna informações sobre a tabela, como os campos, tipos de dados, chaves, etc. Basta indicar o nome da tabela após o comando.
Ex:
mysql> describe teste;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| codigo | int(11) | YES | | NULL | |
| nome | varchar(20) | YES | | NULL | |
| cidade | varchar(15) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.20 sec)

-drop table - Deleta a tabela especificada.
Ex:
mysql> drop table teste;
Query OK, 0 rows affected (0.05 sec)

Mais adiante, iremos iniciar com INSERT e SELECT para adicionar dados e realizar consultas.

quarta-feira, 2 de março de 2011

Instalando o MySQL no Windows

Uma dúvida que normalmente atinge quem pretende iniciar estudos em bancos de dados é como e por onde iniciar a parte prática. Existem várias opções gratuítas e é normal sentir-se "perdido". Neste primeiro momento, vamos começar com a instalação do SGBD (Sistema de Gerenciamento de Banco de Dados) escolhido : o MySQL.
Podemos baixar de diversos sites, incluindo o principal - http://www.mysql.com/downloads/
Para efetuar o download, é necessário se registrar no site (sem custo algum). CASO não queira efetuar o cadastro, pode baixar de outro site, como o SUPERDOWNLOADS -

http://www.superdownloads.com.br/redir.cfm?softid=45623

O arquivo que baixei: mysql-5.5.9-win32.msi - indica que é a versão do SGBD para rodar na plataforma Windows 32 bit. Existe versão otimizada para Windows 64 bit, Linux e assim por diante.
O procedimento de instalação é relativamente simples; execute o arquivo e ele irá exibir a mensagem padrão, de que o programa pode conter vírus, etc. Apenas confirme com OK.



Em seguida, você será notificado sobre o editor que não pôde ser verificado. Apenas confirme em EXECUTAR



Tela inicial de instalação do MySQL: apenas clique em NEXT;



Agora é necessário marcar a caixa onde aceitamos os termo de licença de uso do programa. Após, clicar em NEXT;



Agora é necessário escolher qual o tipo de instalação. Neste primeiro momento iremos optar pela instalação típica. Clique me TYPICAL e em seguida em NEXT.



Pronto para instalar. Basta clicar em INSTALL.



Instalando. Após instalar os arquivos, será exibida uma janela MySQL Enterprise. Feche a mesma.



Para finalizar a instalação, basta clicar no botão FINISH. Deixe marcada o quadro LAUNCH THE MYSQL INSTANCE CONFIGURATION WIZARD. Desta forma, o assistente de configuração será acionado em seguida.



Tela do assistente. Clique em NEXT.



Nesta primeira instalação iremos usar a opção STANDARD:



Nesta tela não alteramos quase nada. Apenas para explanar, o primeiro quadro marcado indica que o MySQL irá rodar como um serviço no Windows. Pode ser visto no gerenciador de tarefas e o nome do serviço será justamente MySQL. O segundo quadro indica que o serviço será iniciado automaticamente , ou seja, quando iniciado o Windows, o MySQL iniciará também. Marcar o quadro INCLUDE BIN DIRECTORY IN WINDOWS PATH.
Clicamos em NEXT para prosseguir.



Nesta tela temos as configurações de segurança. O primeiro quadro marcado modifica as coonfigurações. Vamos entrar uma senha para root (o usuário master do banco). Use uma senha simples inicialmente. Preencha no primeiro campo e repita no segundo, para verificação. Deixe as demais opções desmarcadas e clique em NEXT.


Clique em EXECUTE para prosseguir.



Caso tudo tenha ocorrido em ordem (como esta instalação) todos os ítens estarão marcados conforme exibido abaixo e basta clicar em FINISH. No caso de qualquer erro, o assistente irá tentar novamente o passo incorreto.


Pronto!!!
Nos próximos posts vamos acessar o MySQL via console e usar comandos básicos de SQL.