Sem resumo de edição |
Sem resumo de edição |
||
| Linha 19: | Linha 19: | ||
|} | |} | ||
Os relacionamentos entre as relações aparecem de forma implícita, há um elo na forma de ocorrência de valores comparáveis nos domínios de duas relações. | Os relacionamentos entre as relações aparecem de forma implícita, há um elo na forma de ocorrência de valores comparáveis nos domínios de duas relações. Por exemplo, o relacionamento entre a relação Alunos e a relação Pesquisa mostrada a seguir se dá pela ocorrência do campo aluno que representa o id-aluno. | ||
:''Pesquisa'' (''orientador:'' string, ''nome-pesquisa:'' string, ''aluno:'' string) | |||
{| class="wikitable" | |||
|- | |||
!''orientador''!!''nome-pesquisa''!!''aluno'' | |||
|- | |||
!158429!!Redes!!5673 | |||
|- | |||
!124379!!Banco de Dados!!6576 | |||
|- | |||
!108319!!Engenharia de Software!!7583 | |||
|} | |||
A álgebra relacional é um formalismo usado para a manipulação de um banco de dados relacional. Ela é composta de oito operações: união, interseção, diferença, produto cartesiano, projeção, restrição, junção e divisão. Essas operações são usadas na SQL, que é uma linguagem desenvolvida para a manipulação de bancos de dados relacionais. | A álgebra relacional é um formalismo usado para a manipulação de um banco de dados relacional. Ela é composta de oito operações: união, interseção, diferença, produto cartesiano, projeção, restrição, junção e divisão. Essas operações são usadas na SQL, que é uma linguagem desenvolvida para a manipulação de bancos de dados relacionais. | ||
Edição das 17h20min de 14 de agosto de 2013
O Modelo Relacional foi proposto em 1970 por Edgar Codd. Esse modelo superou os dois modelos mais usados na época, o modelo de redes e o modelo hierárquico, pelas suas características que o tornavam simples e de fácil entendimento e pela fundamentação teórica através da álgebra relacional, também definida por Codd. Por isso o modelo relacional é o mais usado hoje para a construção de sistemas de gerenciamento de banco de dados.
No modelo relacional, um banco de dados é representado por uma coleção de relações. Cada relação possui um esquema, onde é especificado seu nome, o nome de cada campo ou atributo e o domínio de cada campo. Uma relação por sua vez pode ser vista como uma tabela bidimensional, onde as colunas representam os atributos e as linhas representam as tuplas da relação. Podemos enxergar isso com uma ilustração de uma esquema a seguir:
- Alunos (id-aluno: string, nome: string, idade: integer)
Nesse esquema denominado Alunos existem três campos, o id-aluno no domínio string, o nome no domínio string e o idade no domínio integer. As tuplas representam a instância da relação. Podemos ver um exemplo de instância da relação Alunos a seguir:
| id-aluno | nome | idade |
|---|---|---|
| 5673 | Eduardo | 22 |
| 6576 | Artur | 24 |
| 7583 | Fernando | 19 |
Os relacionamentos entre as relações aparecem de forma implícita, há um elo na forma de ocorrência de valores comparáveis nos domínios de duas relações. Por exemplo, o relacionamento entre a relação Alunos e a relação Pesquisa mostrada a seguir se dá pela ocorrência do campo aluno que representa o id-aluno.
- Pesquisa (orientador: string, nome-pesquisa: string, aluno: string)
| orientador | nome-pesquisa | aluno |
|---|---|---|
| 158429 | Redes | 5673 |
| 124379 | Banco de Dados | 6576 |
| 108319 | Engenharia de Software | 7583 |
A álgebra relacional é um formalismo usado para a manipulação de um banco de dados relacional. Ela é composta de oito operações: união, interseção, diferença, produto cartesiano, projeção, restrição, junção e divisão. Essas operações são usadas na SQL, que é uma linguagem desenvolvida para a manipulação de bancos de dados relacionais.
Justamente por descrever um banco de dados através de conceitos matemáticos simples de bem conhecidos, o modelo é de fácil entendimento. Podemos notar facilmente a correspondência entre as terminologias do modelo relacional com a computação: uma relação é um arquivo, uma tupla é um registro evalores de domínios são valores de itens.
Pelos elos entre as relações não serem explícitos, a forma de representar relações como tabelas do modelo relacional não é suficiente para uma implementação eficiente de um SGBD, pois o acesso por relacionamento é convertido em acesso por valor, ou seja, para uma relação a percorreríamos serialmente e para cada tupla tomaríamos o valor no domínio do campo desejado e procuraríamos na relação que esse campo representa uma tupla que possua o mesmo valor do campo.
Outros aspecto é a normalização das relações. Existem várias formas normais definidas para o modelo relacional, e dependendo da forma aplicada uma relação teria seu número de tuplas aumentado ou seria dividida em outras três relações, com uma relação representando o elo entre as outras duas. Isso faz com que o modelo ocupe mais espaço para armazenamento.