domingo, 26 de abril de 2015

SQL - Structured Query Language

E ai pessoal ... Mas que raio de nome é este no começo da postagem? Vamos traduzir: Linguagem de Consulta Estruturada ... Não ajudou muita coisa né ... Então, vamos resumir bem o negócio: Linguagem para Banco de Dados.

E o que é afinal um banco de dados? Não tem nada a ver com a imagem abaixo ... Na verdade, um Banco de Dados (em inglês Data Base) é uma coleção organizada de qualquer tipo de dados relacionados que criam uma informação, dando mais eficiência a uma pesquisa ou estudo. Em outras palavras, o objetivo principal de um banco de dados é armazenar um grande volume de informação e que estas informações possam ser acessadas a qualquer hora e por vários usuários simultaneamente, estando disponíveis sempre que necessários. É a peça chave da grande maioria de sistemas e softwares que conhecemos.
Banco de Dados - Não tem nada a ver com isso

BD Mysql da Oracle
Podemos imaginar então um banco de dados como uma grande planilha com informações? Mais ou menos. Na verdade o Banco de Dados é algo complexo, tanto que, na minha opinião, é uma das disciplinas mais complicadas da área de TI. Arquitetura de Dados, relacionamentos, representações e mais um monte de conceitos complexos fazem parte da disciplina de Banco de Dados. Dá um nó na cabeça.

Existem hoje no mercado vários softwares de banco de dados, sendo os mais conhecidos o MySQL da Oracle, o PostgreSQL, o SQLServer da Microsoft e o Firebird, que embora seja novo no mercado, está tendo uma boa aceitação. É claro que existem vários outros, inclusive aquele que aprendemos no curso de informática (figurinha carimbada né) o Accsess, que vem junto no pacote Office da Microsoft. No entanto, vale lembrar que o Accsess, embora seja um banco de dados, não oferece uma infraestrutura robusta necessária para uma página Web ou software, assim, ninguém o usa nestes casos.

O PostgreSQL é Código Aberto
E o SQL? Ele começou a aparecer no cenário lá na década de 70, nos laboratórios da IBM. A ideia inicial era usá-la como linguagem de consulta dentro do banco de dados. Por exemplo,imagine um banco de dados com centenas, ou até milhares de números de CPF. Daí, o usuário precisa encontrar o CPF do fulano de tal .... e agora? Vai procurar um por um? Graças ao SQL, podemos fazer uma busca pelo nome e todos os dados aparecem na tela ... Uma beleza, não é mesmo?

Pois bem, apesar da idéia inicial, o SQL não ficou só na consulta. Atualmente, a linguagem é dividida em conjuntos, cada um específico para uma atuação no banco. São elas:

  • Comandos DML (Data Manipulation Language ou Linguagem de Manipulação de Dados): Conjuntos de comandos responsáveis pela manipulação de dados armazenados: criação, alteração, e deleção da estrutura de dados já armazenados no sistema. Os comandos deste conjunto são INSERT, UPDATE e DELETE. 
  • Comandos DQL (Data Query Language ou Linguagem de Consulta de Dados): Conjuntos de comandos para a consulta de dados do banco. Embora tenha apenas um comando, é o mais utilizado da linguagem. Trata-se do comando SELECT.
  • Comandos DDL (Data Definition Language ou Linguagem de Definição de Dados): esta parte é responsável pela criação, alteração e deleção de estruturas das tabelas e índices do sistema. Os comandos são: CREATE e DROP. Alguns bancos aceitam também a opção ALTER, onde o usuário pode alterar um objeto. Além disso, existem os seguintes comandos: CREATE TABLE, CREATE INDEX, CREATE VIEW, ALTER TABLE, ALTER INDEX, DROP INDEX, DROP VIEW. (com um curso básico de inglês já dá para ter uma idéia da serventia destes comandos ...)
  • Comandos DCL (Data Control Language ou Linguagem de Controle de Dados): Responsável pela criação dos usuários e definição das permissões de cada um no banco de dados. Os dois comandos deste conjunto: GRANT e REVOKE.
  • Comandos DTL (Data Tranaction Language ou Linguagem de Transação de Dados): inicializa e finaliza as transações de banco de dados. Os comandos são: BEGIN WORK, COMMIT e ROLLBACK.
Aparecendo no mercado: Firebird
Parece complicado? E é mesmo. A estrutura de um banco de dados requer bastante cuidade, tanto na criação quanto na manipulação. Existem muitas outras coisas envolvidas, como os tipos de dados, tamanho e mais uma série de comandos usados em um Banco.

Mas, para ter uma idéia de como se cria um banco de dados, vamos para um pequenos exemplo:

CREATE DATABASE Curso_ASistema

CREATE TABLE `alunos` (
`IDAluno` INT(11) NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR (60) COLLATE utf8mb4_bin NOT NULL,
`Email` VARCHAR (60) COLLATE utf8mb4_bin NOT NULL,
`SituacaoAluno` VARCHAR (15) COLLATE utf8mb4_bin NOT NULL,
`DataNascimento` DATE NOT NULL,
`TelefoneResidencial` VARCHAR (10) COLLATE utf8mb4_bin DEFAULT NULL,
`TelefoneCelular` VARCHAR (10) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`IDAluno`)
) ;

SQLServer - da Microsoft
Com este comando, criamos uma tabela chamada Curso_ASistema, com as seguintes colunas: IDAluno (Número de identificação, que será incrementado pelo sistema), Nome, E-mail, Situação do Aluno, Data de Nascimento, Telefone residencial e Celular. Notem que não usamos acentos nem espaço entre as identificações das colunas. Os nomes após a identificação (VARCHAR, DATE etc) são as restrições de domínios (existem várias). O final NOT NULL ou DEFAULT NULL indica se um campo pode ou não ser nulo.

Meu chegado, quanta coisa ... E realmente, como eu disse, isso aqui é um resumo do resumo do resumo de Banco de Dados. Tanto que nas empresas tem uma figurinha importante que merece nosso respeito: o DBA ou Database Administrator ou Administrador de Banco de Dados.Ele é responsável pelo gerenciamento de vários bancos de dados, dos mais variados sistemas. E digo por experiência própria: esquecer um WHERE no comando do SQL complica o banco todo ... ( em um sistema eu dei o comando para alterar apenas um usuário e esqueci do tal WHERE ... mudou todo o banco ...)

Antes de encerrar este post, vale lembrar dos SGBD's ou Sistemas Gerenciadores de Banco de Dados. A criação e gerenciamento dos bancos podem ser feitos com estes programas, que facilitam o trabalho do DBA, embora, na hora da programação, tem de ser usado o SQL.

Ficou grande este post não é mesmo ... Pois bem, então encerramos por aqui. Na próxima, que tal falarmos um pouco do VisualBasic? Ate_a_proxima_entao ...
SGBD para MySQL - PhpMyAdmin, com os meus BD

domingo, 12 de abril de 2015

Perl

Boa noite pessoal ... vamos para mais uma postagem nessa semana e mais uma linguagem de programação para conhecermos. De acordo com o Índice Tiobe, no momento dessa postagem, esta linguagem ocupava o número 12 no ranking. É a linguagem Perl.
There's more than one way to it


A linguagem Perl foi lançada a certo tempo, no ano de 1987 pelo programador americano Larry Wall. É uma linguagem bastante flexível, por permite desenvolvermos programas em vários ambientes como Unix, MSDOS, Windows, Macintosh e outros, Além disso, uma característica peculiar do Perl é a aplicação em missão crítica. Missão crítica??? Mas que raio é isso???

Calma que eu já explico. Na área de TI, é considerado missão crítica a disponibilidade de aplicações, serviços e processos dos quais a paralisação do mesmo geram transtornos tanto financeiros quanto sociais. Em outras palavas, é aquele momento que você perde tudo e sai gritando desesparado  ...O Perl é uma linguagem projetada com alta tolerância e disponibilidade, limitando estes transtornos que esporadicamente podem acontecer.

O Perl é muito usado na preparação de formulários web, embora seja muito eficiente na manipulação de textos. Os administradores de sistemas veem na linguagem um aliada pronto para enfrentar os percalços da informática.

É interessante que Wall, a desenvolver a linguagem, procurou juntar as vantagens de outras linguagens como C e outras shell script. Uma particularidade dessa "herança" das linguagens shell script é o uso do cifrão ($) , usado também na linguagem PHP ( Sempre PHP ná   ) ... Além disso, o Perl é uma linguagem portátil e de alto nível (lembram dessa expressão né, mais próximo da linguagem humana ...)

E o nosso famoso "Hello World" em Perl? É bem simples, com apenas um comando de linha ...

#! uma linha de comentário só para ter mais graça
print "Hello World1 \n";

Bem parecido com outras linguagens, não é mesmo? Inclusive o "\n" vemos na linguagem C, para pularmos a linha no print. Vamos ver o resultado de um print de uma tela que eu consegui ...

Hello World ... na tela de terminal né, fazer o que  ...
Esse é o Perl ... Como diz o slogan acima "Existe mais de uma maneira de fazer isso". E existe mesmo. Sem dúvida, o Perl é uma excelente linguagem, com pontos fortes que podem auxiliar qualquer desenvolvedor a fazer aplicativos de qualidade. Na próxima semana, vamos falar da linguagem usada em DataBase ou Banco de Dados - o SQL ...  até lá!!!!






Larry Wall - figuraça 

domingo, 5 de abril de 2015

Ruby

Olá pessoal, esta postagem demorou mas finalmente saiu ... as coisas estão bem corridas, estamos trabalhando na remodelagem do site, que agora será responsivo, além do trabalho do dia a dia, curso de Java, PHP e por ai vai ... vida de programador é isso, estudar sem parar ...

Logo Ruby
Mas vamos falar então do Ruby, mais uma linguagem de programação que tem destaque no mercado. Trata-se de uma linguagem de origem oriental, elaborada no Japão em 1995 pelo cientista da computação Yukihiro Matsumoto  (松本行弘 olha o nome dele em japonês).. Matz (mais fácil que  松本行弘 )., como também é conhecido, queria fazer uma linguagem mais poderosa que o Perl (ainda vamos falar dessa) e mais orientada a objeto que a Python (essa já falamos).

O trabalho no projeto começou em 1993, mas começou a aparecer no cenário da tecnologia em 1995. Já em 1999, com o lançamento da versão  Ruby 1.3, Mark começou uma lista de discussão da linguagem fora do Japão, o que ajudou na disseminação desta linguagem pelo mundo. No momento da escrita deste artigo, o Ruby estava no 18º lugar do ranking da tabela Thiobe.

Por volta de 2005, o interesse pela linguagem aumentou com o lançamento da Ruby and Rails, um framework escrito em Ruby, específico para Web, que auxilia no desenvolvimento de sites orientado a banco de dados (database-driven web sites).O nome Ruby foi escolhido por Matz durante uma conversa com  um colega numa sala de bate papo (aquelas antigas salas de bate papo, quem se lembra ... 0/ ). Ele estava em dúvida se escolhia Coral ou Ruby ... por fim ficou Ruby ...

E o nosso famoso "Hello world" em Ruby? Bem, quem lembra do Python (aquele do versinho esquisito lá) vai lembrar que a programação dele é bem simples. O mesmo acontece com o Ruby. Podemos usar um comando de saída que irá imprimir para nós a informação digitada. Apenas um detalhe: o nome do comando é meio esquisito ...


puts "Hello World";

Tem cada coisa que a gente vê nessas linguagens ... mas tudo bem, depois de feito este comando, salvamos o arquivo com a extensão rb e, através do terminal, executamos o mesmo. Como eu não instalei o compilador para Ruby (já to com 03 instalados para Java, C/C++ e Python), vou colocar o print da tela de outro computador que tem o compilador certo ...

Execução do Hello World em Ruby, via terminal


Então está ai, mas uma linguagem de programação para conhecer. Se quiser ver mais sobre o Ruby e o framework Ruby and Rains, de uma olhada no site http://www.rubyonrails.com.br/ E na próxima, que tla falarmos do Pearl, que citamos no artigo??? Então, até lá ...
松本行弘