quarta-feira, 18 de novembro de 2009

Álgebra Relacional

1) Quantos e Quais são os grupos nos quais a álgebra relacional está dividida? Identifique quais operações pertencem a cada um deles.

As operações da álgebra relacional são normalmente divididas em dois grupos. O primeiro deles inclui um conjunto de operações da teoria de conjuntos. As operações são UNION, INTERSECTION, DIFFERENCE e CARTESIAN PRODUCT. O segundo grupo consiste de operações desenvolvidas especificamente para bases de dados relacionais, tais como: SELECT, PROJECT e JOIN entre outras.
2) Explique a Operação SELECT e PROJECT. Quando usar, Para que usar, Como usar, diferenças, etc.
A operação SELECT é usada para selecionar um subconjunto de tuplas de uma relação. Estas tuplas devem satisfazer uma condição de seleção. O operador SELECT é unário; isto é, ele é aplicado somente a uma relação. Assim, o SELECTnão pode ser usado para selecionar tuplas de mais de uma relação. Note-se também que a operação de seleção é aplicada individualmente para cada tupla. Assim, as condições de seleção não podem ser aplicadas a mais que uma tupla. O grau da relação resultante é a mesma que a relação original. O número de tuplas da relação resultante é sempre menor ou igual ao número de tuplas da relação original.
Pensando na relação como uma tabela, então o operador SELECT seleciona algumas linhas da tabela enquanto descarta outras. O operador PROJECT, por outro lado, seleciona certas colunas da tabela e descarta outras. Se existir o interesse sobre certos atributos da relação, pode-se usar o PROJECT para “projetar” a relação sobre esses atributos. Por exemplo, suponha a necessidade de listar, para cada empregado, os atributos PNOME, SNOME e SALÁRIO; então pode-se usar o PROJECT como segue:SNOME, PNOME, SALÁRIO (EMPREGADO).
3) Explique a Operação UNION, INTERSECTION e DIFFERENCE. Quando usar, Para que usar, Como usar, etc.
União (UNION): R U S.
É outra relação Z que Inclui todas as tuplas da relação R e em S, ou em ambas, mas elimina as tuplas repetidas. Utilizar a operação união gera muitas vantagens e economiza muitas linhas de programação, essa operação permite reunir várias consultas num só resultado.
Intersecção (INTERSECTION): R ∩ S.
É outra relação Z que inclui todas as tuplas que estão em ambas às relações R e S. É importante salientar que a diferença entre a primeira e segunda relação não é o mesmo do inverso, ou seja, da segunda pela primeira. Com isso podemos dizer que a operação de diferença não é comutativa.
Diferença (DIFFERENCE): R - S
É outra relação Z que inclui todas as tuplas de R, mas não em S
Note que as operações UNION e INTERSECTION são operações comutativas:
R U (S U T) = (R U S) U T, e
R∩ (S ∩ T) = (R ∩ S) ∩ T.
A operação DIFFERENCE não é comutativa:
R - S
≠ S - R.
4) Explique a Operação CARTESIAN PRODUCT. Quando usar, Para que usar, Como usar, etc.

A operação CARTESIAN PRODUCT, denotada por x, é também uma operação de conjunto binária, mas as relações sobre as quais são aplicadas não necessitam ser união compatível.
Esta operação é usada para combinar tuplas de duas relações tal que tuplas relacionadas possam ser identificadas.
Em geral, o resultado de R(A1, A2, ..., An) x S(B1, B2, ..., Bm) é a relação Q com n + m atributos Q(A1, A2, ..., An, B1, B2, ..., Bm) nesta ordem. A relação resultante Q tem uma tupla para cada combinação de tuplas. Assim, se R tem nR tuplas e S tem nS tuplas, então RxS terá nR*nS tuplas. Para ilustrar, considere que se deseja recuperar para cada empregado do sexo feminino uma lista de nomes de seus dependentes.
5) Explique as Operações de junção (JOIN) e divisão (DIVISION). Quando usar, Para que usar, Como usar, etc.
Operação de Junção (JOIN)

A operação de junção é utilizada para combinar tuplas de duas relações partindo dos atributos comuns a ambas. O resultado conterá as colunas das duas relações que estão participando da junção. Esta operação é de extrema importância em bancos de dados relacionais, pois é através dela que nos é permitido fazer relacionamento. Representação gráfica: Simbologia: x Sintaxe: (Relação 1) x (Relação 2) Obs.: Uma condição de junção pode ser formada por mais de uma condição simples, apenas aplicando os operadores relacionais AND ou OR.
Operação de Divisão ( DIVISION)
É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se relacionam com todos os elementos da segunda relação. Não é um operador primitivo, mas pode ter o resultado obtido por uma combinação de operadores primitivos. Representação gráfica: Símbologia: ÷ Sintaxe: (Relação 1) ÷ (Relação 2) .
6-)Explique as Operações de AGREGAÇÃO. Quando usar, Para que usar, Como usar, etc.

Agregação: As funções de agregação operam em conjunto de linhas, de modo que fornecem um resultado por grupo (tabela ou parte da tabela). O operador de agrupamento reune as tuplas em grupos sobre os quais podem ser aplicadas funções agregadas. As funções de agregação mais comuns são SOMA (SUM), MÉDIA(AVG), MÁXIMO(MAX), MÍNIMO(MIN) e CONTAR(COUNT).
Exemplos: Considerando a relação: R1 (C1, C2,C3), o agrupamento pode ser aplicado da seguinte maneira: C1 ? C1, SUM(C2) (R1) Expressão a ser resolvida conforme os passos a seguir: As tuplas da relação R1 são particionadas em grupos, conforme o valor de C1. Ou seja, as tuplas que possuírem o mesmo valor em C1 serão reunidas em um grupo. Caso não exista coluna informada na lista de colunas agrupadoras, apenas um grupo com todas as tuplas da relação é formado. Para cada grupo, uma nova tupla é produzida. Caso nenhuma coluna projetada ou função tenha sido informada, a tupla será composta apenas pelos valores resultantes do agrupamento. Caso contrário, a nova tupla será composta por: As colunas projetadas. A aplicação das funções agrupadoras ao grupo. No exemplo, para cada grupo, a coluna C2 será somada, produzindo o valor da nova tupla. Outros exemplos: C3 ? (R1) Produz uma nova relação agrupando os valores da coluna C3. ? MAX(C3) (R1) Produz uma nova relação com apenas uma tupla, contendo o maior valor da coluna C3. C1 ? C1, SUM(C3)->SOMA (R1) Produz uma nova relação a partir do agrupamento das tuplas a partir da coluna C1, contento a coluna C1 e o resultado da soma da coluna C3 renomeado para SOMA.

Nenhum comentário:

Postar um comentário