Você está na página 1de 3

SQL - Structured Query Language

1 Viso Geral de um Banco de Dados Relacional


Todos os dados de um banco de dados relacional so armazenados e exibidos em tabelas, as quais contm
informaes a respeito de alguma coisa, ou entidade. As colunas da tabela contm informaes sobre os atributos
destas entidades, cada linha armazena as informaes sobre os atributos de uma entidade em particular.
Todas as tabelas tm que ter uma chave primria, que deve ser uma coluna (ou grupo de colunas) baseada em um
atributo identificador de uma linha. A funo da chave distinguir univocamente as linhas da tabela uma das
outras.
Os sistemas relacionais possuem trs caractersticas importantes em comum: o usurio pode selecionar dados de
apenas algumas colunas, algumas linhas, ou dados de mais de uma tabela ao mesmo tempo.

2 A Linguagem SQL
SQL uma linguagem prpria para a realizao de operaes relacionais, ela gerencia um sistema relacional.
Atravs de declaraes SQL, dados so recuperados, atualizados ou eliminados, colunas so alteradas, tabelas so
criadas e eliminadas, e quaisquer outras modificaes so feitas na estrutura de um banco de dados.
Sua declaraes podem ser subdivididas em: queries, definio de dados, manipulao de dados e controle de
dados.

Queries: recuperam dados de uma tabela do banco de dados. Nelas identificamos as tabelas, colunas e
linhas, e o banco de dados nos fornece os dados especificados.

Definio de dados: determinam a estrutura do banco de dados. Criam, alteram ou eliminam componentes
estruturais, como tabelas, vises e ndices.

Manipulao de dados: alteram o contedo do banco de dados incluindo novos dados, atualizando os
existentes ou excluindo linhas.

Controle de dados: cadastram outros usurios ou determinam nveis de autoridade e privilgios para as
tabelas e vises do banco de dados.

3 Queries
3.1 Elementos Bsicos de uma Query: As Clusulas SELECT e FROM
Por mais bsica que seja uma query, ela tem que ter pelo menos dois componentes (clusulas SELECT e FROM).
Onde a clusula SELECT enumera os nomes das colunas desejadas, e a FROM especifica em quais tabelas as
colunas esto.
O resultado da query exibido em forma de tabela e , s vezes, chamado de tabela-resultado. As linhas do
resultado representam os dados que atendem as condies estabelecidas ou so o produto das operaes
especificadas na query. Se no houver dados em nenhuma destas duas situaes, no sero selecionadas as linhas.
Supondo uma tabela Lista_de_Alunos da seguinte maneira:

Termo
Nome

Curso
R.A.

Ano Entrada

Marcos Scheide

BCC

01.0894.4

2001

Luiz Pereira

BCC

01.0670.5

2001

Marcelo Tizziane

BCC

01.0678.2

2000

Jos da Silva

BSI

99.4562.7

1999

Tabela1
Se aplicarmos a seguinte SQL:
SELECT Nome, Termo, Curso
FROM Lista_de_Alunos
Teremos a seguinte tabela-resultado:
Termo

Curso

Nome
Marcos Scheide

BCC

Luiz Pereira

BCC

Marcelo Tizziane

BCC

Jos da Silva

BSI

Tabela2
Resumidamente, conclumos que uma query, com apenas uma clusula SELECT e uma FROM, tem basicamente o
formato:
Para todas as linhas,
SELECT o valor destas expresses
FROM estas tabelas.
Obs.: Podemos usar um asterisco (*) junto com a clusula SELECT para selecionarmos todas as colunas de uma
tabela:
SELECT *
FROM Lista_de_Alunos
Esta SQL exibir a tabela-resultado com todos dados da tabela.
3.2 Restringindo a Query: A Clusula WHERE
A clusula WHERE reduz o escopo da query focalizando apenas determinadas linhas. Uma query com a clusula
WHERE retorna apenas os valores das linhas que atendam s condies especificadas na clusula WHERE. Podemos
definir o formato de uma query com a clusula WHERE deste modo:
SELECT o valor destas expresses
FROM estas tabelas
Somente nas linhas WHERE estas condies foram atendidas.
As condies da clusula WHERE so chamadas de condies de pesquisa.
Por exemplo, se aplicarmos a seguinte query na tabela Lista_de_Alunos:
SELECT Nome, Curso

FROM Lista_de_Alunos
WHERE Curso = BCC;
Teremos a seguinte tabela-resultado:

Curso
Nome
Marcos Scheide

BCC

Luiz Pereira

BCC

Marcelo Tizziane

BCC

Tabela3
O nome do curso BCC deve ser digitado entre apstrofes na query, pois uma seqncia de caracteres (se fosse
nmero no usaria). Alm disso, deve ser digitado da maneira que se encontra na tabela. Se voc digitasse Bcc,
no seria retornada nenhuma linha da tabela, pois a query diferencia letras maisculas de minsculas.
Na clusula WHERE, no necessrio citar somente colunas que apaream na clusula SELECT. A query anterior
funcionaria do mesmo modo se fosse digitada assim:
SELECT Nome
FROM Lista_de_Alunos
WHERE Curso = BCC;
Porm no seria exibida a coluna Curso:

Nome
Marcos Scheide
Luiz Pereira
Marcelo Tizziane

Você também pode gostar