Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEdison Deluca Bennert Alterado mais de 7 anos atrás
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
3
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
4
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
5
Modelo categorial ● Coluna com chave estrangeira pode ser vista como uma seta para outra 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
7
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?
8
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
9
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"} Cidadeinc
10
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
11
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 AuthorCode ● Produto fibrado!
12
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!
13
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
14
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
15
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
16
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)
17
Alterações no banco de dados – exemplo
19
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")
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.