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

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

Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo

Apresentações semelhantes


Apresentação em tema: "Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo"— Transcrição da apresentação:

1 Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo http://inf.ufrgs.br/~vbuaraujo/

2 Banco de dados ● Modelo relacional – mais usado ● Baseado no conceito matemático de relações ● Relações podem ser expressas como tabelas ● Chave primária: identifica uma coluna de maneira única na tabela ● Chave estrangeira: relação com uma linha em outra tabela

3 Modelo categorial ● Coluna com chave estrangeira pode ser vista como uma seta para outra tabela

4 Modelo categorial ● Coluna com chave estrangeira pode ser vista como uma seta para outra tabela ● Domínio pode ser visto como uma tabela com todos os valores possíveis

5 Modelo categorial ● Coluna com chave estrangeira pode ser vista como uma seta para outra tabela ● Domínio pode ser visto como uma tabela com todos os valores possíveis ● Assim, toda coluna pode ser vista como uma seta ● Mas como identificar cada linha em uma tabela?

6 Modelo categorial ● Coluna com chave estrangeira pode ser vista como uma seta para outra tabela ● Domínio pode ser visto como uma tabela com todos os valores possíveis ● Assim, toda coluna pode ser vista como uma seta ● Mas como identificar cada linha em uma tabela? ● Tabela Unit: similar ao conjunto unitário

7 Cidade inc' Operações sobre tabelas ● Seleção: apenas linhas da tabela que contém um valor específico ● Ex.: Apenas pessoas cuja cidade seja "Porto Alegre" ● Um tipo de restrição ● Modelável com produto fibrado Strings Pessoas Strings': {"Porto Alegre"} Pessoas' Cidadeinc

8 AuthorBook Operações sobre tabelas ● Junção: junta tabelas por uma ou mais colunas ● Linhas da tabela resultante: ● Cada linha de A com cada linha de B que possui a coluna em comum ● Coluna pela qual se faz a junção aparece apenas uma única vez Integers Books Authors BooksAndAuthors AuthorCode ● Produto fibrado!

9 Modelo categorial vs. relacional ● Exemplo anterior simula modelo relacional ● Relações expressas por chaves primárias ● Para consultar o nome do autor de um livro: ● Junção de Books com Authors pela coluna AuthorCode ● Seleção do livro desejado ● Projeção do campo AuthorName Books Authors ● Modelo categorial: relações são setas ● Setas são componíveis! Author Strings AuthorName

10 Alterações no banco de dados ● Modelo relacional provê operações para manipulação de tabelas ● Solução categorial: gramáticas ● Não possui o conceito de alterar uma tabela ● Implementações provêem operações de inserção/alteração/exclusão próprias ● Não há consenso, não há modelo matemático bem definido ● Permitem modelar alterações de estado ● Modelo matemático preciso aplicação LHS Tabela RHS Tabela modificada instanciação produção (soma amalgamada)

11 Alterações no banco de dados – exemplo

12 Conclusão ● É possível modelar bancos de dados usando Teoria das Categorias ● Modelo é capaz de representar alterações de estado ● Modelo resultante é preciso e expressivo ● Permite realizar todas as operações do modelo relacional ● Algumas operações são mais simples no modelo categorial ● Modelo matemático preciso, independente da implementação usada ● Possíveis desenvolvimentos: ● Definir e implementar um sistema de banco de dados categorial ● Definir uma linguagem de consultas baseada no modelo ("SQL categorial")


Carregar ppt "Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo"

Apresentações semelhantes


Anúncios Google