A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof.: Bruno Rafael de Oliveira Rodrigues

Apresentações semelhantes


Apresentação em tema: "Prof.: Bruno Rafael de Oliveira Rodrigues"— Transcrição da apresentação:

1 Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues

2 O que vai ser estudado neste período?
Em banco de dados 1 foi visto os conceitos básicos de banco de dados e como realizar a modelagem dos projetos de Banco de Dados. Em banco de dados 2 será trabalhado diretamente com o banco de dados, usando-se dos conceitos para criar um banco de dados, inserir, remover, alterar, dados. Além de usar técnicas de consultas.

3 Linguagens de Consulta: linguagem por meio da qual os usuá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; - não procedurais: o usuário descreve a informação desejada, sem instruir como esta será obtida.

4 A Álgebra Relacional é uma coleção de
operações utilizadas para manipular relações.

5 As operações relacionais são divididas normalmente em dois grupos:
- operações da teoria matemática dos conjuntos: união, interseção, diferença e produto cartesiano; - operações desenvolvidas especificamente para bancos de dados relacionais: seleção, projeção, junção e funções agregadas.

6 A operação SELEÇÃO (SELECT)
A operação seleção, representada pela letra σ (sigma), seleciona um subconjunto de tuplas que satisfaça uma determinada condição de seleção. Em geral, a operação SELECT é denotada por: σ <condição de seleção> (<nome da relação>) Exemplos: a) σ SALÁRIO > 3000 (EMPREGADO) b) σ (NDEP = 4 AND SALÁRIO > 2500) OR (NDEP = 5 AND SALÁRIO > 3000) (EMPREGADO)

7 Operação PROJEÇÃO (PROJECT)
Denotada pela letra grega pi (π), esta operação retorna a relação com somente os atributos selecionados, eliminando as linhas em duplicidade. Sintaxe: π<lista de atributos>(<nome da relação>) Exemplo: π SNOME, PNOME, SALÁRIO (EMPREGADO)

8 Juntando operações SELECT E PROJECT: pode-se unir operações desde que elas tratem de relações.
Exemplo: Deseja-se recuperar o primeiro nome, o último nome e o salário de todos os empregados que trabalham no departamento 5. Isto pode ser feito aplicando-se os operadores SELECT e PROJECT: π PNOME, SNOME, SALÁRIO (σ NDEP=5 (EMPREGADO))

9

10 A Operação União (UNION)
É denotada por R ∪ S e tem como resultado uma relação que inclui todas as tuplas que estão em R ou em S ou em ambas. As tuplas duplicadas são eliminadas.

11 Exemplo: Considere a seguinte consulta: selecionar todos os nomes 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)

12 A operação Interseção (INTERSECTION)
É denotada por R ∩ S e tem como resultado uma relação que inclui todas as tuplas que estão em ambas R e S.

13 Exemplo: Selecionar os nomes de clientes que possuem uma conta e um empréstimo. πnome_cliente(devedor) ∩ πnome_cliente(depositante)

14 A operação Diferença (DIFFERENCE)
É denotada por R – S e tem como resultado uma relação que inclui todas as tuplas que estão em R, mas não estão em S. A operação diferença não é comutativa. Observe que, em geral, R-S <> S-R. Exemplo: Selecionar todos os clientes que tem conta mas não tem empréstimo. πnome_cliente(depositante) - πnome_cliente(devedor)

15 A operação Produto Cartesiano
Esta operação é usada para combinar tuplas de duas relações tal que tuplas relacionadas possam ser identificadas. O CARTESIAN PRODUCT cria tuplas com atributos combinados de duas relações. Pode-se então selecionar apenas as tuplas que estejam relacionadas especificando uma condição de seleção apropriada. Ou seja, permite combinar informações de duas relações quaisquer. Representado por “r x s”.

16 Exemplo Qual o produto cartesiano entre as relações 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 relação antes do atributo: (nome_cliente, devedor.num_emprestimo, nome_agencia, emprestimo.num_emprestimo, total)

17

18 A operação Junção (JOIN)
Denotada por ⌧, é usada para combinar tuplas relacionadas de relações em uma única tupla. A junção natural forma um produto cartesiano das duas relações, e já executa uma seleção, fazendo a equivalência dos atributos que aparecem em ambos os esquemas da relação, e por último, remove os atributos em duplicidade

19 Exemplo: Encontrar todos os nomes de clientes que tenham um empréstimo no banco, bem como o total emprestado. Utilizando apenas as operações fundamentais, poderia ser resolvido assim: πnome_cliente, emprestimo.num_emprestimo, total(σ devedor.num_emprestimo = emprestimo.num_emprestimo(devedor x emprestimo)) Usando o Join: πnome_cliente, num_emprestimo total(devedor⌧ emprestimo)

20 Operações de Divisão A divisão de duas relações R ÷ S, onde os atributos de S estão contidos nos atributos de R, A(R) ⊆ A(S), resulta na relação 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 operação é utilizada nas consultas em que se emprega a frase “para todos”. Exemplo: πnome_cliente, nome_agencia(depositante ⌧ conta) ÷ πnome_agencia(σcidade_agencia = “Pirapora”(agencia))

21 Operações adicionais Representada por ← - Atribui-se a relação resultante de uma operação à direita de ←, a uma variável temporária, à esquerda, a qual poderá ser utilizada em relações subsequentes. operação de divisão anterior poderia ser descrita como: temp1 ← πnome_agencia(σcidade_agencia = “São Leopoldo”(agencia)) temp2 ← πnome_cliente, nome_agencia(depositante conta) resultado ← temp2 ÷ temp1

22 Funções Agregadas São funções matemáticas sobre coleções de valores do banco de dados, como soma, média, máximo, mínimo e contagem (de tuplas).

23 Faça: 1. Compare a álgebra relacional e a teoria dos conjuntos matemática. Em que elas se assemelham? Em que diferem? 2. Discuta algumas das consultas em que seja necessário renomear atributos a fim de especificar consultas não ambíguas.


Carregar ppt "Prof.: Bruno Rafael de Oliveira Rodrigues"

Apresentações semelhantes


Anúncios Google