Você está na página 1de 3

Universidade Federal de Mato Grosso do Sul

o e Estat Departamento de Computac a stica Banco de Dados 1

Notas de aula
(Aula do dia 31 de maio)

A Linguagem SQL

Nas se co es anteriores, discutiu-se as opera co es da a lgebra relacional (e do c alculo relacional de tuplas e de dom nios). O aprendizado dessas opera co es e de fundamental import ancia para a compreens ao dos tipos de consultas que podem ser realizadas sobre uma base de dados relacional. Apesar disso, as opera co es da a lgebra relacional s ao consideradas t ecnicas (formais) demais para a maioria dos usu arios de SGBDs comerciais. Essa desvantagem associada a `s opera co es da a lgebra relacional deu origem a uma outra linguagem de consulta, denominada SQL. Acr onimo de Structured Query Language (linguagem estruturada de consulta), a SQL inclui algumas caracter sticas da a lgebra relacional, mas boa parte dela basea-se no c alculo relacional de tuplas. Como essa u ltima, uma consulta expressa em SQL deixa claro o que deve ser recuperado, e n ao como a recupera ca o deve ser feita. Vale notar tamb em que 1 2 a SQL e tanto uma DDL quanto uma DML . Ou seja, ela possui tanto instru co es para deni ca o de uma base de dados quanto para atualiza ca o e busca em bases desse tipo. Nesta se ca o, daremos enfase a `s instru co es da linguagem que permitem a busca por certas tuplas (e atributos) da base de dados.

1.1

Consultas b asicas em SQL

A SQL possui um senten ca b asica para a recupera ca o de informa co es em uma base de dados: a senten ca SELECT3 .

1.1.1

A estrutura SELECT-FROM-WHERE das consultas em SQL

A senten ca SELECT e composta basicamente de tr es cl ausulas: SELECT, FROM e WHERE. A cl ausula SELECT corresponde a ` opera ca o de proje ca o da a lgebra relacional. Em outras palavras, ela e utilizada para relacionar os atributos desejados no resultado de uma consulta. O resultado de uma consulta em SQL, assim como na a lgebra relacional, e uma rela ca o. E importante observar por em que tabelas resultantes de consultas em SQL podem
1 2

Esqueceu o que e uma DDL? Volte para a aula do dia 3 de mar co. Esqueceu o que e uma DML tamb em? Volte para a aula do dia 3 de mar co. 3 Vale notar que essa senten ca n ao possui nenhuma rela ca o com a opera ca o de sele ca o da a lgebra relacional

incluir duas tuplas id enticas. Para que as duplicidades sejam eliminadas, e preciso inserir a palavra DISTINCT ap os o SELECT. A cl ausula FROM corresponde a ` opera ca o de produto cartesiano da a lgebra relacional. Ela associa as rela co es que ser ao pesquisadas durante a avaliaa ca o de uma consulta. A cl ausula WHERE corresponde a ` opera ca o de sele ca o da a lgebra relacional. Ela consiste de um predicado envolvendo atributos das rela co es que aparecem na cl ausula FROM. Uma consulta t pica em SQL tem o seguinte formato: SELECT FROM WHERE onde: <Lista de atributos> e uma lista de nomes de atributos cujos valores s ao recuperados pela consulta. O asterisco * pode ser usado para denotar todos os atributos. <Lista de tabelas> e uma lista de nomes de tabelas necess arias ao processamento da consulta; <condi ca o> e uma express ao condicional que identica as tuplas a serem recuperadas pela consulta. Assim, considerando o esquema de rela ca o abaixo, FUNCIONARIO NomeFunc CPF DataNasc NumDep CPFSuper Salario <lista de atributos> <lista de tabelas> <condi ca o>;

DEPARTAMENTO NomeDep PROJETO NomeProj NumProj Custo NumDepto Numero Gerente InicioGer

TRABALHA NO CPFFunc ProjNum Horas

DEPENDENTE CPFDep NomeDepen DataNasc Parentesco

temos que a consulta SELECT FROM WHERE DataNasc, NumDep FUNCIONARIO NomeFunc = Jos e;

devolve a data de nascimento e n umero do departamento onde trabalham todos os funcion arios que se chamam Jos e 4.

Note aqui a possibilidade da tabelas resultante incluir duas ou mais tuplas id enticas.

Você também pode gostar