Este repositório tem como objetivo principal demonstrar conceitos teóricos e nomeclaturas do modelo de banco de dados relacional, além de possuir alguns exemplos simples e explicativos de comandos em PostgreSQL.
O modelo relacional, criado por Edgar Frank Codd em 1970, utiliza como principio o uso de tabelas para armazenamento de dados. O modelo se centra em dois conceitos: entidade e relação.
- Uma entidade é um elemento com caracteristicas informadas na tabela. Na medida em que valores são atribuidos para uma entidade, a contrução da tabela é feita.
- A relação determina como os registros e informações de uma tabela se associam com os de outras tabelas.
Diversas implementações foram aplicadas usando o modelo relacional como base, dentre elas podemos citar MySQL, Firebird, PostgreSQL, Oracle Database, SQL Server e diversos outros.
A linguagem padrão do banco de dados relacional é o SQL, sigla para Structured Query Language (Linguagem de Consulta Estruturada). A linguagem SQL possui diversos subconjuntos, cada um com diferentes comandos para realizar operações especificas. Os subconjuntos são:
Subconjunto responsável por realizar inserções, atualizações e exclusões no banco de dados. Seus comandos são:
- INSERT: usado para inserir um registro de uma tabela.
- UPDATE: usado para alterar/atualizar dados especificos de uma tabela.
- DELETE: usado para remover linhas/elementos de uma tabela.
Subconjunto responsável por criar tabelas, schemas e elementos. Seus comandos sâo:
- CREATE: cria um objeto para o banco de dados.
- DROP: deleta um objeto do banco de dados.
Subconjunto resposável por efetuar transações (podem ser de gerenciamento) dentro do bano de dados. Seus comandos sâo:
- BEGIN: inicia qualquer transação.
- COMMIT: finaliza uma transação.
- ROLLBACK: descarta mudanças feitas desde o último COMMIT ou ROLLBACK.
Subconjunto mais utilizado, por permite fazer consultar dentro de banco de dados utilizando o SELECT, que em sua construção permite elaborar uma Query mais elaborada. A estrutura primária da DQL é formada por:
- SELECT coluna(s) FROM table;
Entretando, podemos complementar a Query de diversas maneiras, para obter uma lista completa, você pode conferir a documentação do seu provedor.
Dentre as principais vantagens do modelo relacional, podemos destacar:
- Suporte de negócios: manter o funcionamente de uma empresa (e.g.: tabela de folha de pagamento)
- Controle de transações: incluir, excluir, alterar e consultar
- Manter integridade: manter dados atuais (e.g.: cliente que pagou é excluido da lista de devedores)
- Reduzir redundância: atributos bem definidos para evitar repetição (e.g: cliente com endereços diferentes)
- Acesso concorrente: acesso de multiplos usuários sem haver perda de restrições e/ou performance
Entretando, o modelo relacional não é indicado para aplicações:
- Analíticas
- Que exigam alta escalabilidade
- Que Necessitem redundância de dados
ACID é uma conceito geral sobre quatro propriedades de transação de um sistema de banco de dados: Atomicidade, Consistência, Isolamento e Durabilidade.
EM BREVE / COMING SOON...