Álgebra relacional
- 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 de operações, tendo como entrada uma ou duas relações e produzindo como resultado uma nova relação.
Operações mais importantes:
- select; - set difference;
- project; - cartesian product;
- Union; - rename;
- namely - set intersection;
- natural join - division;
- assignment;
- Operações primárias: operam sobre uma única relação: select, project, rename.
- Operações binárias: operam sobre duas relações: union, set difference, cartesian product. 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 entre parênteses.
3000 0002 SAL-1
1200 0001 SAL-1 saldo numero_conta nome_agencia
125588 São Leopoldo SAL-2
1250369 Porto Alegre POA-1
455580 São Leopoldo SAL-1
260050 Novo Hamburgo NOH-1 saldo cidade_agencia nome_agencia agencia
Ex: πnome_agência,saldo(agencia)
125588 SAL-2
1250369 POA-1
455580 SAL-1
260050 NOH-1 saldo nome_agencia
• 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”.
- Juntando operações SELECT E PROJECT: pode-se unir