Index
SQL e RDBMS
SQL, acrônimo de Structured Query Language e pronunciado como sequel, foi desenvolvido na década de 1970 com o objetivo principal de gerenciar dados em sistemas de modelos relacionais.
Esses sistemas relacionais são amplamente conhecidos como RDBMS (Relational Database Management Systems), ou em português, SGBD (Sistemas de Gerenciamento de Banco de Dados Relacionais). Existem diversas soluções SQL no mercado, entre elas as que mais se destacam são: Oracle Database, MySQL e Microsoft SQLServer1, cada um desses sistemas tem suas peculiaridades e funcionalidades específicas.
Por conta dessa diferença entre os RDBMS, embora exista um padrão oficializado pela ANSI, denominado ANSI-SQL, é notório que nenhum desses sistemas adere completamente ao padrão. Isso implica a necessidade de realizar ajustes específicos ao transitar entre diferentes sistemas, devido às variações na implementação do SQL.
Apesar disso, todos ele tem por base esse padrão, que tem as seguintes palavras chave (keywords) reservadas, ou seja, comandos possíveis:
ADD | ALL | ALTER | AND | ANY |
AS | ASC | BACKUP | BETWEEN | CASE |
CHECK | COLUMN | CONSTRAINT | CREATE | DATABASE |
DEFAULT | DELETE | DESC | DISTINCT | DROP |
EXEC | EXISTS | FOREIGN KEY | FROM | GROUP BY |
HAVING | IN | INDEX | INSERT INTO | IS NULL |
IS NOT NULL | JOIN | LIKE | LIMIT | NOT |
NOT NULL | OR | ORDER BY | PRIMARY KEY | PROCEDURE |
ROWNUM | SELECT | SET | TABLE | TOP |
TRUNCATE | UNION | UNIQUE | UPDATE | VALUES |
VIEW | WHERE |
Calma! Sem desespero, vamos ver tudo com tranquilidade.
Sintaxe da Linguagem
Assim como o português tem uma estrutura formal para se construir frases, parágrafos e assim por diante, as linguagens de programação também tem algumas definições que devem ser seguidas, e não por outro motivo isso é chamado de sintaxe.
Como já foi citado, existem algumas diferenças em cada um dos sistemas de banco de dados, apesar disso, existe sim um espaço comum entre todos, e iremos começar por ele.
Instruções SQL
As instruções (statements) SQL tem um padrão de fácil entendimento costumam ter uma estrutura padrão, que chamamos de sintaxe
COMANDO parametros;
Os parametros
citados acima, podem conter comandos também para conseguirmos
compor instruções mais complexas:
COMANDO1 parametro1 COMANDO2 parametro2;
Precisamos lembrar de terminar uma instrução com o “ponto e virgula” ;
Podemos criar uma instrução em diversas linhas se quisermos:
COMANDO1 parametro1
COMANDO2 parametro2;
O código acima seria uma única instrução.
Exemplos com SQL Real:
SELECT * FROM Usuarios
Este comando seleciona todos os registros da tabela Usuários
INSERT INTO livros (titulo, autor) VALUES ("A Hora da Estrela", "Clarice Lispector");
Esse comando adiciona um registro à tabela livros
3 Linguagens?
Formalmente ela é composta por 3 “subareas”, Definição de dados(DDL), controle de dados(DCL) e manipulação de dados(DML), veremos com calma cada uma dessas subáreas.
Nas próximas sessões mergulharemos nos comandos do SQL, primeiro utilizando o SQLite, por praticidade, e mais adiante iremos utilizar uma instancia do Microsoft SQL Server.