Hoje vou falar sobre Algebra Relacional , focando no conceito juntamente com a sua historia no meio da ciencias da computacao, algebra relacional e uma derivacao descendente da logica de primeira ordem (LPO) e da algebra de conjuntos em relacao das operacoes sobre a relacao finitimo, que auxilia o trabalho ao identificar os componentes de uma tupla por nome (chamado o atributo) ao inves de uma coluna de chaves numericas, o qual e chamado a relacao na terminologia de banco de dados.A principal aplicacao da algebra relacional e sustentar a fundamentacao teorica de banco de dados relacional, particularmente linguagem de consulta para tais bancos de dados, entre os maiores o SQL.A algebra relacional recebia pouca atencao fora do campo da matematica pura ate a publicacao em 1970 do modelo relacional de dados de E.F. Codd. Codd propos tal algebra como a base das linguagens de consulta de banco de dados.Na algebra relacional, sao admitidas ambas perspectivas de dar um nome ou nao, dependendo se as tuplas sao dotadas de nome de componente ou nao. Na perspectiva sem nome, a tupla e simplesmente um membro de um produto cartesiano. Na perspectiva da tupla ter um nome de componente, tuplas sao funcoes do conjunto finito de atributos U (da relacao) a um dominio de valores (assumidos distintos dos de U). As algebras relacionais obtidas das duas perspectivas sao equivalentes.Tambem a algebra relacional e equivalente em poder expressivo a calculo relacional (e por conseguinte logica de predicado ou primeira ordem); esse resultado e conhecido como o teorema de Codd. Na pratica, deve ser prestada atencao em desambiguar as duas linguagens porque a negacao quando aplicada a uma formula em calculo, faz a construcao da formula que pode ser verdadeira ou um conjunto infinito de tuplas, enquanto o operador diferenca na algebra relacional devolve sempre um resultado finito.Para ultrapassar estas dificuldades, Codd restringiu os operando da algebra relacional somente para relacao finita e propos suporte restrito para a negacao (NOT) e a disjuncao (OR). Restricoes analogas sao encontradas em muitas outras linguagens de programacao logicas. Codd definiu o termo completeza relacional para se referir a uma linguagem que esta completa em respeito a calculo de logica da primeira ordem a parte com as restricoes que ele propunha. Na pratica as restricoes tem um efeito adverso na aplicabilidade da sua algebra relacional para usos de banco de dados.Definimos assim a algebra relacional como uma linguagem de consulta formal i.e. uma colecao de operacoes de alto nivel sobre relacoes ou conjuntos.As operacoes em questao sao: RestricaoSelecaoProjecaoProdutoUniaoIntercessaoDiferencaJuncaoDividirDe facto, dos oito, so 5 sao primitivos, nomeadamente restricao, projecao, produto, uniao, e diferenca. Os outros tres podem ser definidos destes cinco. Todas essas operacoes produzem uma nova relacao como seu resultado.Bom e isto ai, em breve postarei mais sobre Algebra Relacional com alguns exemplos de algumas operacoes para ficar de mais facil entendimento. Hoje vamos falar um pouco desta diferenca entre MyISAM e InnoDB.Bom o MySQL e um banco de dados relacional bem divulgado pois ele tem uma excelente parceria da linguagem web PHP (Mysql + PHP) vem dando certo ha