Bancos de dados

 

Noções sobre a linguagem SQL
É uma linguagem de pesquisa (consulta) para banco de dados relacional (banco de dados relacional) e significa Structured Query Language, ou Linguagem de Consulta Estruturada. Muitas das características originais do SQL foram inspiradas na álgebra relacional.
A linguagem SQL é um grande padrão de banco de dados. Isto decorre da sua simplicidade e facilidade de uso.
É bom saber que, na prática, existem pequenas diferenças entre o SQL dos diferentes bancos de dados, como o Microsoft Access, Microsoft SQL Server 2000, ORACLE etc. Os exemplos do nosso site estão baseados no MS ACCESS.


Entendendo a linguagem SQL
Antes de estudarmos a linguagem SQL é absolutamente necessário que você conheça o conceito de Banco de Dados, Tabelas e Consultas. Isto você encontra aqui: Tutorial Banco de Dados

O que é uma consulta?
Imagine a tabela a seguir com inúmeros registros (no exemplo só temos 10)

Alguém lhe pede para fazer uma Consulta ao banco de dados e montar uma relação - selecionar - apenas as mulheres. Vai ficar assim:

Falando o português claro seria apenas uma questão de "falar" o seguinte para o Banco de dados:

"Meu amigo Banco de dados, Selecione na Tabela1 os Códigos dos Alunos, os Nomes, as Notas de Teste Físico, as Notas Anuais mas só para as mulheres"

Pois é isso que a linguagem SQL faz. Veja como se dá a "ordem" para o Banco de dados na linguagem SQL.

SELECT Tabela1.CodAluno, Tabela1.Nome, Tabela1.NotaTesteFisico, Tabela1.NotaAnual, Tabela1.Sexo
FROM Tabela1
WHERE (((Tabela1.Sexo)="F"));

Traduzindo:
SELECIONE de Tabela1.CodAluno, Tabela1.Nome, Tabela1.NotaTesteFisico, Tabela1.NotaAnual, Tabela1.Sexo
DA Tabela1
ONDE (((Tabela1.Sexo)="F")); ou seja, onde Sexo na Tabela1 seja igual a F (feminino, claro!)

Já que foi "mole" de entender, vamos complicar só um pouquinho.

Agora alguém lhe pede para selecionar apenas as mulheres, fazendo uma relação onde a Nota Anual apareça em ordem decrescente; que a nota do Teste Físico também venha em ordem decrescente e que, em caso de empate, os nomes devem vir em ordem alfabética crescente.
Vai ficar assim. Note que Júlia e Laura empataram e o que prevaleceu foi a ordem alfabética.


Isso em SQL fica assim:

SELECT Tabela1.Sexo, Tabela1.NotaAnual, Tabela1.NotaTesteFisico, Tabela1.Nome
FROM Tabela1
WHERE (((Tabela1.Sexo)="F"))
ORDER BY Tabela1.NotaAnual DESC , Tabela1.NotaTesteFisico DESC , Tabela1.Nome;

Notou a diferença?
ORDER BY significa Ordene e o DESC significa Descendente

Note que toda instrução SQL termina com ponto e vírgula.

 

Esta foi apenas uma introdução

Nos demais itens da página de Banco de Dados sobre SQL analisaremos outros tipos de instruções SQL