Вы находитесь на странице: 1из 10

Nomes:

cio Martins, Kelven Bragoa, Maureem Sampaio, Vnia Ferreira

7 Grupo

Linguagens de Consulta de Base de Dados

UNIVERSIDADE ZAMBEZE
Faculdade de Cincias e Tecnologia

Base de Dados I

O presente trabalho tem como tema


Linguagens de consulta de base de dados,
por orientao do docente Eng. Alcamate
Daial Doss

Docente:
Eng. Alcamate Daial Doss

Beira, Abril de 2017


ndice
Introduo ......................................................................................................................... 1
Objectivo Geral................................................................................................................. 1
Estrutura bsica................................................................................................................. 2
Funes Agregadas ........................................................................................................... 3
Subconsultas Aninhadas ................................................................................................... 4
Vises ............................................................................................................................... 6
Insero ............................................................................................................................. 7
Actualizao ..................................................................................................................... 7
Concluso ......................................................................................................................... 8
Introduo

Neste presente trabalho iremos abordar assuntos relacionados com a linguagem de


consulta de base de dados, propriamente a estrutura bsica, funes agregadas,
subconsultas aninhadas, vises, insero e actualizao. Iremos aprofundar cada ponto da
nossa pesquisa mencionando cada caracteristica de modo a facilitar a compreenso.

Objectivo Geral

Fazer conhecer as expresses bsicas em SQL(Select, From, Where);


Fazer conhecer as funes agregadas em SQL;
Conhecer o uso das expresses bsicas de forma aninhada ou subconsulta
aninhadas;
Vises, insero e atualizaes;

1
Estrutura bsica

Uma expresso bsica em SQL consiste em trs clusulas: select, from e where.

A clusula SELECT corresponde operao de projeo da lgebra relacional. usada


para relacionar os atributos desejados no resultado de uma consulta. O resultado de uma
consulta SQL , obviamente, uma relao. SQL permite duplicidades nas tuplas de
resposta.Quando desejamos forar a eliminao de duplicidade, podemos inserir a palavra
chave DISTINCT depois de SELECT. Para especificar explicitamente que as
duplicidades no sero eliminadas a SQL nos permite usar a palavra-chave all depois de
select. Uma vez que a manuteno de duplicidade padro, o uso de all facultativo. O
asterisco * pode ser usado para denotar todos os atributos.

A clusula FROM corresponde operao de produto cartesiano da lgebra relacional.


Ela associa as relaes que sero pesquisadas durante a avaliao de uma expresso.

A clusula WHERE corresponde seleo do predicado da lgebra relacional. Consiste


em um predicado envolvendo atributos da relao que aparece na clusula FROM. A
clusula where pode conter expresses aritmticas envolvendo os operadores de
comparao <, <=, >, >=, = e < >, e operandos constantes ou atributos das tuplas. Em
SQL, nessa clusula pode-se usar os conectores lgicos AND, OR e NOT; SQL possui o
operador de comparao BETWEEN AND para simplificar a clusula where que
especifica que um valor pode ser menor ou igual a algum valor e maior ou igual a algum
outro valor.

Uma consulta tpica em SQL tem a forma:

select A1, A2, ..., An

from r , r , ..., r
1 2 n

where P

2
Cada Ai representa um atributo e cada r , uma relao. P um predicado a ser satisfeito.
i

Esta consulta equivale seguinte expresso em AR:

A , A , ..., A ( p (r x r x ... r ))
1 2 n 1 2 m

A SQL forma um produto cartesiano das relaes indicadas na clusula FROM, executa
uma seleo em AR usando o predicado da clusula WHERE e, ento, projeta o resultado
nos atributos da clusula SELECT. Na prtica, ela pode converter em outra expresso
equivalente que seja mais eficiente no processamento.

Funes Agregadas

Funes que tomam uma coleo (um conjunto ou subconjunto) de valores como entrada,
retornando um nico valor.

Funes ofertadas pela SQL:

Sum: soma/total

avg: mdia

count: contagem

Min: mnimo

Max: Maximo

A entrada para sum e avg precisa, obrigatoriamente, ser um conjunto de nmeros, mas
as demais operaes no impem esta restrio.

Exemplo:

select A , A , ..., A
1 2 n

from r , r , ..., r
1 2 n

where P

group by A1;

3
Por vezes, precisamos aplicar uma funo agregada no apenas a um conjunto de tuplas,
mas tambm a um grupo de conjunto de tuplas. Isto feito por meio da clusula group by
(onde os seus atributos so utilizados para formar os grupos).

Em outros casos, pode ser mais interessante definir condies e aplic-las a grupos do
que aplic-las a tuplas. Isto feito pela clusula having. Como os predicados da clusula
so aplicados aps a formao dos grupos, funes agregadas podem ser usadas.

select A , A , ..., A
1 2 n

from r , r , ..., r
1 2 n

where P

group by A 1

having <funo agregada>;

Subconsultas Aninhadas

Uma expresso select-from-where aninhada dentro de outra consulta considerada uma


subconsulta.

Aplicaes: Membros de Conjuntos; Verificar se uma tupla membro ou no de uma


relao. O conectivo in testa os membros de um conjunto, no qual este conjunto a
coleo de valores produzidos na clsula select.

select A , A , ..., A
1 2 n

from r , r , ..., r
1 2 n

where P in (select A , A , ..., A 1 2 n

from r , r , ..., r
1 2 n

where P);

4
Comparaes de Conjuntos

Permite usar comparaes do tipo > some (maior que ao menos uma), <= some, = some,
etc... ou > all (maior que todas), >= all, etc.

select A , A , ..., A
1 2 n

from r , r , ..., r
1 2 n

where P > all (select A , A , ..., A 1 2 n

from r , r , ..., r
1 2 n

where P);

Verificao de relaes vazias

Pode-se testar se o resultado de uma subconsulta vazio. O construtor exists retorna o


valor true se o argumento da subconsulta no-vazio.

select A , A , ..., A
1 2 n

from r , r , ..., r
1 2 n

where P exists (select A , A , ..., A 1 2 n

from r , r , ..., r
1 2 n

where P);

5
Vises

Uma viso qualquer relao que no faz parte do modelo lgico do banco de dados, mas
que visvel ao usurio, como uma relao virtual. O conjunto de tuplas de uma relao
viso resultado de uma expresso de consulta que foi definido no momento de sua
execuo. Logo, se uma relao viso computada e armazenada, esta pode tornar-se
desatualizada se as relaes usadas em sua gerao sofrerem modificaes. Quando uma
viso definida, o sistema de banco de dados armazena sua definio ao invs do
resultado da expresso SQL que a definiu. Sempre que a relao viso usada, ela
sobreposta pela expresso da consulta armazenada, de maneira que, sempre que a consulta
for solicitada, a relao viso ser recomputada. Alguns sistemas de banco de dados
permitem que as relaes de vises sejam materializadas, garantindo que se ocorrerem
modificaes nas relaes reais usadas na definio da viso, tambm a viso ser
modificada. Contudo, esta abordagem pode incorrer em custos de armazenamento e
atualizaes de sistema.

As vises em SQL so geradas a partir do comando create view. A clusula padro :

CREATE VIEW <nome da viso> AS <expresso de consulta>;

Caso no necessitemos mais de uma dada viso, podemos elimin-la por meio do
comando:

DROP VIEW <nome da viso>;

Modificaes no Banco de Dados por meio de SQL.

6
Insero

O comando INSERT utilizado para adicionar uma nica tupla a uma relao. Para
inserirmos dados em uma relao devemos especificar a relao e uma lista de valores
para a tupla a ser inserida. Obs.: Os valores devem ser inseridos na mesma ordem na qual
os atributos correspondentes foram especificados na criao da tabela de dados.

A clusula padro :

INSERT INTO <relao>

VALUES <lista com valores dos atributos>

Actualizao

O comando UPDATE utilizado para modificar valores de atributos de uma ou mais


tuplas selecionadas. As atualizaes servem para modificar valores de tuplas que esto
inseridas em um certo critrio. Para tal usa-se o comando update. A clusula padro :

UPDATE <relao>

SET <lista dos atributos a serem alterados e seus respectivos valores>

WHERE <condio>

7
Concluso

Com o presente trabalho conclumos que expresses bsicas em SQL consistem em trs
clusulas: select, from e where. Com elas as Funes que tomam uma coleo (um
conjunto ou subconjunto) de valores como entrada, retornando um nico valor,
designamos de funes agregadas. Tambm vimos que uma expresso select-from-where
aninhada dentro de outra consulta considerada uma subconsulta. Tambm vimos que o
comando INSERT utilizado para adicionar uma nica tupla a uma relao. Viso
qualquer relao que no faz parte do modelo lgico do banco de dados, mas que visvel
ao usurio, como uma relao virtual.

Вам также может понравиться