Upload
fabio-souza
View
215
Download
0
Embed Size (px)
DESCRIPTION
c
Citation preview
SQL - Structured Query Language
SQL - Structured Query Language
1 Viso Geral de um Banco de Dados RelacionalTodos 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 SQLSQL 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 Queries3.1 Elementos Bsicos de uma Query: As Clusulas SELECT e FROMPor 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:
Nome TermoCursoR.A. Ano Entrada
Marcos Scheide 1 BCC 01.0894.4 2001
Luiz Pereira 1 BCC 01.0670.5 2001
Marcelo Tizziane 3 BCC 01.0678.2 2000
Jos da Silva 5 BSI 99.4562.7 1999
Tabela1Se aplicarmos a seguinte SQL:
SELECT Nome, Termo, Curso
FROM Lista_de_Alunos
Teremos a seguinte tabela-resultado:
Nome TermoCurso
Marcos Scheide 1 BCC
Luiz Pereira 1 BCC
Marcelo Tizziane 3 BCC
Jos da Silva 5 BSI
Tabela2Resumidamente, 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 WHEREA 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:
Nome Curso
Marcos Scheide BCC
Luiz Pereira BCC
Marcelo Tizziane BCC
Tabela3O 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