Algebra relacional

Disponível somente no TrabalhosFeitos
  • Páginas : 13 (3248 palavras )
  • Download(s) : 0
  • Publicado : 27 de fevereiro de 2013
Ler documento completo
Amostra do texto
INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação

BANCO DE DADOS aula 6 – álgebra relacional -

professor: Juliano Varella de Carvalho

5.1. Álgebra Relacional – relações de exemplo
conta nome_agencia SAL-1 SAL-1 NOH-1 POA-1 POA-1 NOH-1 SAL-2 SAL-2 numero_conta 0001 0002 0003 0004 0005 0006 0007 0008 saldo 1200 3000 4500 4000 1500 200 3750 1800 agencia nome_agencia NOH-1SAL-1 POA-1 SAL-2 depositante nome_cliente João Pedro Francisco cliente nome João Pedro Francisco Maria Paulo José Ana Beatriz rua Getúlio Vargas Getúlio Vargas Olavo Bilac João Pessoa Cecília Meireles João Goulart Assis Brasil Floriano Peixoto cidade São Leopoldo São Leopoldo Novo Hamburgo Porto Alegre São Leopoldo Novo Hamburgo Porto alegre Novo Hamburgo devedor nome_cliente João Ana Helenaemprestimo nome_agencia SAL-1 POA-1 NOH-1 num_emprestimo E-001 E-005 E-008 total 40000 25400 5420 num_emprestimo E-001 E-005 E-008 Maria Paulo José Ana numero_conta 0001 0002 0003 0004 0007 0006 0005 cidade_agencia Novo Hamburgo São Leopoldo Porto Alegre São Leopoldo saldo 260050 455580 1250369 125588

5.2. Álgebra Relacional – conceitos
• Linguagens de Consulta: linguagem por meio da qual osusuários obtêm informações do banco de dados. Podem ser: - procedurais: o usuário descreve uma seqüência de operações para obter o resultado desejado; Ex: pascal, pl-sql, transact-sql, etc. - não procedurais: o usuário descreve a informação desejada, sem instruir como esta será obtida. Ex: sql, QBE (Query by example), etc. • Álgebra Relacional: linguagem de consulta que consiste em um conjunto deoperações, tendo como entrada uma ou duas relações e produzindo como resultado uma nova relação. Operações mais importantes: select; project; Union; namely natural join assignment; set difference; cartesian product; rename; set intersection; division;

- Operações primárias: operam sobre uma única relação: select, project, rename. - Operações binárias: operam sobre duas relações: union, setdifference, cartesian product.

5.3. Álgebra Relacional – operações fundamentais
• Operação SELECT: seleciona as tuplas que satisfaçam um determinado predicado. A letra sigma representa a seleção, o predicado aparece subscrito a sigma, e a relação utilizada é colocada entre parênteses. Ex: σnome_agencia = “SAL-1”(conta) : seleciona as tuplas da relação conta cuja agência é igual a “SAL-1”.
nome_agencianumero_conta 0001 0002 saldo 1200 3000 SAL-1 SAL-1

O resultado da seleção é

- podem ser usados comparações do tipo: =,≠,≥,>,≤,< e os conectivos: ∧ (e) ∨ (ou) • Operação PROJECT: denotada pela letra grega pi (π), esta operação retorna a relação com somente os atributos selecionados, eliminando as linhas em duplicidade. Os atributos aparecem ao lado de pi, subscrito, e a relação aparece entreparênteses.

Ex: πnome_agência,saldo(agencia)
nome_agencia NOH-1 SAL-1 POA-1 SAL-2 cidade_agencia Novo Hamburgo São Leopoldo Porto Alegre São Leopoldo saldo 260050 455580 1250369 125588 agencia nome_agencia NOH-1 SAL-1 POA-1 SAL-2 saldo 260050 455580 1250369 125588

5.3. Álgebra Relacional – operações fundamentais
- Juntando operações SELECT E PROJECT: pode-se unir operações desde que elastratem de relações. πnome_agencia,saldo(σnome_agencia = “SAL-1”(conta) )
conta nome_agencia SAL-1 SAL-1 NOH-1 POA-1 POA-1 NOH-1 SAL-2 numero_conta 0001 0002 0003 0004 0005 0006 0007 saldo 1200 3000 4500 4000 1500 200 3750 nome_agencia SAL-1 SAL-1 numero_conta 0001 0002 saldo 1200 3000 nome_agencia SAL-1 SAL-1 saldo 1200 3000

• Operação UNION: considere a seguinte consulta: selecionar todos osnomes de clientes que tenham um empréstimo, uma conta ou ambos. Deve-se utilizar as relações “depositante” e “devedor”.

πnome_cliente(devedor) ∪ πnome_cliente(depositante)
(depositante) (estão nas 2 relações) (devedor)

nome_cliente João Pedro Francisco Maria Paulo José Ana Helena

5.3. Álgebra Relacional – operações fundamentais
- Uma operação UNION entre duas relações “r” e “s” só...
tracking img