Skip to content

Algebra Relacional

Introdução

A álgebra relacional é uma linguagem formal utilizada para manipular e consultar dados em bancos de dados relacionais. Ela fornece um conjunto de operações básicas, como seleção, projeção, união, diferença, produto cartesiano e junção, que permitem extrair e combinar dados de tabelas de forma precisa e matemática. Essas operações são fundamentais para a execução de consultas em SQL, pois definem como os dados devem ser filtrados, transformados e combinados para produzir os resultados desejados. A álgebra relacional serve como base teórica para a implementação e otimização de sistemas de gerenciamento de bancos de dados (SGBDs).

Consultas

Algumas consultas realizadas no projeto:

Consulta ao banco de dados

1. Listar todos os mundos

π ∗ ​(Mundo)

2. Listar todas as regiões e seus respectivos mundos

πRegiao.nome,Mundo.nome​(σRegiao.id_mundo=Mundo.id_mundo​(Regiao×Mundo))

3. Detalhes de um personagem específico


π∗​(σid_personagem=valor_especifico​(Personagem))

4. Selecionar jogadores registrados:

πnome​(Personagem)

5. Selecionar Missão do jogador:

πnome​(σid_missao=valor_especifico​(Missao))

6. Consultar Vida do jogador:


πvida​(σid=valor_especifico​(Personagem))

7. Consultar salas conectadas a partir do personagem:


πid_sala_destino,direcao,descricao_conexao​(σPC.id_sala=Conexao.id_sala_origem​(PC⋈Conexao))

8. Quantidade de Inimigos na sala


γCOUNT(id_instancia)​(σid_sala=(πid_sala​(σid_pc=valor_especıˊfico​(Personagem)))​(InstanciaInimigo))

9. Atualizar o resultado do combate


Atualizar Combate.resultado para "venceu" onde Combate.id_combate=valor_especifico.

10. Consultar o total gasto em transações de venda


  γSUM(Valor)​(σtipo=′venda′​(Transacao))

11. Atualizar status de combate do chefe


  Atualizar Chefe.combat_status para "confuso" onde Chefe.id_personagem=valor_especıˊfico.

12. Listar todos os itens do inventário do personagem


  πInstancia_item​(σid_inventario=(πid_personagem​(σid=valor_especıˊfico​(PC)))​(Inventario))

13. Listar todos os itens de um bau


  πitens​(σid_bau=valor_especıˊfico​(Bau))

14. Listar missões pendentes do personagem


πPC.nome,MissaoPrincipal.nome​((MissaoPrincipal⋈MissoesRealizadas)⋈PC)

15. Missões que trazem mais recompensas


πnome,qnt_xp,descricao​(τqnt_xp DESC​(Missao))[:5]


Histórico de Versão

Versão Data Descrição Autor(es)
1.0 12/01/2024 Primeira versão da Algebra_relacional Márcio Henrique