Você está na página 1de 23

INSTITUTO DE EXATAS E TECNOLGICAS

Curso de Cincia da Computao

BANCO DE DADOS
aula 6 lgebra relacional -

professor: Juliano Varella de Carvalho

5.1. lgebra Relacional relaes de exemplo


conta

agencia

nome_agencia

numero_conta

saldo

nome_agencia

cidade_agencia

saldo

SAL-1

0001

1200

NOH-1

Novo Hamburgo

260050

SAL-1

0002

3000

SAL-1

So Leopoldo

455580

NOH-1

0003

4500

POA-1

Porto Alegre

1250369

POA-1

0004

4000

SAL-2

So Leopoldo

125588

POA-1

0005

1500

depositante

NOH-1

0006

200

nome_cliente

numero_conta

SAL-2

0007

3750

Joo

0001

SAL-2

0008

1800

Pedro

0002

Francisco

0003

Maria

0004

Paulo

0007

Jos

0006

Ana

0005

cliente
nome

rua

cidade

Joo

Getlio Vargas

So Leopoldo

Pedro

Getlio Vargas

So Leopoldo

Francisco

Olavo Bilac

Novo Hamburgo

devedor

Maria

Joo Pessoa

Porto Alegre

nome_cliente

num_emprestimo

Paulo

Ceclia Meireles

So Leopoldo

Joo

E-001

Jos

Joo Goulart

Novo Hamburgo

Ana

E-005

Ana

Assis Brasil

Porto alegre

Helena

E-008

Beatriz

Floriano Peixoto

Novo Hamburgo

emprestimo
nome_agencia

num_emprestimo

total

SAL-1

E-001

40000

POA-1

E-005

25400

NOH-1

E-008

5420

5.2. lgebra Relacional conceitos


Linguagens de Consulta: linguagem por meio da qual os usurios obtm informaes
do banco de dados. Podem ser:
- procedurais: o usurio descreve uma seqncia de operaes para obter o
resultado desejado; Ex: pascal, pl-sql, transact-sql, etc.
- no procedurais: o usurio descreve a informao desejada, sem instruir como
esta ser obtida. Ex: sql, QBE (Query by example), etc.
lgebra Relacional: linguagem de consulta que consiste em um conjunto de operaes,
tendo como entrada uma ou duas relaes e produzindo como resultado uma nova relao.
Operaes mais importantes:
-

select;
project;
Union;
namely
natural join
assignment;

set difference;
cartesian product;
rename;
set intersection;
division;

- Operaes primrias: operam sobre uma nica relao: select, project, rename.
- Operaes binrias: operam sobre duas relaes: union, set difference, cartesian
product.

5.3. lgebra Relacional operaes fundamentais


Operao SELECT: seleciona as tuplas que satisfaam um determinado predicado. A letra
sigma representa a seleo, o predicado aparece subscrito a sigma, e a relao utilizada
colocada entre parnteses.
Ex: nome_agencia = SAL-1(conta) : seleciona as tuplas da relao conta cuja agncia igual
a SAL-1.

O resultado da seleo

nome_agencia

numero_conta

saldo

SAL-1

0001

1200

SAL-1

0002

3000

- podem ser usados comparaes do tipo: =,,,>,,< e os conectivos: (e) (ou)


Operao PROJECT: denotada pela letra grega pi (), esta operao retorna a relao com
somente os atributos selecionados, eliminando as linhas em duplicidade. Os atributos aparecem
ao lado de pi, subscrito, e a relao aparece entre parnteses.

Ex: nome_agncia,saldo(agencia)
nome_agencia

cidade_agencia

saldo

NOH-1

Novo Hamburgo

260050

SAL-1

So Leopoldo

455580

POA-1

Porto Alegre

1250369

SAL-2

So Leopoldo

125588

agencia
nome_agencia

saldo

NOH-1

260050

SAL-1

455580

POA-1

1250369

SAL-2

125588

5.3. lgebra Relacional operaes fundamentais


- Juntando operaes SELECT E PROJECT: pode-se unir operaes desde que elas tratem de
relaes.
nome_agencia,saldo(nome_agencia = SAL-1(conta) )
conta

nome_agencia

numero_conta

saldo

nome_agencia

numero_conta

saldo

nome_agencia

saldo

SAL-1

0001

1200

SAL-1

0001

1200

SAL-1

1200

SAL-1

0002

3000

SAL-1

0002

3000

SAL-1

3000

NOH-1

0003

4500

POA-1

0004

4000

POA-1

0005

1500

NOH-1

0006

200

SAL-2

0007

3750

Operao UNION: considere a seguinte consulta: selecionar todos os nomes de clientes


que tenham um emprstimo, uma conta ou ambos. Deve-se utilizar as relaes
depositante e devedor.

nome_cliente(devedor) nome_cliente(depositante)

nome_cliente
Joo
Pedro
Francisco

(depositante)

Maria
Paulo

(esto nas 2 relaes)


(devedor)

Jos
Ana
Helena

5.3. lgebra Relacional operaes fundamentais


- Uma operao UNION entre duas relaes r e s s possvel se:
i. as relaes r e s tm o mesmo nmero de atributos;
ii. os domnios dos i-simo atributo de r e o i-simo atributo de s devem ser os
mesmos para todo i.
Operao Diferena entre conjuntos: sendo r e s duas relaes, r-s tem como
resultado o conjunto de tuplas que esto na relao r, mas no encontram-se na relao
s.
- Ex: selecionar todos os clientes que tem conta mas no tem emprstimo.
nome_cliente(depositante) - nome_cliente(devedor)

nome_cliente
Joo
Pedro

Linhas eliminadas

Clientes com contas


Mas sem emprstimos

Francisco
Maria
Paulo
Jos
Ana

5.4. lgebra Relacional operaes adicionais


Operao de Interseo de conjuntos: captura todas as tuplas que encontram-se em uma
relao r, e que tambm encontram-se na relao s.
- Ex: Selecionar os nomes de clientes que possuem uma conta e um emprstimo.

nome_cliente(devedor) nome_cliente(depositante)
devedor

depositante
nome_cliente

numero_conta

Joo

0001

nome_client
e
Joo

Pedro

0002

Ana

Francisco

0003

Maria

0004

Paulo

0007

Jos

0006

Ana

0005

r s = r (r - s)

s
r-s

r (r - s)

nome_client
e
Joo

num_emprestimo

Ana

E-005

Helena

E-008

E-001

5.3. lgebra Relacional operaes fundamentais


Operao Produto Cartesiano: permite combinar informaes de duas relaes quaisquer. Representado
por r x s.
Ex: Qual o produto cartesiano entre as relaes devedor e emprestimo.
(devedor)x(emprestimo) = (nome_cliente, num_emprestimo, nome_agencia, num_emprestimo,
total)
Obs: Para evitar o problema da duplicidade de nomes de atributos insere-se o nome da relao
antes do atributo:
total)

(nome_cliente, devedor.num_emprestimo, nome_agencia, emprestimo.num_emprestimo,

- Quantas e quais tuplas aparecero na relao (devedor x emprestimo) ?


Se a relao (devedor) possui n tuplas e a relao emprstimo tem m tuplas, ento o produto
cartesiano (devedor x emprstimo) tem n*m tuplas.
devedor x emprestimo
nome_cliente

devedor.num_emprestimo

nome_agencia

emprestimo.num_emprestimo

total

Joo

E-001

SAL-1

E-001

40000

Joo

E-001

POA-1

E-005

25400

Joo

E-001

NOH-1

E-008

5420

Ana

E-005

SAL-1

E-001

40000

Ana

E-005

POA-1

E-005

25400

Ana

E-005

NOH-1

E-008

5420

Helena

E-008

SAL-1

E-001

40000

Helena

E-008

POA-1

E-005

25400

Helena

E-008

NOH-1

E-008

5420

5.3. lgebra Relacional operaes fundamentais


- Agora, deve-se encontrar todos os nomes de clientes que tenham um emprstimo na
agncia SAL-1, atravs da operao:
nome_agncia = SAL-1(devedor x emprestimo)

Apenas Joo fez emprstimo em SAL-1.


nome_client
e
Joo

devedor.num_emprestimo

nome_agencia

emprestimo.nm_emprestimo

total

E-001

SAL-1

E-001

40000

Ana

E-005

SAL-1

E-001

40000

Helena

E-008

SAL-1

E-001

40000

OPS !!!
Obs: Como a operao produto cartesiano associa todas as tuplas de emprstimos a todas as
tuplas de devedor, ento existem emprstimos que esto relacionados erroneamente a alguns
clientes. Para contornar este problema, devemos exigir que o atributo devedor.num_emprestimo
seja igual ao atributo emprestimo.num_emprestimo.
- Assim temos:
devedor.num_emprestimo = emprestimo.num_emprestimo (nome_agncia = SAL-1 (devedor x emprstimo))
nome_client
e
Joo

devedor.num_emprestimo

nome_agencia

emprestimo.num_emprestimo

total

E-001

SAL-1

E-001

40000

nome_cliente(devedor.num_emprestimo = emprestimo.num_emprestimo (nome_agncia = SAL-1 (devedor x emprstimo)))


nome_client
e
Joo

5.3. lgebra Relacional operaes fundamentais


Operao Rename: representado pela letra grega rho (),
permite dar um nome a uma determinada expresso.
Assim, a expresso em lgebra relacional E abaixo tem por
resultado uma expresso sob o nome x.

x(E)
Ex: Desejamos o nome dos clientes que moram na mesma cidade
de Francisco.

cliente
nome_cliente

rua_cliente

cidade_cliente

Joo

Getlio Vargas

So Leopoldo

Pedro

Getlio Vargas

So Leopoldo

Francisco

Olavo Bilac

Novo Hamburgo

Maria

Joo Pessoa

Porto Alegre

Paulo

Ceclia Meireles

So Leopoldo

Jos

Joo Goulart

Novo Hamburgo

Ana

Assis Brasil

Porto alegre

Beatriz

Floriano Peixoto

Novo Hamburgo

nome_cliente

rua_cliente

cidade_cliente

Francisco

Olavo Bilac

Novo Hamburgo

Primeiro, necessrio descobrir em qual cidade Francisco mora,


fazendo uma seleo:
nome_cliente = Francisco(cliente),
E depois uma projeo:
cidade_cliente(nome_cliente = Francisco(cliente))
Para encontrar os outros clientes, necessrio fazer uma
varredura na relao cliente, comparando o atributo
cidade_cliente com o atributo da relao obtida aps a
projeo anterior, ficando assim:

cidade_cliente
Novo Hamburgo

nome_cliente

rua_cliente

cidade_cliente

cidade_cliente

Joo

Getlio Vargas

So Leopoldo

Novo Hamburgo

Pedro

Getlio Vargas

So Leopoldo

Novo Hamburgo

Francisco

Olavo Bilac

Novo Hamburgo

Novo Hamburgo

Maria

Joo Pessoa

Porto Alegre

Novo Hamburgo

Paulo

Ceclia Meireles

So Leopoldo

Novo Hamburgo

Jos

Joo Goulart

Novo Hamburgo

Novo Hamburgo

Ana

Assis Brasil

Porto alegre

Novo Hamburgo

Beatriz

Floriano Peixoto

Novo Hamburgo

Novo Hamburgo

nome_cliente

nome_cliente(cliente.cidade_cliente = cid_francisco.cidade_cliente
(cliente x

cid_francisco(

(nome_cliente = Francisco(cliente)))))

cidade_cliente

Francisco
Jos
Beatriz

5.4. lgebra Relacional operaes adicionais


Operao de Juno Natural: a juno natural ou natural join uma operao binria que permite
combinar selees e um produto cartesiano em uma s operao.
- Ex: encontrar todos os nomes de clientes que tenham um emprstimo no banco, bem como o total
emprestado.
Utilizando apenas as operaes fundamentais, poderia ser resolvido assim:

nome_cliente, emprestimo.num_emprestimo, total(

devedor.num_emprestimo = emprestimo.num_emprestimo

(devedor x emprestimo))

No entanto, possvel simplificar esta operao utilizando o smbolo da juno natural:


A juno natural forma um produto cartesiano das duas relaes, e j executa uma seleo, fazendo a
equivalncia dos atributos que aparecem em ambos os esquemas da relao, e por ltimo, remove os
atributos em duplicidade.

nome_cliente, num_emprestimo total(devedor

nome_client
e
Joo

num_emprestimo

total

E-001

40000

Ana

E-005

25400

Helena

E-008

5420

emprstimo)

5.4. lgebra Relacional operaes adicionais


Formalizando: Sendo R e S dois esquemas de relao, ou seja, uma lista de atributos e r(R) e s(S) duas
relaes, a juno natural de r e s (r
s ) uma relao formalmente definida assim:

s=

r.A1=s.A1 r.A2=s.A2... r.An=s.An(r x s))

RS(

Em que R S = {A1,A2,...,An}
Propriedades:
- a juno natural associativa, portanto:
cliente

conta

depositante = (cliente

conta)

depositante = cliente

- se r(R) e s(S) so relaes sem atributos comuns, ento r

s=rxs

(conta

depositante)

5.4. lgebra Relacional operaes adicionais


Operao de Diviso: a diviso de duas relaes R S, onde os atributos de S esto contidos nos
atributos de R, A(R) A(S), resulta na relao T, onde A(T) = { A(R) A(S) }, onde para cada tupla
t que aparece no resultado, os valores de t devem aparecer em R, combinando com cada tupla de S.
Esta operao utilizada nas consultas em que se emprega a frase para todos;

A1

A1

A2

a1

a1

b1

a2

a2

b1

a3

a3

b1

a4

b1

a1

b2

a3

b2

a2

b3

a3

b3

a4

b3

a1

b4

a2

b4

a3

b4

A2
b1
b4

5.4. lgebra Relacional operaes adicionais


- Ex: encontrar todos os clientes que tenham conta em todas as agncias localizadas em
So Leopoldo.
conta

depositante

agencia

nome_agencia

numero_conta

saldo

nome_agencia

cidade_agencia

saldo

nome_cliente

numero_conta

SAL-1

0001

1200

NOH-1

Novo Hamburgo

260050

Joo

0001

SAL-1

0002

3000

SAL-1

So Leopoldo

455580

Pedro

0002

NOH-1

0003

4500

POA-1

Porto Alegre

1250369

Francisco

0003

POA-1

0004

4000

SAL-2

So Leopoldo

125588

Maria

0004

POA-1

0005

1500

Paulo

0007

NOH-1

0006

200

Jos

0006

SAL-2

0007

3750

Ana

0005

SAL-2

0008

1800

Joo

0008

nome_agencia(cidade_agencia = So Leopoldo(agencia))
nome_agncia

cidade_agncia

saldo

nome_agncia

SAL-1

So Leopoldo

455580

SAL-1

SAL-2

So Leopoldo

125588

SAL-2

nome_cliente, nome_agencia(depositante

conta)

nome_cliente

nome_agencia

Joo

SAL-1

Pedro

SAL-1

Francisco

NOH-1

Maria

POA-1

Paulo

SAL-2

Jos

NOH-1

Ana

POA-1

Joo

SAL-2

nome_cliente, nome_agencia(depositante

conta)

nome_agencia(cidade_agencia = So Leopoldo(agencia))

nome_cliente
Joo

5.4. lgebra Relacional operaes adicionais


Operao de Atribuio (Assignment Operation): trabalha de maneira similar atribuio das
linguagens de programao. Representada por
- Atribui-se a relao resultante de uma operao direita de , a uma varivel temporria,
esquerda, a qual poder ser utilizada em relaes subseqentes.
- Ex: operao de diviso anterior poderia ser descrita como:
temp1

nome_agencia(cidade_agencia = So Leopoldo(agencia))

temp2

nome_cliente, nome_agencia(depositante

resultado temp2 temp1

conta)

5.5. lgebra Relacional operaes estendidas


Projeo generalizada: estendem as projees, permitindo que operaes aritmticas sejam
usadas nas projees.

(E)

F1, F2, ..., Fn

Onde E uma expresso em lgebra relacional e cada Fi so expresses aritmticas envolvendo


constantes e atributos no esquema de E.
- Ex: Dada a relao crdito, descobrir quanto cada cliente ainda pode utilizar
do seu crdito pessoal.

(credito)

nome_cliente, limite_credito credito_usado

credito
nome_cliente

limite_credito

credito_usado

nome_cliente

Jos

4000

2200

Jos

1800

Ana

3200

100

Ana

3100

Pedro

1200

1500

Pedro

-300

Maria

5800

5000

Maria

800

Flvia

3600

3600

Flvia

limite_credito - credito_usado

5.5. lgebra Relacional operaes estendidas


Juno externa (outer join): extenso da operao de join para resolver informaes omitidas.
- Ex: Dadas as relaes a seguir com os seguintes esquemas:
empregado(nome_empregado, rua, cidade)
trabalhador_integral(nome_empregado, nome_agencia, salario)
trabalhador_integral

empregado
nome_empregado

rua

cidade

nome_empregado

nome_agencia

salario

Jos

Joo Goulart

Novo Hamburgo

Jos

NOH-1

5000

Ana

Assis Brasil

Porto Alegre

Ana

POA-1

4800

Pedro

Getlio Vargas

So Leopoldo

Flvia

SAL-1

3200

Maria

Joo Pessoa

Porto Alegre

Maria

POA-1

6500

Descobrir a rua, cidade, agncia e salrio de todos os empregados.


Alternativa natural fazer uma seleo com uma juno natural:

nome_empregado, rua, cidade, nome_agencia, salario(empregado

trabalhador_integral)

nome_empregado

rua

cidade

nome_agencia

salario

Jos

Joo Goulart

Novo Hamburgo

NOH-1

5000

Ana

Assis Brasil

Porto Alegre

POA-1

4800

Maria

Joo Pessoa

Porto Alegre

POA-1

6500

problema: os dados de rua e cidade do empregado Pedro foram perdidos, bem como os dados de agncia
e salrio foram perdidos da empregada Flvia.
soluo: utilizar as operaes de junes externas para evitar perda de informaes, que podem ser:

5.5. lgebra Relacional operaes estendidas


Juno externa a esquerda
empregado

trabalhador_integral

nome_empregado

rua

cidade

nome_agencia

salario

Jos

Joo Goulart

Novo Hamburgo

NOH-1

5000

Ana

Assis Brasil

Porto Alegre

POA-1

4800

Maria

Joo Pessoa

Porto Alegre

POA-1

6500

Pedro

Getlio Vargas

So Leopoldo

Nulo

Nulo

A juno esquerda pega todas as tuplas


da relao esquerda que no encontraram
par entre as tuplas da relao direita,
preenchendo com nulo os valores no
encontrados. Estas tuplas so adicionadas
ao resultado da juno natural.

Juno externa a direita


empregado

trabalhador_integral

nome_empregado

rua

cidade

nome_agencia

salario

Jos

Joo Goulart

Novo Hamburgo

NOH-1

5000

Ana

Assis Brasil

Porto Alegre

POA-1

4800

Maria

Joo Pessoa

Porto Alegre

POA-1

6500

Flvia

Nulo

Nulo

SAL-1

3200

A juno direita pega todas as tuplas da


relao direita que no encontraram par
entre as tuplas da relao esquerda,
preenchendo com nulo os valores no
encontrados. Estas tuplas so adicionadas
ao resultado da juno natural.

Juno externa total


empregado

trabalhador_integral

nome_empregado

rua

cidade

nome_agencia

salario

Jos

Joo Goulart

Novo Hamburgo

NOH-1

5000

Ana

Assis Brasil

Porto Alegre

POA-1

4800

Maria

Joo Pessoa

Porto Alegre

POA-1

6500

Pedro

Getlio Vargas

So Leopoldo

Nulo

Nulo

Flvia

Nulo

Nulo

SAL-1

3200

A juno externa total faz ambas operaes


acima.

5.5. lgebra Relacional operaes estendidas


Funes agregadas: so aquelas que, quando aplicadas, tomam uma coleo de valores e
retornam um valor simples como resultado.
trabalhador_integral

- funo sum: descobrir a soma total dos salrios de


todos os empregados de tempo integral.
sum

(trabalhador_integral)

salario

sum salario

nome_empregado

nome_agencia

salario

Jos

NOH-1

5000

Ana

POA-1

4800

Flvia

SAL-1

3200

Maria

POA-1

6500

14505

-funo count: descobrir o nmero de agncias existentes


na tabela de tempo integral.
count

nome_agencia

count-distinct

count nome_agencia

(trabalhador_integral)

nome_agencia

count-distinct nome_agencia

(trabalhador_integral)

- funo avg: descobrir a mdia dos salrios.


avg

salario

(trabalhador_integral)

avg salario
3626.25

- funo min: descobrir o menor salrio.


min

salario

(trabalhador_integral)

- funo max: descobrir o maior salrio.


max

salario

(trabalhador_integral)

min salario
3200

max salario
6500

5.5. lgebra Relacional operaes estendidas


Em alguns casos, aplicam-se as funes agregadas no somente a um nico conjunto de tuplas, mas a
diversos grupos, onde cada grupo um conjunto de tuplas. Isto realizado atravs da operao
chamada agrupamento.

trabalhador_integral

Ex: descobrir a soma total dos salrios dos empregados


de tempo integral, por agncia.
soluo: particionar a relao trabalhador_integral em
grupos, com base na agncia as quais os empregados fazem parte e,
por fim aplicar a funo agregada a cada um destes grupos.

nome_agencia

g sum

salario

(trabalhador_integral)

nome_agencia

g sum

salario

min

nome_empregado

nome_agencia

salario

Jos

NOH-1

5000

Ana

POA-1

4800

Flvia

SAL-1

3200

Maria

POA-1

6500

Fernando

POA-1

4000

Beatriz

SAL-1

1000

Bruno

NOH-1

3000

salario

(trabalhador_integral)

nome_agencia

sum salario

nome_agencia

sum salario

min salario

NOH-1

8000

NOH-1

8000

3000

POA-1

15300

POA-1

15300

4000

SAL-1

4200

SAL-1

4200

1000

- Formalmente:

G1, G2, ..., Gn

g F1A1, F2A2, FmAm (E), onde:

E: uma expresso qualquer em lgebra relacional;


Cada Gi constitui um atributo que ser agrupado;
Cada Fi uma funo agregada;
Cada Ai o nome de um abtributo;

5.5. lgebra Relacional modificaes no BD


excluso: permite a excluso de tuplas inteiras de uma relao. expressa por:
r r E, onde:
r: uma relao;
E: uma consulta em lgebra relacional
Ex: excluir todos as contas do cliente Joo.
conta conta -

nome_cliente = Joo

(conta)

Ex: excluir todas as contas das agncias localizadas em So Leopoldo.


r1

cidade_agencia = So Leopoldo

r2

nome_agencia, numero_conta, saldo

conta conta r2

(conta
(r1)

agencia)

5.5. lgebra Relacional modificaes no BD

conta

insero: permite a insero de um conjunto de tuplas em uma relao.


expressa por: r r E, onde r uma relao e E: uma consulta
em lgebra relacional
Obs:
i. os valores dos atributos das tuplas a inserir devem ser membros
do domnio dos atributos;

nome_agencia

numero_conta

saldo

SAL-1

0001

1200

SAL-1

0002

3000

NOH-1

0003

4500

POA-1

0004

4000

POA-1

0005

1500

NOH-1

0006

200

SAL-2

0007

3750

SAL-2

0008

1800

ii. As tuplas inseridas devem ter o mesmo grau da relao.

depositante
nome_cliente

numero_conta

Ex: inserir que o cliente Saulo tem 3800 na conta 010 da agncia NOH-1.

Joo

0001

Pedro

0002

Francisco

0003

Maria

0004

Paulo

0007

Jos

0006

Ana

0005

conta conta {(NOH-1, 010, 3800)}


depositante depositante {(Saulo, 010)}
Ex: inserir uma nova caderneta de poupana de 100 reais para
todos os clientes da agncia SAL-1, sendo o nmero do emprstimo o mesmo

devedor

nmero usado para esta conta poupana.


r1

cidade_agencia = SAL-1 (devedor

r2

nome_agencia, num_emprestimo (r1)

emprestimo)

conta conta (r2 x {(100)})


depositante depositante

nome_cliente, num_emprestimo (r1)

nome_client
e
Joo

num_emprestimo

Ana

E-005

Helena

E-008

E-001

emprestimo
nome_agencia

total

SAL-1

num_emprestim
o
E-001

POA-1

E-005

25400

NOH-1

E-008

5420

40000

5.5. lgebra Relacional modificaes no BD


atualizao: permite a mudana de uma tupla sem mudar todos os valores dela. Para isso usa-se o
operador de projeo generalizada:

r
F1, F2, ..., Fn (r), em que cada Fi o i-simo atributo de r se o i-simo atributo no for atualizado,
ou, se o i-simo atributo for atualizado, ento cada Fi uma expresso envolvendo somente constantes e os
atributos de r, que d novos valores a esses atributos.
Ex: A taxa de juros aumentou e o saldo de todas as contas aumentou 5%.
conta

(conta)

nome_agencia, numero_conta, saldo saldo * 1.05

Ex: As contas com saldo acima de 2500 recebem 10%, e os demais 5%.

conta

nome_agencia, numero_conta, saldo saldo * 1.1

nome_agencia, numero_conta, saldo saldo * 1.05

saldo > 2500

saldo <= 2500

(conta))

(conta))

Você também pode gostar